IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Insérer champs Null (ayant une contrainte de clé étrangère) dans une table


Sujet :

VBA Access

  1. #1
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut Insérer champs Null (ayant une contrainte de clé étrangère) dans une table
    Bonjour,

    Voila mon problème.
    J'ai une table avec des champs ayant des contraintes de clé étrangère et je voudrais pouvoir insérer des champs Null.
    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    insert into matable(id, nom, prenom) values (1,'TATA',Null)
    Cette requête marche tres bien quand je la fais directement sous Access mais je voudrais faire cette meme requête sous VBA. et la ca pose problème car VBA n'accepte pas la valeur Null.

    Comment doit je faire?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    dim req as string
     
    req = "insert into matable(id, nom, prenom) values (1,'"+tb_nom+"','"+IIf(IsNull(tb_prenom), Null, CStr(tb_prenom))+"')"
    Voila mon code et ca ne fonctionne pas.
    Il me dit: "Utilisation incorrecte de la valeur Null"

    Aidez moi svp !!!!
    le génie n'existe pas sans une pointe de folie

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 419
    Points : 508
    Points
    508
    Par défaut
    Salut

    déjà tu peux remplacer les + par des &.

    ensuite vaut peut etre mieux remplacer la fonction IIF par NZ.

  3. #3
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Il s'agit de NULL SQL et non NULL VBA

    C'est donc une chaine de caractère qui doit être interprétée dans VBA


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    req = "insert into matable(id, nom, prenom) values (1,'" & _
            tb_nom & "','" & IIf(IsNull(tb_prenom), "Null", CStr(tb_prenom)) & "')"
    PS : L'opérateur de concaténation est le & et non le +

  4. #4
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    Merci pour vos réponses. Elles m'ont permis de trouver la solution (un collègue m'a aussi aidé)
    Voilà le code que j'ai mis et qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    req = "insert into matable(id, nom, prenom) values (1,'" & _
         tb_nom & "'," & IIf(IsNull(tb_prenom), "Null", "'" & tb_prenom & "'") & ")"
    Il fallait que j'enlève les cotes qui encadrée le IIF, et que je les rajoute à "'" & tb_prenom & "'" sans le Cstr()

    Voilou
    Bonne continuation et merci de m'avoir répondu
    le génie n'existe pas sans une pointe de folie

  5. #5
    Membre régulier Avatar de zoidy
    Inscrit en
    Avril 2006
    Messages
    184
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 184
    Points : 118
    Points
    118
    Par défaut
    de rien

  6. #6
    Membre du Club Avatar de emeraudes
    Inscrit en
    Avril 2004
    Messages
    148
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 148
    Points : 57
    Points
    57
    Par défaut
    ya pa de quoi mon chéri
    looool

    alors ta vu comme j'ai bien résolu le problème??

    le génie n'existe pas sans une pointe de folie

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 40
    Dernier message: 21/06/2007, 17h58
  2. Réponses: 22
    Dernier message: 11/06/2007, 23h24
  3. Réponses: 1
    Dernier message: 16/05/2007, 12h51
  4. [MySQL] récupérer dans une boucle chaque information MySQL dans une variable différente
    Par gtenthorey dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2007, 22h34
  5. Réponses: 2
    Dernier message: 20/06/2006, 08h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo