Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2012, 11h17   #1
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Par défaut Création d'un enregistrement dans une table en SQL

Bonjour,

J'ai un formulaire de consultation, à partie duquel je souhaite ajouter un enregistrement à une table.

En cliquant sur un bouton, une fenêtre de saisi s'ouvre puis il faut compléter les champs du nouvel enregistrement.

Mais j'ai un problème avec mon code il ne fonctionne pas il me renvoie des erreurs d'exécution.

Pourriez vous m'aider s'il vous plaît ?

voici le code en question :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
 
Private Sub Valider_btn_Click()
 
    Dim req As DAO.Recordset
    Dim sqlSelect As String
    Dim sqlInsert As String
    Dim db As DAO.Database
    Dim activite As Integer
 
    If (Not IsNull(NOMTITULAIRE) And Not IsNull(ADRTITULAIRE) And Not IsNull(LIBAGENCE) And Not IsNull(LIBBANQUE) And Not IsNull(BIC) And Not IsNull(CODEGUICHET) And Not IsNull(NUMCOMPTE) And Not IsNull(CLERIB) And Not IsNull(IBANCP) And Not IsNull(IBANCC) And Not IsNull(BBAN) And Not IsNull(DATEDEBUT) And Not IsNull(DATEFIN)) Then
 
 
            Set db = CurrentDb()
 
 
            ' Ouverture du recordset
            Set req = db.OpenRecordset("GA_COMPTETITRE_D", dbOpenTable)
 
 
                If (DateDiff("d", DATEDEBUT, DATEFIN) >= 0) Then
 
                    If (DateDiff("d", Now, DATEFIN) >= 0) Then
 
                        sqlInsert = "Insert into GA_COMPTETITRE_D (NOMTITULAIRE, ADRTITULAIRE, LIBAGENCE, LIBBANQUE, BIC, CODEBANQUE, CODEGUICHET, NUMCOMPTE, CLERIB,IBANCP,IBANCC,BBAN,DATEDEBUT,DATEFIN) values ('" & NOMTITULAIRE & "', '" & ADRTITULAIRE & "','" & LIBAGENCE & "','" & LIBBANQUE & "','" & BIC & "','" & CODEBANQUE & "','" & CODEGUICHET & "','" & NUMCOMPTE & "','" & CLERIB & "','" & IBANCP & "','" & IBANCC & "','" & BBAN & ",'" & DATEDEBUT & "','" & DATEFIN & ")"
                        db.Execute sqlInsert
 
                        If (db.RecordsAffected = 1) Then
                           message = Null
                           message.ForeColor = RGB(0, 176, 80)
                           message = "Le Compte titre de " & NOMTITULAIRE & " a été créé avec succès !!"
                        Else
                           message = Null
                           message.ForeColor = vbRed
                           message = "Une erreur s'est produite au moment de l'insertion"
                        End If
                    Else
                        message = Null
                        message.ForeColor = vbRed
                        message = "La date de fin est inférieure à la date du jour"
                    End If
                Else
                    message = Null
                    message.ForeColor = vbRed
                    message = "La date de début est supérieure à la date de fin"
 
                End If
 
            ' Fermeture du Recordset
            req.Close
            Set req = Nothing
            db.Close
            Set db = Nothing
 
        Else
            message = Null
            message.ForeColor = vbRed
            message = "Un des champs obligatoires n'est pas rempli"
        End If
 
End Sub
 
Private Sub Annuler_btn_Click()
    Form_Load
End Sub
 
Private Sub Form_Load()
 
    NOMTITULAIRE = Null
    ADRTITULAIRE = Null
    LIBAGENCE = Null
    LIBBANQUE = Null
    BIC = Null
    CODEBANQUE = Null
    CODEGUICHET = Null
    CODEGUICHET = Null
    NUMCOMPTE = Null
    CLERIB = Null
    IBANCP = Null
    IBANCC = Null
    BBAN = Null
    CODEGUICHET = Null
    message = Null
    DATEDEBUT = Format(Now, "dd/mm/yyyy")
    DATEFIN = Null
 
End Sub
Merci pour votre aide.
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 13h46   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Salut,

plutot que de sortir ma boule de cristal, je prefererai que tu puisses nous dire les lignes où les erreurs d'executions sont générées.

Dans ta requete sqlinsert, tu sembles ne pas traiter tes champs de type date avec le bon format de données pour commencer
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h00   #3
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Bonjour,

Désolé, effectivement l'erreur que j'ai c'est "erreur d’exécution 3075 erreur de syntaxe(opérateur absent) dans l'expression "DSF, puis les dates ...

Merci encore
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h14   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
très bien, mais sur quelle ligne de code cela arrive-t-il ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h16   #5
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Sur

db.Execute sqlInsert
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h18   #6
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
ok,
peux tu nous dire ce qui est contenu dans la chaine de caracteres sqlinsert stp ?

