tamcheiktt
Messages postés16Date d'inscriptionlundi 16 janvier 2006StatutMembreDernière intervention19 avril 2010
-
31 janv. 2006 à 10:26
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201578 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)