{Access} requete sql

Bonjour,

voila mon probleme des que j 'essai d 'executer une requete sql j'ai un souci
Faut il mlettre quelque chose au debut pour dire qu'on execute du sql ?

voici ce que je fais
Dim strsql As String
strsql = SELECT PRODUIT.[Code Produit], PRODUIT.nom_produit, CATEGORIE.code_categorie, CATEGORIE.nom_categorie
FROM CATEGORIE INNER JOIN PRODUIT ON CATEGORIE.code_categorie = PRODUIT.code_categorie;

je sais que le code est bon car je l'ai repris de ma requete que j'ai faites sous access merci de m'aider
Configuration: Windows XP
Firefox 3.0.11

16 réponses

  • Votes
  • Date
  • Date décroissante
  1. Je pense qu'il faut commencer par RunSQL, mettre entre "" et terminer par ;
    1. Désolé, c'est DoCmd.RunSQL

      cf exemple de l'aide:

      Public Sub DoSQL()

      Dim SQL As String

      SQL = "UPDATE Employees " & _
      "SET Employees.Title = 'Regional Sales Manager' " & _
      "WHERE Employees.Title = 'Sales Manager'"

      DoCmd.RunSQL SQL

      End Sub
      1. merci cela fonctionne pour un update mais pas pour un select mais je v chercher!!!!!!!!
        mdr

        merci
        1. re

          en fait j explique la j essai quelque chose de simple:Ma table se nome NOMNOM et ma colonne NOM

          alors:

          Public Sub test_requete_sql()
          Dim SQL As String

          SQL = "Select NOMNOM"
          from nom.title
          WHERE nom.title = "Dupond"
          DoCmd.RunSQL SQL

          End Sub

          mais cela ne marche pas cela me dis fonction ou fonction non definis
          1. re re re re !

            j'ai essayé ca

            Dim sql As String

            sql = "select nom " & _
            " from nomnom " & _
            "where nom = 'cedric'"

            DoCmd.RunSQL sql
            MsgBox ("mise a jour effectué")

            End Sub

            g bien mon msgbox mais rien ne se pase ma requete s'affiche null part

            merci de m'aider
            1. nonnon, (c'est le cas de le dire)

              Essaie:

              RunSQL "SELECT nom FROM nomnom WHERE nom = 'Dupond' "

              En fait, la moindre virgule ou apostrophe peut faire tout foirer, mais il y a un "truc":

              Crée la requête en mode graphique, affiche la en mode SQL et fais un copier-coller dans l'éditeur VB...
              1. salut

                j'ai essayé mais ce n'est pas du tout pareil!!!!
                j'essai ce que tu ma dis
                merci
                1. g essayé :

                  runsql = "SELECT nom FROM nomnom WHERE nom = 'dupond'"

                  pas de message d 'erreur mais rien ne s'affiche

                  runsql "SELECT nom FROM nomnom WHERE nom = 'dupond'"
                  message d'erreur syntaxe

                  runsql = "SELECT nom FROM nomnom WHERE nom = 'dupond'"
                  docmd.runsql runsql

                  message d 'erreur

                  merci a vous !
                  1. re encore moi:

                    voici la requete faite avec acces

                    SELECT nomnom.nom, nomnom.prenom FROM nomnom;

                    j 'ai mis ca dans mon sub mais rien a faire c grave ca !!!
                    j ai teste :

                    sql = "SELECT nomnom.nom, nomnom.prenom FROM nomnom"
                    DoCmd.runsql (sql)

                    mais NON!!!
                    avec sans les " mais tjs pareil
                    1. Excuse moi, je pense que je m'égare...

                      Je viens de relire l'aide.
                      Si j'ai bien compris, DoCmd.RunSQL ne fonctionne qu'avec les requêtes mise à jour ou action qui modifient la base, elle n'affiche pas la requête selection.

                      Je pense qu'il faut passer par DoCmd.OpenQuery et créer auparavant la requête à ouvrir.

                      Désolé de t'avoir induit en erreur.

                      vois dans l'aide la syntaxe exacte.
                      1. encore moi

                        alors j'ai tester docmd.openquery "nom requete "

                        cela fonctionne

                        mais il n'y a pas moyen d'ecrire une requete sql dans vb editor?????

                        merci pour tout en tout k
                        1. Bin, il y a moyen de créer une requête en VBA puis de l'exécuter mais je ne me suis jamais compliqué la vie jusque là...

                          On trouve des exemples dans l'aide pour créer tables et requêtes... pour moi, c'est du grec!