[access] Variable dans une requete sql

[Résolu/Fermé]
Signaler
Messages postés
46
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
29 octobre 2007
-
Messages postés
46
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
29 octobre 2007
-
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

1 réponse

Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 103
Salut,

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...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
46
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
29 octobre 2007
>
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

Excuse moi c t bien T2
Et T2= 05/01/2006 ce qui est bon
Mais pour que ca marche
Il faut que osit sous la forme T2= #05/01/2006#
(je l’ai pas mis tt a l’heure mais j’ai déclaré T2 as variant)
J’ai essayé de mettre
T3 = #T2# (mais il n’accepte pas )
En fait je voulais mettre le T3 dans l’instruction SQL
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 103 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

Je teste chez moi et je te tiens au courant (sûrement demain)...
Messages postés
46
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
29 octobre 2007
>
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

merci
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 103 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

Bon, j'ai trouvé (je le savais, mais j'avais oublié), en SQL il faut que les dates soient au format anglais, donc un truc comme ça peut marcher (à adapter chez toi) :
Private Sub Bout_Cher_Click()
Dim StrSql As String
Dim aa As String
Dim mm As String
Dim jj As String
Dim T As String
jj = Left(Chx_date.Value, 2)
mm = Mid(Chx_date.Value, 4, 2)
aa = Right(Chx_date.Value, 4)
T = mm + "/" + jj + "/" + aa
MsgBox T
StrSql = "UPDATE table_date SET toto = 'ttut' where jour = #" & T & "#;"
MsgBox StrSql
DoCmd.RunSQL (StrSql)
End Sub
--
A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Messages postés
46
Date d'inscription
dimanche 27 mai 2007
Statut
Membre
Dernière intervention
29 octobre 2007
>
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

merci blux (c bon j'ai reussi )

excuse pour le retard lol