Téléchargement
illégal
Posez votre question Signaler

[access] Variable dans une requete sql [Résolu]

lord_in 44Messages postés 27 mai 2007Date d'inscription - Dernière réponse le 29 juin 2007 à 16:10
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
Lire la suite 

[access] Variable dans une requete sql »

21 réponses
Réponse
+1
moins plus
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...
lord_in- 19 juin 2007 à 16:50
merci
bluxblux - 19 juin 2007 à 17:07
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"
lord_in- 29 juin 2007 à 16:10
merci blux (c bon j'ai reussi )

excuse pour le retard lol
Ajouter un commentaire
Ce document intitulé « [access] Variable dans une requete sql » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?