{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

  1. Je pense qu'il faut commencer par RunSQL, mettre entre "" et terminer par ;
    0
    1. cela ne fonctionne pas quelqu un peu m aider
      0
      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
        0
        1. merci cela fonctionne pour un update mais pas pour un select mais je v chercher!!!!!!!!
          mdr

          merci
          0
          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
            0
            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
              0
              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...
                0
                1. salut

                  j'ai essayé mais ce n'est pas du tout pareil!!!!
                  j'essai ce que tu ma dis
                  merci
                  0
                  1. non ca ne marche pas !!!!!
                    0
                    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 !
                      0
                      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
                        0
                        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.
                          0
                          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
                            0
                            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!
                              0
                              1. bon ok merci bcp de ton aide bonne soiree
                                0