Utiliser un update dans avec acess

tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005 - 26 mai 2005 à 12:40
tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005 - 26 mai 2005 à 17:45
bonjour
J'ai une base de données acess, je veux modifier une ligne quelconque de la table client. voici la procedure

Data1.Recordset.Edit
Data1.Recordset.nom = txtmod(0).Text
Data1.Recordset.prénom = txtmod(1).Text
Data1.Recordset.Adresse = txtmod(2).Text
Data1.Recordset.N°Domicil = txtmod(3).Text
Data1.Recordset.N°Mobile = txtmod(4).Text
Data1.Recordset.Email = txtmod(5).Text
Data1.Recordset.Update

mais cette procedure change toujour la premiere ligne de la table comment faire pour changer la 3 ligne par example.

J'ai essayé de la façon suivante
requete "UPDATE data1 SET Nom '" & txtmod(0).Text & "',Prénom='" & txtmod(1).Text & "',Adresse='" & txtmod(2).Text & "',N°Domicil='" & txtmod(3).Text & "',N°Mobile='" & txtmod(4).Text & "',Email='" & txtmod(5).Text & "' WHERE numclient =" & num & ""

Data1.Database.Execute requete

mais j'ai un message d'erreur qui me dit que j'ai un problème de syntaxe je ne vois pas.
pouvez m'aider merci

6 réponses

greg38bj Messages postés 83 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 17 novembre 2008
26 mai 2005 à 14:07
Private Sub UpdateEnregistrement() data1.database.Execute ("UPDATE nomdetatable SET Nom '" & UCase(Replace(txtmod(0).Text , "'", "''")) & "', Prénom '" & Replace(txtmod(1).Text , "'", "''") & "', Adresse = '" & Replace(txtmod(2).Text , "'", "''") & "', N°Domicil= '" & txtmod(3).Text & "', N°Mobile= '" & txtmod(4).Text & "', Email = '" & Replace(txtmod(5).Text , "'", "''") & "' where numclient = " & Val(num.text) & ";")
End Sub

Private Sub Modifier_click()
UpdateEnregistrement
End Sub
0
tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005
26 mai 2005 à 14:53
je ne comprend pas pourquoi tu utilise un replace dans la requete sql. car je ne voix pas se que je dois mettre en les guillmet

replace(txtmod(0).text , "","")
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
26 mai 2005 à 15:15
Bonjour,

tu dois changer

Data1.Recordset.Edit

Data1.Recordset.nom = txtmod(0).Text

Data1.Recordset.prénom = txtmod(1).Text

Data1.Recordset.Adresse = txtmod(2).Text

Data1.Recordset.N°Domicil = txtmod(3).Text

Data1.Recordset.N°Mobile = txtmod(4).Text

Data1.Recordset.Email = txtmod(5).Text

Data1.Recordset.Update

en:

Data1.Recordset.Edit

Data1.Recordset.Fields!nom = txtmod(0).Text

Data1.Recordset.Fields!prénom = txtmod(1).Text

Data1.Recordset.Fields!Adresse = txtmod(2).Text

Data1.Recordset.Fields!N°Domicil = txtmod(3).Text

Data1.Recordset.Fields!N°Mobile = txtmod(4).Text

Data1.Recordset.Fields!Email = txtmod(5).Text

Data1.Recordset.Update



jpleroisse
0
tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005
26 mai 2005 à 15:42
merci pour ta reponse jpleroisse mais sa fait la meme chose que moi sa modifie toujour la premiere ligne de la table.

J'explique comment je proscede.
je fait une requete select pour sur la table grace a un objet data.
j'utilise un msfexgrid pour affiché les info du data
puis je clique sur la ligne qui me convient, les infos sont mis dans des textes
je modifie les champs textes
enfin je lance la requete update.

dans ma table j'ai un champs numclient qui est la clé primaire. ce champs s'incremente tous seul.
c'est la seul façon de savoir quel ligne qui font modifier.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
greg38bj Messages postés 83 Date d'inscription jeudi 11 mars 2004 Statut Membre Dernière intervention 17 novembre 2008
26 mai 2005 à 16:59
il n'y a rien a mettre entre les guillemets, mets la fonction updateenregistrement comme elle est dans ton code, puis fais toi un bouton Modifier avec lequel tu appellera la fonction ça devrait marcher ...
Pour les guillemets, j'ai trouvé cette solution pour les problèmes d'apostrophe dans les champs que l'on remplit.

tiens-moi au courant
greg38bj2005@free.fr
:@ +
0
tof72 Messages postés 33 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 18 juillet 2005
26 mai 2005 à 17:45
j'ai mis la requete mais sa ne change rien.

j'ai le message suivant

erreur 3144
erreur de syntaxe dans l'instruction UPDATE
0
Rejoignez-nous