none
Comment sélectionner une requète Access par programmation ? RRS feed

  • Question

  • J'esssaie de mettre au point une application gérant une base Access multi-tables et multi-requètes, chaque requète étant attachée àune table. J'ai enfin réussi à sélectionner et charger les tables à ma convenance mais je n'arrive pas à comprendre comment en faire autant avec les requètes.

    Merci  pour un conseil avisé.

    Caordialement.

    dimanche 8 décembre 2013 14:28

Réponses

  • Bonjour,

    À modifier et à tester :

    Dim conn As OleDbConnection
    Dim strConn As String

    strConn = "Provider = Microsoft.Jet.OLEDB.4.0;"
    strConn &= "Data Source = C:\Tmp\Testdatabase.mdb;"

    conn = New OleDbConnection(strConn)
    cmd.CommandType = CommandType.StoredProcedure
    Dim cmd As New OleDbCommand("qryTest", conn)

    conn.Open()

    cmd.ExecuteNonQuery()

    conn.Close()

    Ou consulter le lien ci-dessous :

    http://dotnet.developpez.com/faq/asp/vbnet/?page=adonetrequete#adonet_procstock


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci


    dimanche 8 décembre 2013 14:54
  • Bonjour,

    N'étant pas habitué à Access, j'ai testé la procédure ci-dessus et cela fonctionne.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    dimanche 8 décembre 2013 15:09
  • Bonjour,

    Dans la procédure ci-dessus ... modifier la ligne suivante en remplaçant  "qryTest" par le nom de votre requête créée dans Access :

    Dim cmd As New OleDbCommand("qryTest", conn)


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci


    dimanche 8 décembre 2013 15:13
  • Bonjour,

    Oui.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    dimanche 8 décembre 2013 15:20
  • Bonjour,

    En utilisant un DataReader :

    Dim Select_cmd As New OleDb.OleDbCommand("nom_requete_access")
    Select_cmd.CommandType = CommandType.StoredProcedure
    Select_cmd.Connection = ObjetConnection
    Dim reader As OleDb.OleDbDataReader = Select_cmd.ExecuteReader()

    Do While reader.Read
      récupération des données avec reader.Item("nom_du_champ")
    Loop


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    dimanche 8 décembre 2013 15:55
  • Bonjour,

    Désolé pour une réponse tardive mais il y a le décalage horaire (je suis au Canada!)

    Mais malgré que la solution ait été trouvée, voici un lien intéressant pour les chaines de connexion :

    http://www.connectionstrings.com/

    Enfin pour terminer, il n'y a pas d'embêtement. Car en essayant d'aider les autres on apprends en même temps certains aspect moins connus :-)

    Au plaisir.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    lundi 9 décembre 2013 22:43

Toutes les réponses

  • Bonjour,

    La question n'est pas très claire...

    Pourriez-vous préciser le problème ?

    Est-ce comment créer une requête par le code ou est-ce comment exécuter une requête existante dans la base de données ?

    Jacques


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    • Marqué comme réponse dédé le routier dimanche 8 décembre 2013 15:00
    • Non marqué comme réponse Aurel Bera lundi 9 décembre 2013 10:27
    dimanche 8 décembre 2013 14:39
  • Bonjour,

    À modifier et à tester :

    Dim conn As OleDbConnection
    Dim strConn As String

    strConn = "Provider = Microsoft.Jet.OLEDB.4.0;"
    strConn &= "Data Source = C:\Tmp\Testdatabase.mdb;"

    conn = New OleDbConnection(strConn)
    cmd.CommandType = CommandType.StoredProcedure
    Dim cmd As New OleDbCommand("qryTest", conn)

    conn.Open()

    cmd.ExecuteNonQuery()

    conn.Close()

    Ou consulter le lien ci-dessous :

    http://dotnet.developpez.com/faq/asp/vbnet/?page=adonetrequete#adonet_procstock


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci


    dimanche 8 décembre 2013 14:54
  • Il s'agit pour moi d'exécuter des requètes existantes dans la base de données Access. Ces requètes étant liées à une table.
    dimanche 8 décembre 2013 15:00
  • Ben, pas vraiment ! La seule rubrique qui fait état de récupération de requète ne donne aucun exemple. Mes connaissances en programmation n'étant pas très bonnes, il me faut un exemple pour comprendre.

    Merci.

    dimanche 8 décembre 2013 15:03
  • Bonjour,

    N'étant pas habitué à Access, j'ai testé la procédure ci-dessus et cela fonctionne.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    dimanche 8 décembre 2013 15:09
  • Bonjour,

    Dans la procédure ci-dessus ... modifier la ligne suivante en remplaçant  "qryTest" par le nom de votre requête créée dans Access :

    Dim cmd As New OleDbCommand("qryTest", conn)


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci


    dimanche 8 décembre 2013 15:13
  • Merci pour votre exemple. Je suppose que la variable "qryTest" est le nom de la requète ?

    Cordialement

    dimanche 8 décembre 2013 15:16
  • Bonjour,

    Oui.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    dimanche 8 décembre 2013 15:20
  • Merci beaucoup, je teste la solution.

    Amicalement.

    dimanche 8 décembre 2013 15:25
  • J'ai testé la solution mais je ne vois pas comment récupérer les valeurs calculées par la requète. A savoir au nombre de trois : NomCircuit, CompteDeNomCircuit, SommeDeDurée. J'en ai besoin pour créer un graphique.

    Merci.

    dimanche 8 décembre 2013 15:40
  • Bonjour,

    En utilisant un DataReader :

    Dim Select_cmd As New OleDb.OleDbCommand("nom_requete_access")
    Select_cmd.CommandType = CommandType.StoredProcedure
    Select_cmd.Connection = ObjetConnection
    Dim reader As OleDb.OleDbDataReader = Select_cmd.ExecuteReader()

    Do While reader.Read
      récupération des données avec reader.Item("nom_du_champ")
    Loop


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    dimanche 8 décembre 2013 15:55
  • Je vous réponds avec un peu de retard. J'ai un petit problème : dans l'instruction Select_cmd.Connection=ObjetConnection, à quoi correspond ObjetConnection. J'avoue que j'ai du mal avec ces nouvelles instructions.

    Merci

    lundi 9 décembre 2013 13:21
  • J'ai trouvé la solution ! Merci pour vos conseils et je ne vous embête plus avec ce sujet.

    Cordialement et encore merci

    lundi 9 décembre 2013 15:30
  • Bonjour,

    Désolé pour une réponse tardive mais il y a le décalage horaire (je suis au Canada!)

    Mais malgré que la solution ait été trouvée, voici un lien intéressant pour les chaines de connexion :

    http://www.connectionstrings.com/

    Enfin pour terminer, il n'y a pas d'embêtement. Car en essayant d'aider les autres on apprends en même temps certains aspect moins connus :-)

    Au plaisir.


    Jacques
    Si la réponse vous satisfait, n'oubliez pas de la proposer comme réponse. Merci

    lundi 9 décembre 2013 22:43
  • Merci pour la connexion. J'y ai jeté un oeil et c'est effectivement intéressant.

    A+ peut-être

    mercredi 11 décembre 2013 14:06