Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3253 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  addition de champs sous VB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

addition de champs sous VB

n°1841851
eglantine ​cent
Posté le 22-01-2009 à 23:38:59  profilanswer
 

bonjour
j'utilise une base access et par une macro VB je realise un traitement des données et je bute sur un probleme d'addition de champ
ma table ANALYSE est composée entre autres des champs   MINA MINB MINC MIND MINE  chacun de valeur  1 ou 0 (champs numeriques)
et je souhaite tout simplement additionner ces valeurs et porter le total dans le champ TOTALMIN
 
je suis completement bloquée alors que ca me parait tres simple
 
merci de votre aide

mood
Publicité
Posté le 22-01-2009 à 23:38:59  profilanswer
 

n°1841871
LePhasme
Les Belges domineront le monde
Posté le 22-01-2009 à 23:59:25  profilanswer
 

la solution la plus simple ça peut être de fair un
Select mina, minb, minc, mind,mine from analyse
 
tu additionne les 5 champs récupéré avec le vb et puis tu fais update analyse set totalmin = ta_valeur


---------------
Instagram - Mon PVT en Australie.
n°1841904
eglantine ​cent
Posté le 23-01-2009 à 09:35:33  profilanswer
 

en pratique tu écris ça comment ?
ca ne fais que quelques jours que je connais le VB
merci de ta repose

n°1841997
LePhasme
Les Belges domineront le monde
Posté le 23-01-2009 à 13:38:47  profilanswer
 

En gros :

Code :
  1. Sub SelectX1()
  2.  
  3.    Dim dbs As Database, rst As Recordset
  4.    Dim somme as integer
  5.    Set dbs = OpenDatabase("tabaseaccess.mdb" )
  6.  
  7.    Set rst = dbs.OpenRecordset("SELECT mina, minb,minc,mind,mine from analyse;" )
  8.  
  9.    rst.Movefirst
  10.    somme = rst("mina" ) + rst("minb" ) + rst("minc" ) + rst("mind" ) + rst("mine" )
  11.    dbs.execute("update table analyse set totalmin = " & somme & " ;" )
  12.  
  13.    dbs.Close
  14.  
  15. End Sub
 

Ca donnera a peu près ça, je peux pas le tester donc il y a peut-être des erreurs dedans...
Je te conseille de lire des tutoriaux sur le VB tu en trouveras plusieurs ici : http://vb.developpez.com/cours/

Message cité 1 fois
Message édité par LePhasme le 23-01-2009 à 13:39:06

---------------
Instagram - Mon PVT en Australie.
n°1842401
eglantine ​cent
Posté le 24-01-2009 à 10:23:18  profilanswer
 

je te remercie de ta reponse  
la procedure bute et j'ai eu differents message
" ne trouve pas la base" " Null..." "..incompatible.."
est ce que ce ne serait pas une erreur de definition de base ?
 
j'ai commence les autres sub par
 
Sub total
  Dim MaBase
  Set MaBase = CurrentDb()
  Set basetravail = MaBase.OpenRecordset("ANALYSE" ) '  c'est la table  
  basetravail.MoveFirst
 
 
 
 
je finis par
  basetravail.Update
  basetravail.MoveNext
MsgBox("Traitement terminé" )
End Sub
 
peux tu incorporer ta réponse  la dedans ou autrement ?
merci  tu es super
Eglantine
 
 

n°1842512
eglantine ​cent
Posté le 24-01-2009 à 15:37:30  profilanswer
 

rebonjour
j'ai un probleme de compactage de ma base access
lorsque j'essai de la compacter un message me repond " TableSys....existe deja"  et je ne peux plus compacter cette copie de base meme ayant changé le nom !

n°1842543
LePhasme
Les Belges domineront le monde
Posté le 24-01-2009 à 17:00:50  profilanswer
 

Désolé j'utilise pas le compactage de base de données, je saurais pas t'aider.


---------------
Instagram - Mon PVT en Australie.
n°1842550
LePhasme
Les Belges domineront le monde
Posté le 24-01-2009 à 17:12:09  profilanswer
 
n°1842649
eglantine ​cent
Posté le 25-01-2009 à 01:57:36  profilanswer
 


 
j'ai réussi a débloquer pour le compactage, c'est tres lourd j'ai du recreer une nouvelle base pour pouvoir recompacter  
 
