Requete SQL possedant un "or" sous VBA

Bonjour a tous

j'ai la requete suivante qui passe sous access mais pas sous VBA c'est normal?? Si oui comment puis-je faire cette requete sous VBA???

SELECT Count(*) AS ssreseaunbofctr,
Sum([tblContractsYTD2].[ANIrenta]) AS ssreseauSumOfANI,
FROM tblContractsYTD2
WHERE (([tblContractsYTD2].[period_id]) >=1 And ([tblContractsYTD2].[period_id]) <=18
And [tblContractsYTD2].[CDSSRESEAU] ="API" OR [tblContractsYTD2].[CDSSRESEAU] ="APD")

Merci

3 réponses

  1. je comprends pas la question. Du SQL c'est du SQL (enfin en l'occurrence de l'access SQL), sous VBA ça reste du SQL

    c'est ton code VBA qu'il faut montrer

    déjà tu peux toujours la nettoyer un peu

    SELECT Count(*) AS ssreseaunbofctr,
    Sum(ANIrenta) AS ssreseauSumOfANI,
    FROM tblContractsYTD2

    pour la dernière ligne, ça dépend de ce que tu veux exactement:

    WHERE (period_id >=1 AND period_id <=18 AND CDSSRESEAU ="API") OR CDSSRESEAU ="APD"

    ou (a priori)

    WHERE period_id >=1 AND period_id <=18 AND (CDSSRESEAU ="API" OR CDSSRESEAU ="APD")

    évidemment en vba, fais gaffe aux double-quotes

    kinder.surprise,
    le maton du matou
    0
    1. Bonjour,

      L'équivalent de la partie where de cette requete en vba c'est ca:

      "WHERE (period_id] >= " & period_id1 & " And [period_id] <= " & period_id2 & " " & _
      "And ([CDSSRESEAU] ='" & API & "' OR [CDSSRESEAU] ='" & APD & "'))"

      Mais je suis désolé cette requete ne passe pas sous VBA.
      Je suis d'accord avec toi qu'une requeste SQl reste une requete SQL meme sous VBA mais je sais pas pourquoi elle pas pas. Si tu peux m'aider.
      Ce que je veux faire c'est transcrire exactement la requete du haut de mon message en VBA.

      Merci
      0
      1. c bon j'ai trouvé la solution. c'est dans les cotes que j'ai utilisé. a la place des ' il faut utilisé des "

        "WHERE (([tblContractsYTD2].[period_id]) >=" & period_id1 & " And ([tblContractsYTD2].[period_id]) <=" & period_id2 & " And ([tblContractsYTD2].[CDSSRESEAU] =""API"" OR [tblContractsYTD2].[CDSSRESEAU] =""APD""))"
        0