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 :

Problème avec Me.RecordSource : valeur non conforme


Sujet :

Access

  1. #1
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut Problème avec Me.RecordSource : valeur non conforme
    Bonjour,

    j'ai un souci avec Me.RecordSource dans certains cas....
    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
    Private Sub RefreshQuery()
        Dim strSQL As String
        Dim SQLWhere As String
        Dim codeD As Integer
        Dim codeT As Integer
        Dim S As String
     
        S = Me.RecordSource
     
        strSQL = "SELECT * FROM t_activite WHERE id<>0"
     
        If Me.chkFiltrageDiscipline Then
            codeD = Me.cboDiscipline
            If codeD <> 1 Then
                strSQL = strSQL & " AND code_discipline=" & codeD
            End If
        End If
     
        If Me.chkFiltrageType Then
            codeT = Me.cboType
            If codeT <> 1 Then
                strSQL = strSQL & " AND code_type=" & codeT
            End If
        End If
     
     
        SQLWhere = Trim(Right(strSQL, Len(strSQL) - InStr(strSQL, "WHERE ") - Len("WHERE ") + 1))
        strSQL = strSQL & " ORDER BY intitule;"
     
        ' mise à jour du résultats
        Me.lblResultats.Caption = DCount("*", "t_activite", SQLWhere) & " / " & DCount("*", "t_activite")
     
        ' mise à jour du listing des activités
        Me.RecordSource = strSQL
     
    End Sub
    Le problème intervient lorsque la requête SQL est concaténée avec :
    - soit : strSQL = strSQL & " AND code_discipline=" & codeD
    - soit : strSQL = strSQL & " AND code_type=" & codeT


    A l'exécution de Me.RecordSource = strSQL dans ces cas là, j'obtient ce message d'erreur :
    erreur 2107 : La valeur n'est pas conforme aux règles de validations définies par le champ ou le contrôle.

    Vous auriez une idée : Parce que moi je tourne en rond depuis un moment, j'ai essayé de modifier la syntaxe de ma requête mais toujours le même message....

    Pourtant le DCount marche très bien !


  2. #2
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Vous n'auriez pas une idée :

    @+

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    soit : strSQL = strSQL & " AND code_discipline=" & codeD
    si coded est alpha
    soit : strSQL = strSQL & " AND code_discipline='" & codeD & "'

  4. #4
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Malheureuseuement, j'avais déjà essayé mais codeT et codeD sont des Integer....et normalement on peut pas utiliser les apostrophes avec des Integer, non ?


  5. #5
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    re bonjour

    la première chose à faire c'est de voir ton code sql

    pour cela tu mets avant l'exécution de la requête

    là tu peux voir ce qui cloche dans ton code et corriger en conséquence
    sinon c'est difficile de te dépanner

    A+

  6. #6
    Membre actif
    Inscrit en
    Octobre 2005
    Messages
    908
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 908
    Points : 271
    Points
    271
    Par défaut
    Normalement, rien ne devrait clocher avec cette requête

    SELECT * FROM t_activite WHERE id<>0 AND code_discipline=4 ORDER BY intitule;

    @+

  7. #7
    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
    Hello,

    as-tu jeté un coup d'oeil sur mon tuto de débogage de requêtes SQL (c'est en plein dans le sujet)

    http://cafeine.developpez.com/access...el/debugprint/

Discussions similaires

  1. problème avec un formulaire : champ non défini
    Par merlubreizh dans le forum Langage
    Réponses: 5
    Dernier message: 04/02/2008, 15h22
  2. Problème avec application.run([VALEURS.UNIQUES],"plage",1)
    Par gregyard@hotmail.com dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 18/01/2008, 11h31
  3. problème avec switch et valeur 0
    Par melisse dans le forum Langage
    Réponses: 12
    Dernier message: 23/02/2007, 13h20
  4. Problème avec la méthode Buidmenu non trouvée
    Par franckjava dans le forum NetBeans
    Réponses: 2
    Dernier message: 17/01/2007, 00h45
  5. Réponses: 1
    Dernier message: 28/06/2006, 13h31

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