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 :

Affecter une valeur nulle à un entier avant l'exécution de la requête [AC-2003]


Sujet :

VBA Access

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut Affecter une valeur nulle à un entier avant l'exécution de la requête
    Bonsoir,

    j'ai la requête suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            marequete = "UPDATE TBLGARANTIE SET TBLGARANTIE.Sortir = 'N', TBLGARANTIE.MotifSortir = '', " & _
                        "TBLGARANTIE.ServiceDemandeurSortir = " & Null & ", TBLGARANTIE.NomsDemandeurSortir = '', " & _
                        "TBLGARANTIE.DatePrevisionnelleRetour = '', TBLGARANTIE.DateRetour = '" & CStr(Now) & "'" & _
                        "WHERE (((TBLGARANTIE.Sortir)='O') AND ((TBLGARANTIE.CODAGE)='" & CodeAgence.Value & "') AND ((TBLGARANTIE.NUMGAR)='" & NumeroGarantie.Value & "'));"
            
            DoCmd.RunSQL marequete
    La partie en rouge me donne une erreur parce que le champ est de type entier. Pour les chaine de caractère les deux côtes ('') suffisent. Mais comment faire avec mon champ de type entier pour l'initialiser à Vide?

    Pour l'instant pour contourner le problème, j'ai remplacé Null par 0 et ça marche mais je voudrais vider le contenu du champ au lieu de mettre 0.

    Merci
    flet le kid

  2. #2
    Membre habitué Avatar de jimay
    Profil pro
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 178
    Points
    178
    Par défaut
    Salut,

    as-tu essayé de remplacer le NULL par des quotes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ..."TBLGARANTIE.ServiceDemandeurSortir = '', TBLGARANTIE...

    a+

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut
    Le premier code que j'ai écrit comprenait cette erreur qu'à l'exécution j'ai constaté. En effet, les '' sont pour les champs de type chaîne à ce que je sais. Pour un entier, il n'en faut pas. Maintenant, je me demande alors comment supprimer le contenu d'un champ de type entier.

    Autrement dit, pour une chaîne, je mets machaine='', et pour un entier, je mets quoi? monentier=?
    flet le kid

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 751
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 751
    Points : 2 368
    Points
    2 368
    Par défaut
    Bonjour,

    Utilise directement la "valeur logique" NULL dans le SQL:
    Code VBA : Sélectionner tout - Visualiser dans une fenêtre à part
    "TBLGARANTIE.ServiceDemandeurSortir = NULL, TBLGARANTIE.NomsDemandeurSortir = '', " & _
    Et tu peux faire de même pour un champ de type texte (utiliser NULL au lieu d'une chaîne de caractères vide) si tu as autorisé la valeur Null pour un tel champ.
    _

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 170
    Points : 66
    Points
    66
    Par défaut
    Merci JBO, avec la valeur Null tout passe correctement.

    Bonne soirée à tous
    flet le kid

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

Discussions similaires

  1. [AC-2000] Affecter une valeur nulle à un champs
    Par forges dans le forum VBA Access
    Réponses: 2
    Dernier message: 11/04/2012, 07h57
  2. Affecter une valeur NULL à un paramètre d'un Query ?
    Par Targan dans le forum Débuter
    Réponses: 10
    Dernier message: 18/06/2009, 13h55
  3. Réponses: 3
    Dernier message: 10/06/2009, 22h03
  4. Comment affecter une valeur par defaut si null?
    Par cassy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/07/2006, 19h13
  5. Affecter la valeur NULL à une cellule d'une table
    Par jacma dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 06/05/2005, 14h43

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