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

VB 6 et antérieur Discussion :

Recherche dans deux tables access


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut Recherche dans deux tables access
    Bonjour
    Je veux savoir si je peux faire une recherche d'un nom dans deux table qui ne sont pas liés.
    J'ai essayé avec ce code mais il n'a pas fonctioné.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'RS.Open "SELECT * FROM tbl1,tbl2 WHERE nom LIKE '%" & Text1.Text & "%'", DB, adOpenStatic, adLockOptimistic
    merci

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Salut

    Cela pourrait ressembler à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim RqSQL As String
    RqSQL = "SELECT * FROM tbl1,tbl2 WHERE tbl1.nom LIKE '%" & Text1.Text & "%' And tbl2.nom LIKE '%" & Text1.Text & "'%"
    RS.Open RqSQL, DB, adOpenStatic, adLockOptimistic
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    merci de votre réponse
    J'ai éssayé le code mais il m'envois une érreur de syntax.
    (erreur de syntax dans l'expression
    tbl1.nom LIKE '%" & Text1.Text & "%' And tbl2.nom LIKE '%" & Text1.Text & "'%"
    RS.Open RqSQL, DB, adOpenStatic, adLockOptimistic
    merci

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Citation Envoyé par zidane22 Voir le message
    merci de votre réponse
    J'ai éssayé le code mais il m'envois une érreur de syntax.
    (erreur de syntax dans l'expression
    merci

    les fermetures " ' %", mauvais placement de l'apostrophe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RqSQL = "SELECT * FROM tbl1,tbl2 WHERE tbl1.nom LIKE '%" & Text1.Text & "%' And tbl2.nom LIKE '%" & Text1.Text & "%'"
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Excusez moi du dérangement
    cette fois je reçois le run time error suivant:
    le champs spécifié "Nom" peut désigner plusieurs tables listées dans la clause from de votre instruction sql
    merci

  6. #6
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RqSQL = "SELECT tbl1.nom, tbl2.nom FROM tbl1,tbl2 WHERE tbl1.nom LIKE '%" & Text1.Text & "%' And tbl2.nom LIKE '%" & Text1.Text & "%'"
    N'oubliez pas le tag et

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par callo Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RqSQL = "SELECT tbl1.nom, tbl2.nom FROM tbl1,tbl2 WHERE tbl1.nom LIKE '%" & Text1.Text & "%' And tbl2.nom LIKE '%" & Text1.Text & "%'"
    merci
    Cette fois le code ne donne aucun message d'érreur mais il ne donne aucun resultat.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Lst As ListItem
     
    Do While Not RS.EOF
    Set Lst = ListView1.ListItems.Add(, , RS!nom)
    Lst.SubItems(1) = RS!Prenom
    Lst.SubItems(2) = RS!age
    Lst.SubItems(3) = RS!tel
     
    RS.MoveNext
    Loop

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Désolé j'ai enlevé la ligne
    et le résultat un message :
    impossible de trouver l'objet dans la collection correspondant au nom ou a la référence ordinale demandé
    Pourtant je suis certains que dans les deux tables il éxiste des chams: nom, prenom, age et tel
    merci

  9. #9
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Curieux.
    exemple d'une requête utilisée dans une de mes BDs, qui ressemble un peu à la tienne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RqtSql = "SELECT Plaques.Materiau FROM InfGeneral, Plaques " _
           & "WHERE InfGeneral.NomEnreg LIKE '%" & TextBoxClient.Text & "%' And " _
           & "Plaques.NomEnreg LIKE '%" & TextBoxClient.Text & "%'" _
           & "group by  Plaques.Materiau, InfGeneral.NomEnreg"
    Un Debug.print RqtSql donne:
    SELECT InfGeneral.NomEnreg, Plaques.Materiau FROM InfGeneral, Plaques WHERE InfGeneral.NomEnreg LIKE '%Botanic%' And Plaques.NomEnreg LIKE '%Botanic%' group by Plaques.Materiau, InfGeneral.NomEnreg
    Essais de faire un Debug.Print RqtSql entre la rédaction de la requête et RS.Open RqSQL, DB, adOpenStatic, adLockOptimistic.

    La requête affichée dans la fenêtre exécution est elle conforme à ton souhait?
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Merci ProgElecT de votre souci
    Malheureusement, en inserant le code
    Debug.Print RqtSql
    le meme message d'erreur.
    Voici un mini projet si vous pouvez m'aider à corriger la requete.
    projet
    projet

  11. #11
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 172
    Points
    17 172
    Par défaut
    Désolé, je n'ouvre pas les fichier compressés .rar, en règle général j’évite le plus possible de faire des téléchargements sur des sites que je ne connais pas.

    Par contre, dans mes contributions sur DVP, je propose un programme VBScript >> HTA en téléchargement qui ne nécessite pas d’installation système, une fois récupéré sur ton DD, il suffit de lancer le fichier : OutilBDsAccess.HTA
    BDs ACCESS, rédiger la requête de connexion, la requête d’ouverture de table, visualiser le résultat.
    Ce petit outils me permet très souvent de trouver le pourquoi la rédaction d'un requête ne fonctionne pas ou ne donne pas le résultat attendu.
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Merci pour l'outil

    j'ai testé l'outil il m'a donné un message d'rreur
    microsoft gestionnaire de pilotes odbc source de données intouvable et nom de pilote non specifié
    impossible d'ouvrir BDS
    Pourtantant j'ai designé la bd via "parcourir"
    Autre chose, si je fais ma requete dans une seule table tout se passe tres bien.
    Cela veut dire que la connexion s'est établie.
    merci ProgElecT

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    J"ai fais des recherches sur google et je me suis tombé sur ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     RS.Open "select * from Table1 union select * from table2 where age LIKE '%" & Text1.Text & "%'", DB, adOpenStatic, adLockPessimistic
    Le code m'a permis de recuperer les records des deux tables sauf il ne respecte pas ma codition:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    age LIKE '%" & Text1.Text
    Il me donne tous les noms dans les deux tables
    merci

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    rrrrrrrrrr
    Inscrit en
    Février 2013
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : rrrrrrrrrr
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 71
    Points : 38
    Points
    38
    Par défaut
    Merci à tous et en particulier Mr ProgElecT
    Probléme résolu
    En premier temps j'ai éssayé de contourner le probléme par la creation de deux requétes.
    une qui cherche dans table 1 via command1 et l'autre requete qui cherche dans table 2 via text change event.
    ça reussi!!!
    Puis j'ai continué a chercher jusqu'a ce que j'ai trouvé le bon code et le voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RS.Open "select * from Tbl1 where nom=" & Text1.Text & " union all select * from tbl2 where nom=" & Text1.Text & "", DB, adOpenStatic, adLockPessimistic
    merci encore de votre souci

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

Discussions similaires

  1. Recherche dans deux tables differentes
    Par Shades dans le forum Access
    Réponses: 16
    Dernier message: 30/12/2011, 17h10
  2. Comparer deux tables Access et afficher le resultat dans excel
    Par h_adil dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/06/2008, 18h57
  3. recherche de donnée dans deux tables
    Par donny dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/06/2007, 20h41
  4. [VB6]recherche d'une valeur dans une table access
    Par fahmichebaane dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/04/2006, 15h26
  5. recherche dans une table Access en ASP
    Par D-D dans le forum ASP
    Réponses: 3
    Dernier message: 09/06/2004, 10h12

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