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

IHM Discussion :

Accepter les valeurs nulles dans une requête executée par VBA


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 88
    Points
    88
    Par défaut Accepter les valeurs nulles dans une requête executée par VBA
    Bonjour,

    J'ai un formulaire dans lequel l'utilisateur peut mettre un commentaire ou non. Le problème est que lorsqu'il ne met pas de commentaires, ma requête d'insertion me dit qu'il y a un probleme a cause d'une valeur nulle ou de la clé primaire (valeur nulle dans ce cas là). Comment faire pour qu'il ne me dise pas d'erreur qu'un commentaire soit laissé ou non ?
    Je précise que dans la table en question l'attribut a les proprietés: Chaines vides autorisées : Oui et Null interdit : Non

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Février 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 136
    Points : 89
    Points
    89
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       DoCmd.SetWarnings False
    ?

  3. #3
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Peux-tu nous montrer ton code d'insertion STP?

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 88
    Points
    88
    Par défaut
    J'utilise le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Com = Me.Commentaires
    DoCmd.RunSQL "insert into Payement values (" & Cle & ",'" & Me.Traite2 & "','" & TypeP & "'," & Me.Montant2 & ",'" & Fait & "','" & Com & "'," & Me.NumFacture & ")"
    Je force donc l'insertion et je vois dans le debug :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
     insert into Payement values (11,'30/01/2008','Echeance',2392,'Faux',' ',200233)

    Pour gberthier: je ne veux pas ignorer les messages d'erreur mais résoudre le problème.

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Si ton champ Commentaire accepte effectivement les chaines vides, je ne saisis pas pourquoi cela bloque.

    Essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Com = IIF(Nz(Me!Commentaires,"")="","Null","'" & Me!Commentaires & "'")
    Currentdb.execute "insert into Payement values (" & Cle & ",#" & FORMAT(Me.Traite2,"mm/dd/yyyy") & "#,'" & TypeP & "'," & Me.Montant2 & ",'" & Fait & "'," & Com & "," & Me.NumFacture & ")"

    En passant, j'ai corrigé la syntaxe pour le champ Date....

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 115
    Points : 88
    Points
    88
    Par défaut
    Ca marche pour ce formulaire mais pas pour d'autres:
    J'ai un formulaire d'insertion qui contenait des champs avec les Source Contrôle de ma table que j'ai passé en Independant pour prévenir de certaines erreurs. Quand on clique sur un bouton, cela fait l'insertion en rapport:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     Dim Cle As Integer
    If IsNull(DLookup("Max(NumAgence)", "Agence")) Then
        Cle = 0
    Else
        Cle = DLookup("Max(NumAgence)", "Agence")
    End If
    DoCmd.RunSQL "insert into Agence values (" & Cle & ",NomAgence,VilleAgence,AdresseAgence, CPAgence, TelAgence, FaxAgence, EmailAgence, CA)"
    End Sub
    Quand les champs étaient reliés a leur sources de contrôles cela marchait très bien mais maintenant ça ne marche plus du tout car si un champ est a null, je reçois un message d'erreur.
    J'ai essayé de modifier le code de la même manière que precedement mais rien n'y change et les nulls/chaînes vides sont pourtant autorisées.

    Oublié d'incrementer la clé primaire...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/07/2009, 01h21
  2. Réponses: 3
    Dernier message: 25/09/2008, 10h26
  3. Tester valeur null dans une requête sql
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/07/2008, 13h07
  4. remplacer les valeurs nulles dans une table
    Par jessy212 dans le forum Access
    Réponses: 4
    Dernier message: 28/08/2006, 13h22
  5. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02

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