cs_JeffC1977
Messages postés928Date d'inscriptionvendredi 10 novembre 2000StatutMembreDernière intervention23 septembre 2023
-
16 août 2005 à 18:40
Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 2015
-
17 août 2005 à 18:57
Salut...
Je ne comprend plus rien du Update dans ADO....
Voici mon problème....
Je fais un ajout dans ma base de données ACCESS et je fais un UPDATE. Jusqu'ici ca fonctionne....
Si je fais une recherche de cette enregistrement et que je veux faire une modification le update ne fonction pas. Il change aucune information. Je suis capable d'Uptader (de midifier) uniquement la première enregistrement (qui se retourve sur la première ligne de ma Base de Données ACCESS).
Pourquoi ca fais ca....
J'ai vu sur le forum cette suggestion " il faut faire un update pour mettre à jour la table avec une condition portant le numéro d'identifiant"
Qu'est ce que le numéro identifiant (la clée primaire?????) et il y avant un exemple de code...
Update Table Set (champ '" & tavaleur & "'") where condition '" & tacondition & "'"
Est ce que je doit prendre cette ligne de code ??????
Donc si mon recordset est BD
le champs est DOSSIER
le "Tavaleur" = txtRecherche
et je ne sais pas quelle condition je peux mettre...
neometaller
Messages postés28Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 5 juillet 2007 17 août 2005 à 09:23
Cette ligne : Update Table Set (champ = '" & tavaleur & "'") where condition = '" & tacondition & "'", c'est si tu veux passer par du SQL, mais perso avec Access et ADO, j'utilise des Recordset et ça fonctionne nickel...
Est-ce que tu te places sur le bon enregistrement avant modification ???
S'il s'agit d'updater toute la table, pas besoin de recordset :taconnexion.execute "UPDATE TaTable SET TonChampAModifier 'toto' WHERE TonChampAModifier 'titi'"
Avec cet exemple, tu remplaces 'toto' par 'titi' dans tous tes enregs.
Avec des variables texte ça donne :taconnexion.execute "UPDATE TaTable SET TonChampAModifier '" & var1 & "' WHERE TonChampAModifier '" & var2 & "'"
Avec des variables numériques ça donne :taconnexion.execute "UPDATE TaTable SET TonChampAModifier " & var1 & " WHERE TonChampAModifier " & var2
-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
Totoroyamada
Messages postés31Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention17 novembre 2005 17 août 2005 à 11:47
Ben visiblement (parce que je ne suis pas un grand habitué du forum)
quand quelqu'un poste un sujet, sur les réponses des gens y a un bouton
"Réponse acceptée" qu'il peut cliquer si la réponse lui convient, ce
qui a pour effet de mettre le message en vert comme on peut le voir
ici: http://forum.vbfrance.com/forum.v2.aspx?ID=537767#5 Ca permet
ensuite aux autres de voir tout de suite que la solution a été trouvée.
Le mien était un faux "Réponse acceptée", c'était juste histoire de
dire que tu avais répondu à ma question...
Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 201556 17 août 2005 à 13:44
bonjour;
je me permets de repondre car j'ai poser la meme question et on m?a repondu vaguement
Donc si j'ai bien compris il faut mettre cette ligne pour chaque champ
à modifier?!
Par contre au niveau des ' et des " quand c'est des textbox ?!
par exemple txtrecherche il faut '" & txtrecherche & "'"
là je pense avoir compris mais avec ces lignes on a pas besoin de se placer sur l'enregistrement avant?!
et si oui comment fait on parce que c'est ça la vrai question!!
Totoroyamada
Messages postés31Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention17 novembre 2005 17 août 2005 à 13:53
Doro, c'est du contenu de ta textbox que tu dois te servir donc
txtrecherche.text... tu le stockes dans une variable et tu t'en sers
comme indiqué plus haut...
Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 201556 17 août 2005 à 14:01
salut
oui je parler bien du contenu mais j'ai oublier de mettre text désolé
donc ok je vais me servir de variables
mais pour me placer sur le champ avant de placer ces lignes
je fais un truc du genre
tb.open "select* from matable where mon champ=txtrecherche
et ensuite je mets a jour la table
c'est ça
merci
doro
ps désolé pour les abréviations ou les oublis mais je me lève
neometaller
Messages postés28Date d'inscriptionsamedi 8 novembre 2003StatutMembreDernière intervention 5 juillet 2007 17 août 2005 à 14:11
Les ' en ADO ou " (ou ') en DAO
c'est pour les champs de ta bases qui contiennent du texte, si tu
enregistres un numéro t'es pas obligé de les mettre...
Sinon Find ou Filter c'est en ADO
En DAO c'est FindFirst (ou autre)
tb.open "select * from matable where mon_champ = '" & txtrecherche & "'"
ça fonctionne si tu cherches un seul enregistrement