Telliouze
Messages postés2Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention26 mai 2002
-
25 mai 2002 à 18:53
Telliouze
Messages postés2Date d'inscriptionsamedi 25 mai 2002StatutMembreDernière intervention26 mai 2002
-
26 mai 2002 à 12:41
Salut, je voudrai savoir comment executer une requete en VBA sous un bouton de formulaire, et surtout kelle est la synthaxe pour faire cette requête (recordset ?)
cs_pheno
Messages postés141Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention23 mars 20051 26 mai 2002 à 10:09
salut
Propriete du bouton, onglet evenement, tu cliques sur la zone de liste a cote de la propriete SUR CLIC
et tu prends [Procédure événementielle]
Puis tu cliques sur les 3 petit points
normalement ca t a genere ceci dans la fenetre Visual basic d ACCESS
Private Sub NOMDUBOUTON_Click()
end sub
Dans l exple que je vais te passer, on affiche les coordonnees d 'un fournisseur sur le formulaire
Sub affiche()
'Déclaration de la base de donnée, et du Recordset
Dim mabase As Database
Dim rs As Recordset
'On initialise la variable mabase comme étant la base de
'donnée ouverte
Set mabase = CurrentDb
'Traitement des erreurs
On Error Resume Next
'Requete SQL
'On sélectionne toute une ligne de la table Emprunt, si le
'Numfournisseur est égale à celui de la zone de liste (Clé Cachée)texterequete "select * from TFOURNISSEUR where numfournisseur" & lblfournisseur & ""
'lblfournisseur c est la zone de liste que j ai sur mon formulaire.
'on instancie le recordset en mémoire
Set rs = mabase.OpenRecordset(texterequete, dbOpenDynaset)
'On met dans les zones de texte les valeurs des champs du recordset
txtnomcom.Value = rs!nomcommercial
txtrue.Value = rs!rue
txtville.Value = rs!ville
txtcode.Value = rs!codepostal
'Si l'opération se termine mal alors
If Err.Number <> 0 Then
'On envoie à l'utilisateur, une boite dialogue
MsgBox " Une erreur inattendue est survenue. " + Err.Description
'Et l'on quitte la procédure
Exit Sub
End If
'On ferme le recordset et la variable de type Database
rs.Close
mabase.Close
End Sub
dans le string texterequete tu peux ecrire toute les requetes sql que tu veux (delete, truncate, update), il faut juste que la syntaxe soit bonne 'Set rs mabase.OpenRecordset(texterequete, dbOpenDynaset) a la place de texterequete (string) tu peux faire un recordset sur une table au quelle cas tu ecris Set rs mabase.OpenRecordset("NOMDETABLE", dbOpenDynaset)
Maintenant je te met le code qui permet d ecrire dans ta table
Dim db As Database
Dim ra As Recordset
Set db = CurrentDb
'recordset sur la table TCOMMANDE
'recordset sur la table TCOMMANDE
Set ra = db.OpenRecordset("TCOMMANDE", dbOpenDynaset)
'Ajout d un enregistrement dans le recordset
ra.AddNew
ra!datecommande = Me!txtdatecom
ra!destinationcom = Me!txtdestination
ra!extfournisseur = Me!lblfournisseur
'mise a jour du recordset
ra.Update
ra.Close
db.close
j espere que j ai ete clair, sinon dis le moi
Chevalier Pheno Starboard, membre de la Freeman-Corp