OVH Cloud OVH Cloud

Requete MAJ

2 réponses
Avatar
mycpi
Bonjour
Je souhaiterais creer et executer une requete MAJ qui d=E9pende de la
valeur de plusieurs controles (donn=E9es entr=E9es ou pas dans ces
controles)
1=B0 comment la r=E9diger en VBA,
2=B0 comment faire en sorte qu'elle s'execute uniquement lorsque un seul
ou plusieurs de ces controles change et pour le(s) seul(s)
enregistrements qui viennent d'etre modifi=E9s
3=B0 comment masquer le message " vous allez executer une requete mise
=E0 jour etc" ?
Merci pour votre aide
Mycpi

2 réponses

Avatar
Eric
Bonjour,

Tout un programme ! ;-)

Bonjour
Je souhaiterais creer et executer une requete MAJ qui dépende de la
valeur de plusieurs controles (données entrées ou pas dans ces
controles)
1° comment la rédiger en VBA,


Dim strSQL as String
strSQL = "UPDATE LaTable SET LeChamp =" & me!MonControle & ";"
ou
strSQL = "UPDATE LaTable SET LeChamp ='" & me!MonControle & "';"
si alphanumérique
voire
strSQL = "UPDATE LaTable SET LeChampNum =" & me!MonControle1 & _
", LeChampTexte=" & Chr(34) & me!MonControle2 & _
Chr(34) & ";"

2° comment faire en sorte qu'elle s'execute uniquement lorsque un seul
ou plusieurs de ces controles change et pour le(s) seul(s)
enregistrements qui viennent d'etre modifiés


Sur demande de validation. Le plus simple serait de mettre à
jour tous les champs par les valeurs affichées. Si modification
d'au moins un champ, maj de l'enregistrement sinon réécriture.
(A défaut de plus d'infos)

Pour l'enregistrement concerné, rajouter une clause Where
dans la requête MAJ, du genre :
strSQL = "UPDATE LaTable SET LeChamp =" & me!MonControle & _
"WHERE ID =" & me!ID & ";"
CurrentDB.Execute strSQL

3° comment masquer le message " vous allez executer une requete mise
à jour etc" ?


Mettre DoCmd.SetWarnings False avant l'instruction
CurrentDB.Execute et DoCmd.SetWarnings True après.

Merci pour votre aide
Mycpi



--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
mycpi
Bonjour
Merci Eric tout est OK!
a +