[access] Variable dans une requete sql
Résolu
lord_in
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
FloVBA -
FloVBA -
Variable dans une requete sql
Je n’arrive pas à intégrer une variable dans une instruction sql
Voilà mon code
Dim T as date
Dim T1 as date
T = Val(Datett.Value)
T1 = DateAdd("m", 1, T)
DoCmd.RunSQL "INSERT INTO Table1tampon ( Material, [material description], [zone], mois, forecasts ) SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value) AND ((TableTotal.mois)=datett.value));", -1
DoCmd.RunSQL "INSERT INTO Table2tampon ( Material, [material description], [zone], mois, forecasts ) SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value)) AND ((TableTotal.mois)= T1 ) ;", -1
Et quand j’exécute il me demande la valeur de la variable T
Dattett = la date que je tape dans mon formulaire
Merci de votre aide
Je n’arrive pas à intégrer une variable dans une instruction sql
Voilà mon code
Dim T as date
Dim T1 as date
T = Val(Datett.Value)
T1 = DateAdd("m", 1, T)
DoCmd.RunSQL "INSERT INTO Table1tampon ( Material, [material description], [zone], mois, forecasts ) SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value) AND ((TableTotal.mois)=datett.value));", -1
DoCmd.RunSQL "INSERT INTO Table2tampon ( Material, [material description], [zone], mois, forecasts ) SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value)) AND ((TableTotal.mois)= T1 ) ;", -1
Et quand j’exécute il me demande la valeur de la variable T
Dattett = la date que je tape dans mon formulaire
Merci de votre aide
1 réponse
Salut,
il faut sortir T1 du texte de la requête :
il faut sortir T1 du texte de la requête :
Dim StrSql as string Strsql = "INSERT INTO Table2tampon ( Material, [material description], [zone], mois, forecasts ) " StrSql = StrSql + "SELECT TableTotal.Material, TableTotal.[material description], TableTotal.zone, TableTotal.mois, TableTotal.forecasts FROM TableTotal WHERE (((TableTotal.zone)=zonett.value)) " StrSql = StrSql + "AND ((TableTotal.mois)= '" + T1 + "') ;" DoCmd RUNSQL (Strsql,-1)Et éventuellement mettre la date entre # si TableTotal.mois est de type date...
StrSql = StrSql + "AND ((TableTotal.mois)= '" + T1 + "')
J’ai vérifié mes tables et le mois et bien du type date
Et pour les # j’avais déjà essayé mais ca marche pas !!!
PS : j’ai changé « DoCmd RUNSQL (Strsql,-1) » en DoCmd.RunSQL StrSql
Parce qu il voulait pas prendre la 1ère
Mais que contient-il : un mois ou une date ?
et mois c'est le nom du champ