Paramètre Requête SQL

Accueil – Le CFO masqué Forums Power Query Paramètre Requête SQL

  • Ce sujet contient 3 réponses, 2 participants et a été mis à jour pour la dernière fois par Kim Leblanc, le il y a 3 années et 2 mois.
4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Articles
  • #87209
    fabien.travers
    Participant

    Bonjour,

    Je cherche à faire passer des paramètres dans ma connexion à ma base SQL.

    J’arrive à faire passer un paramètre qd celui-ci est “Fixe” dans l’exemple ci dessous DateDeb2=”01/01/2021 00:00:00″ mais que je souhaite variabilisé celui à travers un tableau venant d’Excel ça ne marche pas …

    Code

    “let
    Parametre=Excel.CurrentWorkbook(){[Name=”Tab_Par_Date”]}[Content],
    DateDeb1=Table.SelectRows(Parametre,each [Paramètre]=”Date_deb”){0}[Valeur],
    DateDeb2 = “02/01/2021 00:00:00”,
    QueryInfo = “SELECT *#(lf)FROM [ParcProductionCourbe] #(lf)WHERE DateReleve #(lf)BETWEEN ‘” & DateDeb1 & “‘ #(lf)AND ’05/01/2021 00:00:00′”,
    Source = Sql.Database(“Serveur”, “BDD”, [Query=QueryInfo])
    in
    Source”

    Message d’erreur
    Expression.Error : Désolé… Nous n’avons pas pu appliquer l’opérateur & aux types Text et DateTime.
    Détails :
    Operator=&
    Left=SELECT *
    FROM [Table]
    WHERE DateReleve
    BETWEEN ‘
    Right=04/01/2021 00:00:00

    Est ce que j’ai oublié quelque chose? Est ce que l’on peut passer en agrument le résultat d’une requête?

    Merci d’avance pour votre aide.

    Attachments:
    You must be logged in to view attached files.
    #87211
    Kim Leblanc
    Participant

    Bonjour,

    Le message vous indique vous essayez de concaténer du texte avec une date. Avez-vous essayé de changer le format de votre date DateDeb1 en texte avant l’étape de DateDeb1?

    Kim

    • Cette réponse a été modifiée le il y a 3 années et 2 mois par Kim Leblanc.
    #87466
    fabien.travers
    Participant

    Bonjour Kim,

    Merci bcp pour votre retour.
    J’avais en effet essayé dans une requête de transformer en texte puis en date … mais sans succès.
    Suite à votre message j’ai passé la transfo directement dans le code et bingo 😉

    J’ai ajouté le bout de code suivant: DatebedText=DateTime.ToText(#datetime(Date.Year(DateDeb1),Date.Month(DateDeb1),Date.Day(DateDeb1),0,0,0))

    Il y a certainement plus simple mais ça marche!

    Un grand merci.

    Fabien

    #87531
    Kim Leblanc
    Participant

    Bonjour Fabien,

    Vous auriez pu aussi transformer en texte après l’étape Parametre comme ceci:
    #”Type modifié” = Table.TransformColumnTypes(Source,{{“Date_deb”, type text}})

    Bonne journée!

    Kim

4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.