Quelq'un peut m'aider

Signaler
Messages postés
16
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2010
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
salut
Mon probléme ,j'ai creé un module qui pemet de inserer des nouvelles valeurs dans une table appelée client à partir d'un formulaire qui est ataché à cette table
le code suivant en cliquant sur le bouton valider il réinisialise tous les attributs du formilaire à zéro et mettre l'enregistrement à jour dans la table ,mais le prbléme ,il s'execute pas
Private Sub valider_Click()
Dim MaDb As Database
Dim Monsql As String
Dim controle As Control
Dim f As Form
Set MaDb = CurrentDb()
Set f = Forms!F_client
Monsql = "INSERT INTO T_client(N°client,Type_client,prenom, Tel , Tel_portable, Adresse, Code_postal, ville, Site_web, Email)"
Monsql = Monsql & "VALUES('" & f.N°client & "', '" & f.Type_client & "' ,'" & f.Prenom & "', '" & f.Tel & "', '" & f.Tel_portable & "','" & f.Adresse & "','" & f.Code_postal & "','" & f.ville & "','" & f.Site_web & "','" & f.Email & "')"


DoCmd.SetWarnings False
DoCmd.RunSQL Monsql
DoCmd.SetWarnings True
msgbox "Le client" & f.Nom & " ete bien enreg"
For Each controle In f.Controls
If controle.ControlType = acTextBox Then
controle = Null
End If
Next controle

1 réponse

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
-1- Respecte un minimum de formatage de code : Assure toi qu'il y a toujours un espace devant et derrière les mots clés comme le nom de ta table et la parenthèse qui énumère tes champs, ou entre "email)" et VALUES, ou après VALUES ...
-2- SQL n'accepte pas les caractères "exotiques" comme le °
Si le nom de tes champs comportent ce genre de caractères (ou accents ou espaces), il faut les encadrer avec des crochets [ et ], exemple :
Monsql = "INSERT INTO T_client ( [ N°client], ...
-3- Selon le type de champ déclaré dans ta table, il faut utiliser les bons encadrements :
- Champ type numérique : pas d'encadrement (pas de ' )
- Champ type Texte : encadrement avec '
- Champ type Date : encadrement avec #
Exemple : Je suppose que "N°Client" est un numéro (perspicace, hein !), mais que Type_client est texte
Monsql = Monsql & "VALUES(" & CStr(f.N°client) & ", '" & f.Type_client & "' ,'" ...
Le CStr n'est là que pour respecter la convertion numérique -> texte en VB (pas obligatoire, mais propre)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)