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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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
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