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 :

[VBA-A] probleme de requette


Sujet :

VBA Access

  1. #1
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut [VBA-A] probleme de requette
    bonsoir a tous j'ai realiser un formulaire de recherche et ca ne marche pas voici le code que j'ai tappe y aurai t il une personne qui pourrai me dire ou est l'erreur? merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
    SQL = "SELECT [Fiche d'identité client].[Nom], [Fiche d'identité client].[Prenom], [Fiche d'identité client].[Date de naissance], [Fiche d'identité client].[Réference client], [intervention].[Numéro dossier] FROM intervention INNER JOIN [Fiche d'identité client] ON [intervention].[Réference client]=[Fiche d'identité client].[Réference client] Where [Fiche d'identité client]![Nom]<> 0 "
    SQL = SQL & "And [fiche d'identité client]!Nom like '*" & Me.txtRechnom & "*' "
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
    SQL = SQL & ";"
    Me.lblStats.Caption = DCount("*", "[Fiche d'identité client]", SQLWhere) & " / " & DCount("*", "[Fiche d'identité client]")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
    End Sub

  2. #2
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 312
    Points
    24 312
    Par défaut
    Commence par clôturer tes discussions précédentes:

    http://www.developpez.net/forums/sho...d.php?t=124711

    http://www.developpez.net/forums/sho...d.php?t=146826

    http://www.developpez.net/forums/sho...d.php?t=148161

    Résolues ou pas?
    Les conseils t'ont-ils aidé?

    Si oui, un petit merci ne fait pas de mal... Et pense au bouton en bas de page.

    Ensuite, mets un tag [VBA-A] dans le titre de cette discussion-ci.

    Après tout ça, on pourra commencer à t'aider.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 312
    Points
    24 312
    Par défaut
    Pour éviter d'avoir une ligne kilométrique, tu peux formater ton code comme ceci:
    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
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
    SQL = ""
    SQL = SQL & "SELECT [Fiche d'identité client].[Nom],"
    SQL = SQL & "  [Fiche d'identité client].[Prenom],"
    SQL = SQL & "  [Fiche d'identité client].[Date de naissance],"
    SQL = SQL & "  [Fiche d'identité client].[Réference client],"
    SQL = SQL & "  [intervention].[Numéro dossier] "
    SQL = SQL & "FROM intervention "
    SQL = SQL & "INNER JOIN [Fiche d'identité client] "
    SQL = SQL & "ON [intervention].[Réference client]=[Fiche d'identité client].[Réference client] "
    SQL = SQL & "WHERE [Fiche d'identité client]![Nom]<> 0 "
    SQL = SQL & "AND [fiche d'identité client]!Nom like '*" & Me.txtRechnom & "*' "
     
    SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
    SQL = SQL & ";"
    Me.lblStats.Caption = DCount("*", "[Fiche d'identité client]", SQLWhere) & _
                          " / " & DCount("*", "[Fiche d'identité client]")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
    End Sub
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut probleme de requette
    bonjour a tous et je vous remerci des reponces auquel vous m'avez aider mais si je n'ai pas donner aucun signe c parceque je n'ai toujours pas trouver la solution.

    en tout cas merci

    est ce que vous pourriez m'aider à repondre à la question popssé precedament

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 14 008
    Points : 20 027
    Points
    20 027
    Par défaut
    c'est quoi ton message d'erreur ? ton probléme ? ...

    as-tu essayé avec une requête plus simple ... voir si ton probléme viens de ta requête ou d'autre chose ...

    cela me semble bizarre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     [Fiche d'identité client]![Nom]<> 0

  6. #6
    Membre expert
    Avatar de khany
    Profil pro
    Inscrit en
    octobre 2002
    Messages
    2 073
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2002
    Messages : 2 073
    Points : 3 890
    Points
    3 890
    Par défaut
    Bonjour !

    Nous voulons tous bien te répondre mais, relis le message de AlainTech, réalise ce qu'il demande afin que tes messages soient lisibles correctement et taggé de la bonne technologie !

    Ce n'est pas une punition, juste le fait de se conformer aux règles d'un forum agréable à parcourir pour tous !

    Ensuite, tu auras tout l'aide que tu désires

    Merci !
    avant de poster FAQ VB - Page sources VB - Cours VB

    Mes tutoriels : VB - VB.NET et ASP.NET

    N'oubliez pas Merci !

  7. #7
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut probleme de requette
    bonjour
    en essayant de faire comme ma dit AlainTech le message d'erreur 3464 soit type d'erreur impatible sur la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.lblStats.Caption = DCount("*", "[Fiche d'identité client]", SQLWhere) & _
                          " / " & DCount("*", "[Fiche d'identité client]")
    a part ca la recherche via mon champ texte ne ce fait pas merci

  8. #8
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 312
    Points
    24 312
    Par défaut
    Jusqu'à présent, je n'ai rien dit. A part mettre ton code en forme pour qu'il ait meilleure allure.

    Par contre, je t'ai demandé de répondre dans tes discussions précédente avant d'en ouvrir une nouvelle.

    Un forum est un lieu d'échange et la moindre des choses est de répondre à ceux qui essayent de t'aider. Même si les réponses ne fonctionnent pas ou ne correspondent pas à ton attente.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  9. #9
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut probleme de requette
    bonsoir

    merci AlainTech de m'avoir de quelque facon car j'ai repondu aux discutions dont on ma a donne des sol.
    je pense avoir compris le message

    je demande encore une aide si possible concernant mon problème peut tu m'aider stp alain?

  10. #10
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 312
    Points
    24 312
    Par défaut
    Je ne connais pas la fonction DCount et n'ai plus le temps de chercher maintenant. Je ne sais donc pas si la syntaxe est correcte.
    Comme tu n'as pas mis de tag dans ton titre, je ne sais pas dans quel environnement tu travailles. Je "devine" que c'est en VBA Access...
    Si c'est le cas, le tag approprié est [VBA-A].
    Merci de le mettre pour ceux qui essayent de t'aider.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  11. #11
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut probleme de requtte
    alain j'ai toujour le meme proble concernant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.lblStats.Caption = DCount("*", "[Fiche d'identité client]", SQLWhere) & _
                          " / " & DCount("*", "[Fiche d'identité client]")
    est ce que je pourrai t'envoyer le form avec les donnes de la base pour que tu es une idee plus presise de mon problème?

  12. #12
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 312
    Points
    24 312
    Par défaut
    Je veux bien que tu m'envoies ton formulaire mais pas avant que tu fasses ce que je t'ai demandé.

    Citation Envoyé par AlainTech
    Comme tu n'as pas mis de tag dans ton titre, je ne sais pas dans quel environnement tu travailles. Je "devine" que c'est en VBA Access...
    Si c'est le cas, le tag approprié est [VBA-A].
    Merci de le mettre pour ceux qui essayent de t'aider.
    Il est vraiment pénible de travailler en aveugle et à la devinette.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  13. #13
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut probleme de requette
    bonsoir
    alain je veux bien mettre un tag mais comment faire?
    en ce qui concerne le langae c' du vba access por le formulaire ou est ce que je peux te l'envoyer? merci de ton aide

  14. #14
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 312
    Points
    24 312
    Par défaut
    Citation Envoyé par lumbroso
    alain je veux bien mettre un tag mais comment faire?
    C'est pourtant pas compliqué.
    Tu édites (bouton "Editer") le premier message de la discussion et tu tapes [VBA-A] devant ton titre.

    Edit --> Par contre, c'est encore plus simple si on le fait dès le départ.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  15. #15
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut [vba - a]
    salut
    ce message est adresse a alain tech je n'est toujour pas eu de reponse te ta par est ce normal merci de me repondre

  16. #16
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2005
    Messages : 3 784
    Points : 4 563
    Points
    4 563
    Par défaut
    Je suis comme Alain : je ne sais pas ce que fait Dcount
    Je m'interroge toutefois sur la raison pour laquelle il utilise 3 arguments là et 2 ailleurs. Est-ce normal ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.lblStats.Caption = DCount("*", "[Fiche d'identité client]", SQLWhere) & _
                          " / " & DCount("*", "[Fiche d'identité client]")
    Quel est le résultat attendu par Dcount et quel est son type ?

  17. #17
    Expert éminent sénior


    Profil pro
    Inscrit en
    juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2003
    Messages : 14 008
    Points : 20 027
    Points
    20 027
    Par défaut
    tiens j'ai voila un peu de code à tester ...:
    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
     
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
    SQL = ""
    SQL = SQL & "SELECT [Fiche d'identité client].[Nom],"
    SQL = SQL & "  [Fiche d'identité client].[Prenom],"
    SQL = SQL & "  [Fiche d'identité client].[Date de naissance],"
    SQL = SQL & "  [Fiche d'identité client].[Réference client],"
    SQL = SQL & "  [intervention].[Numéro dossier] "
    SQL = SQL & "FROM intervention "
    SQL = SQL & "INNER JOIN [Fiche d'identité client] "
    SQL = SQL & "ON [intervention].[Réference client]=[Fiche d'identité client].[Réference client] "
    SQL = SQL & "WHERE "
    SQLWhere = "[Fiche d'identité client]![Nom]<> 0 "
    SQLWhere = SQLWhere & "AND [fiche d'identité client]!Nom like '*" & Me.txtRechnom & "*' "
    SQL = SQL & SQLWhere & ";"
    Me.lblStats.Caption = DCount("*", "[Fiche d'identité client]", SQLWhere) & _
                          " / " & DCount("*", "[Fiche d'identité client]")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
    End Sub
    par contre je n'ai pas access (ni ta base...) mais comme je te l'ai écris... il y as quelques jours... cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[Fiche d'identité client]![Nom]<> 0 "
    me laisse perplexe (comparer une chaine avec un nombre ?) ...
    au cas ou essai de remplacer les 2 lignes SQLWhere ... par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     SQLWhere = "[fiche d'identité client]!Nom like '*" & Me.txtRechnom & "*' "

  18. #18
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : mai 2005
    Messages : 4 235
    Points : 24 312
    Points
    24 312
    Par défaut
    Une petite insomnie m'a permis d'analyser ton code plus tôt que prévu.
    Je rejoins bbil dans ses conclusions.
    Voici le code corrigé (avant d'avoir vu le sien).
    A toi de choisir celui qui te convient le mieux.

    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
    Private Sub RefreshQuery()
    Dim SQL As String
    Dim SQLWhere As String
     
    SQLWhere = ""
    SQLWhere = SQLWhere & "[Fiche d'identité client].[Nom]<> '' "
    SQLWhere = SQLWhere & "AND [fiche d'identité client].Nom like '*" & Me.txtRechnom & "*' "
     
    SQL = ""
    SQL = SQL & "SELECT [Fiche d'identité client].[Nom],"
    SQL = SQL & "  [Fiche d'identité client].[Prenom],"
    SQL = SQL & "  [Fiche d'identité client].[Date de naissance],"
    SQL = SQL & "  [Fiche d'identité client].[Réference client],"
    SQL = SQL & "  [intervention].[Numéro dossier] "
    SQL = SQL & "FROM intervention "
    SQL = SQL & "INNER JOIN [Fiche d'identité client] "
    SQL = SQL & "ON [intervention].[Réference client]=[Fiche d'identité client].[Réference client] "
    SQL = SQL & "WHERE " & SQLWhere
    SQL = SQL & ";"
     
    Me.lblStats.Caption = DCount("*", "[Fiche d'identité client]", SQLWhere) & _
                          " / " & DCount("*", "[Fiche d'identité client]")
    Me.lstResults.RowSource = SQL
    Me.lstResults.Requery
     
    End Sub
    C'était effectivement la comparaison de [Fiche d'identité client].[Nom] avec 0 qui posait problème.
    Le message d'erreur aurait dû te mettre sur la voie.
    A ce sujet, tu admettras que
    Citation Envoyé par lumbroso
    type d'erreur impatible
    Ne ressemble pas vraiment à
    Type de données incompatible dans l'expression du critère
    J'espère que tu peux comprendre que si tu ne nous donnes pas toutes les informations, nous sommes obligés de "jouer aux devinettes" et que cela fait perdre du temps à tout le monde.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  19. #19
    Membre régulier Avatar de lumbroso
    Inscrit en
    décembre 2003
    Messages
    238
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : décembre 2003
    Messages : 238
    Points : 79
    Points
    79
    Par défaut [vab - a] probleme de requette
    je remerie tout le monde car grace à votre aide j'ai pu un petit peut avancer merci encore

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

Discussions similaires

  1. [VBA-E] Probleme supression de la virgule
    Par Flyin_arno dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/07/2005, 16h22
  2. Probleme de requette
    Par DrTank dans le forum Langage SQL
    Réponses: 5
    Dernier message: 02/05/2005, 19h14
  3. [VBA-E] problème avec le sendkeys
    Par darkpocket dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/02/2005, 15h25
  4. probleme de requette qui fait planter powergres
    Par fehmitn dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 15/09/2004, 19h48
  5. Probleme de requette
    Par nmerydem dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 02/07/2004, 17h36

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