Problème d'ajout dans une table access à partir d'un formulaire access

cs_asmainfo Messages postés 2 Date d'inscription dimanche 13 mars 2005 Statut Membre Dernière intervention 11 août 2005 - 11 août 2005 à 12:39
shinsen Messages postés 2 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 13 août 2005 - 13 août 2005 à 14:05
Bonjour tout le monde!
J'ai un problème dans l'insertion dans ma table access ;aprés validation du formulaire juste le dernier enregistrement est sauvgardé tous les précédants ne le sont pas.
voila mon procédure VBA:
Private Sub Valider_Click()
On Error GoTo Err_Valider_Click

Dim cn As ADODB.Connection
Dim cmd As ADODB.Command
Dim insQuery As String

Set cn = New ADODB.Connection
Set cmd = New ADODB.Command

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=.\Bon_Essence2;"
' ---- vérification si le clé primaire est vide ou pas -----
If IsNull(Me.ID_bon) Then
MsgBox "Veuillez entrer le N° Bon", vbOKOnly
Exit Sub
End If

retour = MsgBox("Ajouter ce bon à la base de données ?", vbYesNo & vbExclamation, "Confirmation de l'ajout")

If retour = vbYes Then

' ---- Requete SQL d'insertion dans la table à partir du formulaire -----
Dim requete As String
requete = "INSERT INTO Bon (ID_bon,id_statut,id_societe,valeur_bon,Date_creatiuon) VALUES ('"
requete = requete & Me.ID_bon.Value & "', '"
requete = requete & Me.id_statut.Value & "', '"
requete = requete & Me![nom_soc].Column(1) & "', '"
requete = requete & Me.valeur_bon.Value & "', '"
requete = requete & Date_creation.Value & "');"

cn.Open
cmd.ActiveConnection = cn
cmd.CommandText = requete
cmd.Execute
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70



Exit_Valider_Click:
Exit Sub

Err_Valider_Click:
MsgBox Err.Description
Resume Exit_Valider_Click
Me.Refresh
End Sub
A voir également:

1 réponse

shinsen Messages postés 2 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 13 août 2005
13 août 2005 à 14:05
salut



je pense ke pour bien inserer ta ligne dans la table, il faut que tu te
positionnes à la dérniers ligne avant d'inserer ton enregistrement.



autrement dit, avant chaque insertion, tu dois appeler l'attribut "MoveLast"

NB: si ça marche on essayera de trouver 1 autre astuce
0
Rejoignez-nous