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 :

Erreur d'exécution 3075 recherche multi-critère Cafeine


Sujet :

IHM

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Erreur d'exécution 3075 recherche multi-critère Cafeine
    Bonjour

    Je souhaite utiliser le formulaire de recherche multi-critère déposé par Cafeine (http://cafeine.developpez.com/access...echerchemulti/)

    Toutefois, le code ne fonctionne pas. A priori, cela vient du fait que le nom de ma table comporte un "_" et fait planter le vba.

    Or, je n'ai pas trouvé la bonne syntaxe pour résoudre le problème.

    Quelqu'un peut-il m'aider sur ce point.

    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
    22
    23
    24
    25
    26
    27
    28
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> "";"
     
    If Not Me.chkFamFonc Then
        SQL = SQL & "And 1_Baseclient!FamFonc like '*" & Me.cmbRechFamFonc & "*' "
    End If
    If Not Me.ChkSte Then
        SQL = SQL & "And 1_Baseclient!Societe = '" & Me.cmbRechSte & "' "
    End If
    If Not Me.chkQuaCon Then
        SQL = SQL & "And 1_Baseclient!Qualifcontact like '*" & Me.cmbREchQuaCon & "*' "
    End If
    If Not Me.ChkPri Then
        SQL = SQL & "And 1_Baseclient!Priorite like '*" & Me.cmbRechPri & "*' "
    End If
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    Me.lblStats.Caption = DCount("*", "1_Baseclient", SQLWhere) & " / " & DCount("*", "1_Baseclient")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 365
    Points
    34 365
    Par défaut
    salut,

    ce qui me tente plus est ta premiere ligne avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> "";"
    essaie plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> '' "

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Merci jpcheck mais cela ne fonctionne pas. J'ai toujours l'erreur 3075 avec un problème de syntaxe.

    C'était toutefois une bonne idée

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 365
    Points
    34 365
    Par défaut
    Ok,
    peux-tu stp nous donner la valeur de ton SQL ainsi que celle de ton SQLWhere, on va vite trouver d'ou vient l'erreur

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Pour être honnête, je suis pas sûr de comprendre ta question

    L'intégralité de mon vba reprend le tuto de Cafeine soit :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    Option Compare Database
     
    Private Sub chkFamFonc_Click()
     
    If Me.chkFamFonc Then
        Me.cmbRechFamFonc.Visible = False
    Else
        Me.cmbRechFamFonc.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
     
    Private Sub chkSte_Click()
     
    If Me.ChkSte Then
        Me.cmbRechSte.Visible = False
    Else
        Me.cmbRechSte.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkQuaCon_Click()
     
    If Me.chkQuaCon Then
        Me.cmbREchQuaCon.Visible = False
    Else
        Me.cmbREchQuaCon.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
    Private Sub chkPri_Click()
     
    If Me.ChkPri Then
        Me.cmbRechPri.Visible = False
    Else
        Me.cmbRechPri.Visible = True
    End If
     
    RefreshQuery
     
    End Sub
     
     
    Private Sub cmbRechFamFonc_BeforeUpdate(Cancel As Integer)
     
    RefreshQuery
     
    End Sub
     
    Private Sub cmbRechSte_BeforeUpdate(Cancel As Integer)
    RefreshQuery
    End Sub
     
    Private Sub cmbRechQuaCon_BeforeUpdate(Cancel As Integer)
    RefreshQuery
    End Sub
     
    Private Sub cmbRechPri_BeforeUpdate(Cancel As Integer)
    RefreshQuery
    End Sub
     
    Private Sub Form_Load()
     
    Dim ctl As control
     
    For Each ctl In Me.Controls
        Select Case Left(ctl.Name, 3)
            Case "chk"
                ctl.Value = -1
     
            Case "lbl"
                ctl.Caption = "- * - * -"
     
            Case "txt"
                ctl.Visible = False
                ctl.Value = ""
     
            Case "cmb"
                ctl.Visible = False
     
        End Select
    Next ctl
     
    Me.lstResults.RowSource = "SELECT Type, Groupe, Societe, Qualifcontact, Priorite, NomPrenom, Fonction, FamFonc FROM 1_Baseclient;"
    Me.lstResults.Requery
     
    End Sub
     
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> '' "
     
    If Not Me.chkFamFonc Then
        SQL = SQL & "And 1_Baseclient!FamFonc like '*" & Me.cmbRechFamFonc & "*' "
    End If
    If Not Me.ChkSte Then
        SQL = SQL & "And 1_Baseclient!Societe = '" & Me.cmbRechSte & "' "
    End If
    If Not Me.chkQuaCon Then
        SQL = SQL & "And 1_Baseclient!Qualifcontact like '*" & Me.cmbREchQuaCon & "*' "
    End If
    If Not Me.ChkPri Then
        SQL = SQL & "And 1_Baseclient!Priorite like '*" & Me.cmbRechPri & "*' "
    End If
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
     
    Me.lblStats.Caption = DCount("*", "1_Baseclient", SQLWhere) & " / " & DCount("*", "1_Baseclient")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
    Comme je doute que c'est ce dont tu parles, peux-tu me guider dans ta demande stp (désolé, mes notions de vba sont limitées ..

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 365
    Points
    34 365
    Par défaut
    lorsque tu fais tourner ton code, après les 2 lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
     
    SQL = SQL & ";"
    tu peux mettre ton curseur sur SQLWhere et nous dire son contenu stp ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Voilà, quand je fais tourner le code, j'ai la ligne suivante :

    SQLWhere = "NomPrenom <> " And 1_baseclient!FamFonc like '*Direction informatique*' "

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 651
    Points : 34 365
    Points
    34 365
    Par défaut
    ok,
    et que vaut SQL ?

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    Ah oui sorry

    SQL = "Select Societe, Qualifcontact, NomPrenom, FROM 1_Baseclient Where NomPrenom <> '' And 1_Baseclient!FamFonc like '*Direction informatique*' ;"

Discussions similaires

  1. [AC-2003] Erreur 3075 : requete multi critère
    Par b.billet85 dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/11/2010, 16h44
  2. [AC-2003] Recherche multi-critères Erreur '2185'
    Par Meph-Dev dans le forum VBA Access
    Réponses: 4
    Dernier message: 20/05/2009, 09h03
  3. Erreur code recherche multi-critères
    Par bétécé dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 23/11/2006, 11h14
  4. Recherche multi-critères de Cafeine
    Par Happock dans le forum Access
    Réponses: 8
    Dernier message: 25/09/2006, 14h43
  5. Réponses: 6
    Dernier message: 28/06/2006, 15h01

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