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 :

Problème de variable vide avec requete Insert


Sujet :

VBA Access

  1. #1
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut Problème de variable vide avec requete Insert
    Bonjour,

    Je fais une requete insert avec des variables à ajouter a ma table, mais le problème est qu'une de mes variables peut être vide. Comment faire ???

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
        'requete sql (le order by, tu 'nes pas obligé, c'est juste pr trier..au cas ou..
         reqSel = "SELECT * FROM " & table1 & " ORDER BY id "
        
        'tu definis ton recordset qui va contenir le resultat de la requete
         Set myrst = db.OpenRecordset(reqSel)
         
        'si le recordset n'est pas vide
         If Not myrst.EOF Then
             ' tant qu'il n'est pas vide
             Do While Not myrst.EOF
                 
                 'recuperation des valeurs pour tes 3 champs
                  vId = myrst.Fields("id").Value
                  vImage = myrst.Fields("image").Value
                  vParent = myrst.Fields("pk_fk_parent").Value
                  vSort = myrst.Fields("sort_order").Value
                  vDate = myrst.Fields("date_ajout").Value
                  vLast = myrst.Fields("dern_modif").Value
                  
                  For a = 0 To i
                  
                    a = a + 1
                    If (vParent = vPk(a)) Then
                        vParent = vPk(a)
                    End If
                    
                  Next
                 
                 'requete d'insertion (j'en ecris une bidon, elle ne correspond pas forcement a ce   que tu veux faire)
                 reqIns = "INSERT INTO " & table2 & " (id,image,parent_id,sort_order,date_ajout,last_modif) VALUES (" & vId & " , '0' ," & vParent & " , 0 , 0 , 0)"
                 MsgBox (reqIns)
                 'tu envoies l'execution de la requete insert
                 db.Execute reqIns, dbFailOnError
        
        
             'tu passes a l'enregistrement suivant
             myrst.MoveNext
                
            Loop
        End If
    C'est vParent, et ça me donne la requete suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Insert into table (id,toto,titi,etc) values (1,'0',,0,0,0)
    et cela me fait une erreur. Comment faire ??

    Merci de votre aide

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 65
    Points : 65
    Points
    65
    Par défaut
    Tu as plusieurs solutions,

    . Soit tu testes ta variable et tu construit ta requete au fur et a mesure que tes variables ne sont pas vide

    . Soit alors si tu récupères dans ta variable un null alors tu met sur toutes tes variables
    comme ca tu met "" si ta variable est nulle

    . Soit alors tu autorises dans tes tables le null

    Il y a surement d'autre solution...

    A+ antony

  3. #3
    Membre actif Avatar de jbidou88
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    493
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2006
    Messages : 493
    Points : 242
    Points
    242
    Par défaut
    MErci j'ai utilisé le Nz

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

Discussions similaires

  1. utiliser des variables dans une requet INSERT
    Par k_boy dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/12/2009, 10h45
  2. Problème de page vide avec IE7
    Par sofien dans le forum IE
    Réponses: 0
    Dernier message: 11/08/2008, 09h51
  3. problème de variable vide
    Par missjack dans le forum Langage
    Réponses: 10
    Dernier message: 28/05/2008, 14h03
  4. probleme avec requete insert
    Par joe370 dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/07/2007, 15h58
  5. PL/SQL, problème dans un curseur avec un insert
    Par yador dans le forum PL/SQL
    Réponses: 4
    Dernier message: 27/01/2006, 14h31

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