[ACCESS] Probleme insert valeur Null ???

Probleme insert valeur Null ??? [ACCESS] - SQL/NoSQL - Programmation

Marsh Posté le 22-07-2004 à 12:16:02    

Bonjour à tous... pouvez vous m'aider!!
 
J'ai un formulaire de saisie avec des champs textes... J'ai du code derrière un bouton... :
 

Citation :


Private Sub cmdValidContact_Click()
 
Dim chSQL As String
 
Dim Nom, Prenom, Tel, Port As String
Dim cli As Integer
 
Nom = Forms!frmAddContact!NomContact
Prenom = Forms!frmAddContact!PrenContact
Tel = Forms!frmAddContact!TelDirect
Port = Forms!frmAddContact!Portable
 
cli = varMod.paramInt
 
chSQL = " INSERT INTO CONTACT ( NomContact, PrenContact, TelDirect, Portable, NumCli) VALUES ('" & Nom & "','" & Prenom & "','" & Tel & "','" & Port & "'," & cli & " );"
 
DoCmd.RunSQL (chSQL)
 
Form_frmCLIENT.Refresh
 
DoCmd.Close
 
End Sub


 
Jobtiens une erreur quand j'exécute le code : si je ne rempli pas tous les champs ( si je laisse un champ nul ) il y a un bug : "Utilisation incorrecte de Null" !! Je ne vois aps comment faire!  
 
Je ne sais pas si j'ai été clair... Merci à celui ou ceux qui m'aideront! Demandez moi si vous avez besoin de + de détails
 
MERCI

Reply

Marsh Posté le 22-07-2004 à 12:16:02   

Reply

Marsh Posté le 22-07-2004 à 13:02:13    

Personne ne voit e qui va pas?  
 
Je cherche je cherche mais je débloque pas. Je crois qu'il y a un problème peut-être au niveau du parenthèsage. Mais je ne vois pas comment régler le problème.
 
Parce que mes champs peuvent-être remplis ou Null ! Comment faire ?

Reply

Marsh Posté le 22-07-2004 à 13:42:48    

Bon je reformule ma question.... en plus simple parce que je crois que le problème vient de là :
 
Avec un champ texte indépendant nomé toto :
 
un bouton avec derrière comme code :
 
On récupère la valeur du champ texte toto dans var:
 
var = Forms!Monform!toto
 
requete = "INSERT INTO AMI (Prenom) VALUES (' "& var &" '); "
 
MA question : Si la valeur mon champ toto de mon formulaire est Null ... comment faire ? Parce que là ça ne marche pas !!!Merci je fais de mon mieux pour être clair :)
 
Quelqu'un voit mon erreur?

Reply

Marsh Posté le 22-07-2004 à 19:53:39    

Dans la spécification de la table, pour chaque champ de type text, coche "authoriser la chaîne vide".
 
Sinon Access tourne en mode compatibilité avec l'ancienne norme SQL, qui transforme "" en null.

Reply

Marsh Posté le 22-07-2004 à 19:54:40    

PS: si ton champ de type text est vide, alors il n'est pas égal à null, il est égal à chaîne vide. D'un point de vue représentation informatique (et d'un point de vue logique) c'est absolument différent.
 
(par contre par défaut, certains SGBD dont access ne font pas la différence)


Message édité par Arjuna le 22-07-2004 à 19:55:13
Reply

Marsh Posté le 26-07-2004 à 16:02:43    

merci pour ta réponse...personne ne me répondant, je me suis débrouillé autremet!  Merci kan même!

Reply

Marsh Posté le 29-07-2004 à 11:38:14    

willyboy73 a écrit :

Citation :


Private Sub cmdValidContact_Click()
 
Dim chSQL As String
 
Dim Nom, Prenom, Tel, Port As String
Dim cli As Integer
 
Nom = Forms!frmAddContact!NomContact
Prenom = Forms!frmAddContact!PrenContact
Tel = Forms!frmAddContact!TelDirect
Port = Forms!frmAddContact!Portable


 
Jobtiens une erreur quand j'exécute le code : si je ne rempli pas tous les champs ( si je laisse un champ nul ) il y a un bug : "Utilisation incorrecte de Null" !! Je ne vois aps comment faire!  


 
le pb vient que tu affecte Null à ta variable string qui ne gere pas le Null.
 
il faut que tu definisse tel AS variant et normalement il n'y a plus de pb


---------------
patience et longueur de temps...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed