Quelq'un peut m'aider

tamcheiktt Messages postés 16 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 19 avril 2010 - 31 janv. 2006 à 10:26
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 31 janv. 2006 à 18:35
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 janv. 2006 à 18:35
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)
0
Rejoignez-nous