pour ce qui est plus haut , la réécriture du calcul des sommes peux tu m'indiquer l'écriture avec les indications des noms que j'utilise au début de la procédure Sub,  
merci tu es super

n°1842650
eglantine ​cent
Posté le 25-01-2009 à 01:59:58  profilanswer
 


 
j'ai réussi a débloquer pour le compactage, c'est tres lourd j'ai du recreer une nouvelle base pour pouvoir recompacter  
 
pour ce qui est plus haut , la réécriture du calcul des sommes peux tu m'indiquer l'écriture avec les indications des noms que j'utilise au début de la procédure Sub,  
merci tu es super
 
j'essaie d'incorporer un compteur qui indiquerai en temps réel l'enregistrement traité en cours car ce sont des traitements longs , sais tu le faire en l'incorporant dans la procédure ?

mood
Publicité
Posté le 25-01-2009 à 01:59:58  profilanswer
 

n°1842913
LePhasme
Les Belges domineront le monde
Posté le 25-01-2009 à 23:16:58  profilanswer
 

Code mis à jour ça ne fonctionne que pour un seul enregistrement dans la db

Code :
  1. Sub SelectX1()
  2.  
  3.    Dim dbs As Database, rst As Recordset
  4.    Dim somme as integer
  5.    Set dbs = currentDB()
  6.  
  7.    Set rst = dbs .OpenRecordset("ANALYSE" )
  8.  
  9.    rst.Movefirst
  10.    somme = rst("mina" ) + rst("minb" ) + rst("minc" ) + rst("mind" ) + rst("mine" )
  11.    rst("totalmin" ) = somme
  12.    rst.update
  13.    dbs.Close
  14.  
  15. End Sub



Message édité par LePhasme le 25-01-2009 à 23:17:58

---------------
Instagram - Mon PVT en Australie.
n°1845121
eglantine ​cent
Posté le 30-01-2009 à 11:15:10  profilanswer
 

lorsque je place ce sub  le programme bloque sur " Dim dbs as database "
que faire ?  

n°1845122
eglantine ​cent
Posté le 30-01-2009 à 11:19:08  profilanswer
 

une  2eme précision  
lorsque je construit une requete d' addition cad  mina + minb + minc  le programme tourne ,indique qu'il va mettre " tous" les champs a jour et rien ne s 'inscrit dans les cellules
déjà il et a jour "tous" les champs est curieux car d'habitude il n'indique " que les champs conernés  , mais de plus aucune valeur de somme ne s'inscrit.....bizarre   help

n°1845135
eglantine ​cent
Posté le 30-01-2009 à 11:31:32  profilanswer
 

en fait mon problème est simple   je veux pouvoir par une macro VB ou par une requête mettre a jour un champ avec la valeur de l'addition de plusieurs autre champs de la même table ( parfois j'ai des messages erreur de type , de conversion ....  quelle est la qualification des champs pour pouvoir travailler avec des valeurs simples de 0 à 20 sans décimales,sans texte,sans rien des nombres  SIMPLES  
ma base totale fait 100 M° et parfois il me répond " argument invalide " "pas assez de mémoire...voulez vous continuer .....impossible de mettre  jour....... erreur de conversion,de types...."

n°1845931
eglantine ​cent
Posté le 01-02-2009 à 23:54:30  profilanswer
 

une autre précision concernant l'addition des champs    les champs sont bien tous du même format vérifié n fois  ,   lorsque "  tous  "  les champs sont valorisés de 1 à   10 par ex   l'addition se fait , par contre lorsqu'un seul champ est vide aucun total n'apparait,  ni message    svp help


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  addition de champs sous VB

 

Sujets relatifs
[VB.NET] Connexion BDD Access ne se ferme pas apres vérificationsMenu sous VB 208 Express
order by sur 2 champs[VB.NET] personnaliser un bouton parcourir
programme en VB qui coinceProbleme Ecriture base de registre VB
Lister les différents champs d'un parametre d'une fonction. Possible ?Requette Select dans VB et ACCESS
[VB] utilisation d'une liste pour traiter des donnés[C# - VB.NET - SQL] arrondir un prix (sans virgule)!
Plus de sujets relatifs à : addition de champs sous VB


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR