Enregistrement

spamito Messages postés 183 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 30 mars 2013 - 15 mai 2008 à 18:01
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 15 mai 2008 à 23:58
Bonjour,

J'ai mis en place un code qui permettra à sauvegarder mes informations dans une table, le voici :

Public Sub enregistrer()
Set cn = New Connection
cn.Open "File Name=" & App.Path & "\connect.Udl"

s = "SELECT Agences.Code, Agences.Agence, Agences.Adresse, Agences.cp, Villes.Code, Pays.Cpays, Agences.Tel, Agences.Fax, Agences.Email, Agences.heure_o, Agences.heure_f"s s + " FROM Villes INNER JOIN (Pays INNER JOIN Agences ON Pays.Cpays Agences.Pays) ON Villes.Code = Agences.Ville;"

Set rs = New Recordset
rs.CursorLocation = adUseClient
rs.Open s, cn, adOpenDynamic, adLockOptimistic

k = MsgBox("Désirez-vous sauvegarder cet enregistrement ?", vbYesNo, "INFORMATION")
    If k = 6 Then
        rs.AddNew
        rs.Fields(1) = agence
        rs.Fields(2) = adresse
        rs.Fields(3) = cp
        rs.Fields(4) = ville
        rs.Fields(5) = pays
        rs.Fields(6) = tel
        rs.Fields(7) = fax
        rs.Fields(8) = email
        rs.Fields(9) = heureo
        rs.Fields(10) = heuref
        rs.Update
        rs.Requery
        MsgBox "Enregistrement effectué avec succès", vbInformation, "OPERATION EFFECTUEE"
        cn.Close
    End If
End Sub

Quand j'exécute l'opération de sauvegarde, je reçoie le bug suivant :

Une opération en plusieurs étapes a généré des erreurs. Vérifier chaque valeur d'état.

Je pense que l'erreur provient du code SQL. Mais j'ai essayé de rectifier cette erreur à plusieurs reprises mais sans résultats.
Aidez moi SVP et merci.

1 réponse

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
15 mai 2008 à 23:58
Sur quele ligne reçois-tu le message ?
sur la ligne de requête ?

Je n'utilise jamais les Join... j'essaierais donc comme suit

s = "SELECT Agences.Code, Agences.Agence,
Agences.Adresse, Agences.cp, Villes.Code, Pays.Cpays, Agences.Tel,
Agences.Fax, Agences.Email, Agences.heure_o, Agences.heure_f"
s = s & " FROM Villes, Agences, Pays"s s & " Where Pays.Cpays Agences.Pays AND Villes.Code = Agences.Ville"

Autrement, avant de faire une modification ou autre, je vérifierais que rs contient bien quelque chose. Soit avec RecordCount, soit avec BOF et EOF

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
Rejoignez-nous