OVH Cloud OVH Cloud

Ajout d'un enregistrement par liste déroulante

1 réponse
Avatar
Samban
Bonjour à tous et toutes,

Sur un formulaire, j'ai une zone de liste issue de la table T_FACTURE
affichant :

N°Facture / Client / Date / Saisie

Sur ce même formulaire, j'ai un sous-formulaire(T_SAISIE sous formulaire)
affichant les enregistrements de la table T_SAISIE.
Je voudrais que lors d'un double-clic sur ma zone de liste, que
l'enregistrement concerné soit ajouter à la table T_SAISIE.
Pour cela, sur l'événement Sur double clic de ma zone de liste (Liste12)
j'ai le code suivant:

Private Sub Liste12_DblClick(Cancel As Integer)
sSql = "INSERT INTO T_SAISIE (N°Facture)" & "values(Liste12)"
DoCmd.RunSQL sSql
Me.T_SAISIE_sous_formulaire.Requery
End Sub

Cela fonctionne, mais je n'arrive pas a trouver le moyen d'ajouter la
totalité des champs de l'enregistrement de Liste12 vers la table T_SAISIE.
Pour l'instant seul la première valeur de Liste12 est ajouté dans le champ
N°Facture du nouveau enregistrement.
Comment dire en VBA qu'il faut ajouter TOUTES les valeurs de toutes les
colonnes de ma zone de liste ?
Merci d'avance...;-))

1 réponse

Avatar
Samban
Re-bonjour....

Je me fais une auto-réponse ...;-))

Pour obtenir TOUTES les valeurs de ma zone de liste et pouvoir les ajouter
dans une table, sur l'événement double-clic de ma liste (Liste12) j'ai mis
le code suivant :

Dim RST As Recordset
Set RST = CurrentDb.OpenRecordset("T_FACTURE", dbopendynaset)
RST.AddNew
RST![N°FACTURE] = Val(Me.Liste12.Column(0))
RST![Client] = Me.Liste12.Column(1)
RST![Saisie] = Me.Liste12.Column(2)
. . . .
. . . .
RST.Update
RST.Close
' Mise à jour du sous-formulaire
Me.SAISIE_sous_formulaire.Requery
End Sub

En espérant que cela serve.......Merci pour éventuellement d'autre solution
;-))