| 1 blux, le 15 jun 2007 à 14:33:36Salut,
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...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | En fait il me met type incompatible pour cette ligne
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 Répondre à lord_in |
| 3 blux, le 15 jun 2007 à 15:43:48le mois et bien du type date
Mais que contient-il : un mois ou une date ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | Il contient une date sous forme ex 01/05/2006
et mois c'est le nom du champ Répondre à lord_in |
| 5 blux, le 15 jun 2007 à 15:49:24StrSql = StrSql + "AND ((TableTotal.mois)= #" + T1 + "#) ;" ???
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | 7 blux, le 15 jun 2007 à 16:11:42MsgBox T1 ???
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | Bizarre
il me retourne la valeur 31/01/1900
alors que dans mon datett j'ai tapé 01/04/2006 Répondre à lord_in |
| 9 blux, le 15 jun 2007 à 16:45:35Oui, mais tu transformes ta saisie T en numérique et non en date !
Il faudrait plutôt faire T=cdate(datett.value), ça devrait aller mieux...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | Salut blux
t'as raison pour Cdate
mais le problème c'est il ne prend tjrs pas la valeur de T1
il me met erreur de syntaxe sachant que T1= 01/05/2006 Répondre à lord_in |
| 11 blux, le 19 jun 2007 à 13:23:34Erreur de syntaxe sur quelle ligne ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | Sur celle la
StrSql = StrSql + "AND ((TableTotal.mois)= #" + T1 + "#)
au niveau de T1 Répondre à lord_in |
| 13 blux, le 19 jun 2007 à 14:02:11C'est normal, T1 est une variable DATE, elle ne peut pas se concaténer avec une chaine...
t1 = cstr(cdate(datett.value)) ?
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | J’ai trouvé le cours du problème
Je te rappelle mon code
Private Function sliptdesforecastsparmoissurlestable2()
Dim StrSql As Variant
Dim T As Date
Dim T1 As Date
T = CDate(Datett.Value)
T1 = DateAdd("m", 1, T)
T2 = CStr(CDate(T1))
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)AND((TableTotal.mois)= #" & T1 & "#)) ;"
DoCmd.RunSQL StrSql
End Function
La syntaxe est correcte
Le prob c’est moi je tape 01/04/2006 (1eravril 2006)
Et donc T1= 01/05/2006
Alors pour que ca marche il faut que T1 soit sous cette forme T1= #05/01/2006#
Voilà
Alors si t’as une solution stp je suis preneur
Merci d’avance Répondre à lord_in |
| 16 blux, le 19 jun 2007 à 16:08:02AND((TableTotal.mois)= #" & T2 & "#)) ;" ???
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux | 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 Répondre à lord_in |
| 18 blux, le 19 jun 2007 à 16:48:11Je teste chez moi et je te tiens au courant (sûrement demain)...
A+ Blux "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait" Répondre à blux |
| 20 blux, le 19 jun 2007 à 17:07:01Bon, 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" Répondre à blux |
|
|
|
|
|
|
|
|