entre les types de champs incorrects et la non prise en compte des potentiels "'" ca risque de poser problème
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h24   #7
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Désolé je ne comprends pas ? c'est à dire la chaine de caractères ?

Ceux là ?

If (DateDiff("d", DATEDEBUT, DATEFIN) >= 0) Then

If (DateDiff("d", Now, DATEFIN) >= 0) Then
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 15h59   #8
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
que t'affiche la ligne suivante:
si tu la places avant le
?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h02   #9
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Exactement la même erreur...

"erreur d’exécution 3075 erreur de syntaxe(opérateur absent) dans l'expression "DSF, puis les dates ..
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h11   #10
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Citation:
Envoyé par jpcheck Voir le message
que t'affiche la ligne suivante:
?
à voir dans la fenetre d'execution
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h16   #11
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Voici l'erreur renvoyé en pJ
Images attachées
Type de fichier : jpg Erreur d exécution 3075.jpg (22,4 Ko, 5 affichages)
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h26   #12
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
OK,

mets en commentaire la ligne d'execution, et dis nous ce qui est affiché dans la fenetre d'execution stp ?
Affichage>Fenetre d'execution

je ne m'interesse pas au cniotneu de l'erreur, je sais à quoi elle est due. Le but etant que tu la comprennes, on y va par étape
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h29   #13
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Code SQL :
INSERT INTO GA_COMPTETITRE_D (NOMTITULAIRE, ADRTITULAIRE, LIBAGENCE, LIBBANQUE, BIC, CODEBANQUE, CODEGUICHET, NUMCOMPTE, CLERIB,IBANCP,IBANCC,BBAN,DATEDEBUT,DATEFIN) VALUES ('cfvsdgs', 'sdfsdf','sdfsdf','sdfsdf','fsdf','fsdf','fdsf','fsdf','sdfsdf','dsfsd','fsdf','sdfsdf,'09/02/2012','09/02/2012)
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h38   #14
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Alors, avec la coloration du forum, on voit clairement 2 choses :
- l'emplacement du "'" qui n'est pas bon
- le format des dates sous SQL doit etre de la forme
tu peux commencer à faire les mises à jour en conséquence
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h44   #15
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Ok mais je le fais ou au niveau du code

désolé je suis novice.
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h49   #16
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Aucun soucis, on est tous passé par là

la ligne à modifier est celle dans laquelle tu attribues la valeur à ta chaine sqlinsert, c'dest à dire
Code :
sqlInsert = "Insert into GA_COMPTETITRE_D (NOMTITULAIRE, ADRTITULAIRE, LIBAGENCE, LIBBANQUE, BIC, CODEBANQUE, CODEGUICHET, NUMCOMPTE, CLERIB,IBANCP,IBANCC,BBAN,DATEDEBUT,DATEFIN) values ('" & NOMTITULAIRE & "', '" & ADRTITULAIRE & "','" & LIBAGENCE & "','" & LIBBANQUE & "','" & BIC & "','" & CODEBANQUE & "','" & CODEGUICHET & "','" & NUMCOMPTE & "','" & CLERIB & "','" & IBANCP & "','" & IBANCC & "','" & BBAN & ",'" & DATEDEBUT & "','" & DATEFIN & ")"
l'erreur se situe pour BBAN, datedebut et datefin
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 16h55   #17
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Merci et il faut modifier quoi ?

Que faut il modifier dans la valeur "datedebut et "datefin"

pour le bban j'ai ajouté le ' qui manquait

Merci encore
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 17h09   #18
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
je te recommande un peu de lecture pour que tu apprennes les bases:
http://ledzeppii.developpez.com/instrsqlvb/
sinon l'erreur se situe dans cette partie là du code :
Code :
,'" & BBAN & ",'" & DATEDEBUT & "','" & DATEFIN & ")"
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 17h16   #19
Invité de passage
 
Homme
Étudiant
Inscription : janvier 2012
Messages : 22
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant
Secteur : Industrie

Informations forums :
Inscription : janvier 2012
Messages : 22
Points : 1
Points : 1
Merci pour la lecture.

Alors j'ai corrigé les dates mais maintenant j'en ai un autre, l'enregistrement n'est pas pris en compte ca me renvoie le message suivant :
"Une erreur s'est produite au moment de l'insertion"

du code :
Code :
1
2
3
4
5
Else
                           message = Null
                           message.ForeColor = vbRed
                           message = "Une erreur s'est produite au moment de l'insertion"
                        End If
Kenny66 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2012, 17h22   #20
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 878
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 878
Points : 10 743
Points : 10 743
Envoyer un message via MSN à jpcheck
Peux-tu nous redonner le contenu de sqlinsert stp ?

Il est probable qu'une des valeurs ne soit pas valide (cas des valeurs à Null notamment)
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h03.


 
 
 
 
Partenaires

Hébergement Web