***************AIDE : COMMENT FAIRE UNE UPDATE D'UN ENREGISTREMENT EN DAO*******

Signaler
-
Messages postés
58
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
1 septembre 2009
-
Comment faire une commande update d'un enregistrement en dao ?
si quelqu'un peut m'aider ce serai sympa.
A voir également:

6 réponses

avec DAO 2.5/3.5

path = chemain de la base de donnée
table = nom de la table de donnée
no = noméro de ligne ou la modification doit être faite
i = numéro du champe de la ligne
txt = nouveau text du champ.

Dim bd As Database
Dim rs As Recordset

Set bd = OpenDatabase(path)
Set rs = bd.OpenRecordset(table)

With rs
.Move no
.Edit
.Fields(i).Value = txt
.Update
.Close
End With
bd.Close
si tu a une base de donnée qui a une table dans laquelle tu veut vodifier la ligne 3 et le champ 2 (dans excel 3;B , mais ca a rien a voire....) ben no 3 et i 2
et tu veut y écrire "salut" ben txt = "salut"
J'ai une erreur "erreur de conversion du type de donnée"
ma base est sous access 2000 et j'ai bien coché la référence "dao 3.6"

voici mon script :

Set rs = db.OpenRecordset("SELECT * FROM mabase WHERE nom='" + mot_clé + "'")

With rs
.Edit
.Fields(2).Value = "mon texte"
.Update
.Close
End With
J'ai une erreur "erreur de conversion du type de donnée"
ma base est sous access 2000 et j'ai bien coché la référence "dao 3.6"

voici mon script :

Set rs = db.OpenRecordset("SELECT * FROM mabase WHERE nom='" + mot_clé + "'")

With rs
.Edit
.Fields(2).Value = "mon texte"
.Update
.Close
End With
il faut avoire déclaré les varables db et rs...
dim db as database
dim rs as recordset
je les ai déclaré, mais j'ai toujour la même erreur
Messages postés
58
Date d'inscription
mercredi 27 juin 2007
Statut
Membre
Dernière intervention
1 septembre 2009

Bon si j'ai bien compris tu veux mettre a jour ta BDD après avoir appeler la fonction oRst.Edit

   Bon tout d'abord tu doit déclarer  les variables suivantes

      Dim oDb as DAO.Database
      Dim oRst as DAO.Recordset

   Je crois que tu l'as bien compris oDb est notre bdd et oRst est ta requête
   
   Bon après que tu as déclaré ta base et ta requête tu met au moment ou tu voudras modifier l'enregistrement
      
      While not oRst.EOF
      oRst.Edit
      oRst.Field("champ à modifier") = valeur à lui attribuer
      ... (pour les autres champs)
      oRst.Update
      oRst.MoveNext
      Wend

Voilà, normalement ça devrais marcher  (en fait la boucle ici sert quand t'as plus d'1 enregistrement.)

Si tu as des questions n'hésite pas