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

Access Discussion :

Erreur : Valeur incorrecte pour ce champ


Sujet :

Access

  1. #1
    Invité
    Invité(e)
    Par défaut [Résolu] Erreur : Valeur incorrecte pour ce champ
    Bonsoir à tous,

    J'ai une petite erreur quant au dévelopement d'un formulaire si quelqu'un pouvait m'aider, voici le 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
     
    Private Sub Reunion_date_AfterUpdate()
     
    Dim db As Database
    Dim rs As DAO.Recordset
    Dim reu_date As Date
    Dim req As String
     
    reu_date = Reunion_date.Value
     
    Set db = CurrentDb
     
    req = ("SELECT TYPE_REUNION, COMPTE_RENDU FROM REUNION WHERE DATE_REUNION=" & "#" & reu_date & "#" & ";")
     
    MsgBox req
     
    Set rs = db.OpenRecordset(req)
     
    Type_Reu = rs(0)
     
    End Sub
    Il me donne l'erreur : "Valeur incorrecte pour ce champ". Pour que vous puissez comprendre : A partir d'une date dans une formulaire, je désire afficher un champ complémentaire correspondant aux informations sur la réunion en l'occurence le champ Type_reu.

    J'ai déjà réussi à l'afficher une fois, seulement dès que je change la valeur de reu_date, il m'affiche à nouveau ce message

    Je bloque ...

    Merci de votre aide !

    Bonne soirée

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Peut-être une piste : Dans une clause WHERE sur un champ de type date, la valeur de date à tester doit être au format US (mm/dd/yyyy).

  3. #3
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    d'autre part, dans ton cas : récupérer une seule valeur, l'utilisation de DLookUp() me paraît plus indiquée.
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  4. #4
    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
    Citation Envoyé par cafeine
    d'autre part, dans ton cas : récupérer une seule valeur, l'utilisation de DLookUp() me paraît plus indiquée.
    Pas vraiment, l'utilisation de DLookup en VBA est déconseillée par Microsoft.

    Le moyen le plus efficace d'accéder aux données Access reste DAO même s'il date de VB4

  5. #5
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    mince faut que je revoie ma doctrine
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  6. #6
    Invité
    Invité(e)
    Par défaut
    Merci bien pour vos réponses.

    En effet, les fois où ma requête fonctionnait c'est lorsque j'avais des dates du type : 12/12 ou 03/03 Je comprends mieux ...

    Enfin pour répondre à cafeine, je vais récupérer plusieurs champs mais je n'ai pas encore tout programmer

    Edit:

    Voilà le code qui marche, merci pour tout !

    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
    Option Compare Database
    Option Explicit
     
    Private Sub Reunion_date_AfterUpdate()
     
    Dim db As Database
    Dim rs As DAO.Recordset
    Dim reu_date As Date
    Dim req As String
     
    reu_date = Reunion_date.Value
     
    Set db = CurrentDb
     
    req = ("SELECT TYPE_REUNION, COMPTE_RENDU FROM REUNION WHERE DATE_REUNION=" & DateUS(reu_date)  & ";")
     
    MsgBox req
     
    Set rs = db.OpenRecordset(req)
     
    Type_Reu = rs(0)
     
    End Sub
     
    Function DateUS(ByVal dt As Variant)
    If IsNull(dt) Then Exit Function
    DateUS = "#" & Month(dt) & "/" & Day(dt) & "/" & Year(dt) & "#"
    End Function

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/08/2010, 17h05
  2. [AC-2003] Valeur incorrecte pour ce champ
    Par cluster26 dans le forum IHM
    Réponses: 3
    Dernier message: 11/08/2010, 08h59
  3. Access/vba "Valeur incorrecte pour ce champ"
    Par vto59 dans le forum IHM
    Réponses: 4
    Dernier message: 16/06/2009, 16h26
  4. valeur incorrecte pour ce champ
    Par gravia dans le forum VBA Access
    Réponses: 2
    Dernier message: 02/05/2008, 17h13
  5. Valeur incorrecte pour ce champ (case à cocher)
    Par pifou25 dans le forum Access
    Réponses: 3
    Dernier message: 29/12/2006, 17h19

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