-
modification de ma date
avant de commencer je vous souhaite une bonne journée.
maintenant voici mon probleme:
j'ecris la requete que voici:
Code:
BasT.Execute "insert into Detail_SD (datp,refprod,qte,pu,montant,CDTyp) values(" & format(DatP.Text,"dd/mm/yyyy") & ",'" & RefArt.Text & "', " & Val(Qte.Text) & "," & Val(PU.Text) & "," & Val(MtTot.Text) & ", " & TypPerte.ItemData(TypPerte.ListIndex) & ")"
l'insertion dans la base de donnée sqlserveur 2000 s'effectue. cependant ma date datp qui est celle de mon ordi devient : 01/01/1900.
datp dans ma dase de donnée est du type smalldatetime.
comment resourdre mon probleme.
merci pour votre grande aide.
-
Salut et bonne journée à toi aussi !
alors pour ta date, il faut la mettre entre # et, en plus il faut quelle soit au format anglais.
Cela devient donc :
Code:
BasT.Execute "insert into Detail_SD (datp,refprod,qte,pu,montant,CDTyp) values(#" & format(DatP.Text,"mm/dd/yyyy") & "#,'" & RefArt.Text & "', " & Val(Qte.Text) & "," & Val(PU.Text) & "," & Val(MtTot.Text) & ", " & TypPerte.ItemData(TypPerte.ListIndex) & ")"
J'ai pas testé mais ça devrait marché, car j'ai déjà eu le même problème que toi....
-
Je viens de voir une chose.....
c'est quoi DatP.Text ?????
Cela devrait être normalement DatP.Value car le .Text est utilisé quand le focus est dessus, ce qui m'étonnerai au moment de l'exécution de ta requête
-
Datp.text est la valeur du champs.
j'ai recuperé la chaine renvoyée. je lis et tous est bon. mais helas il m'enregistre la date du 01/01/1900 au lieu de ce quil ramene dans la chaine qui est 29/06/2007
datp.value n'est pas reconnue pas le systeme
-
tu as essayé avec les # et le format anglais?
-
je l'ai essayé mais c'est la meme chose.
-
OK
je pense vraiment que le problème vient de .Text
Ton champs, c'est quoi ? un libellé? une zone de texte? une combobox ?
-
-
Ah je n'ai jamais utilisé cet OCX...
-
j'ai changé pour prendre du textbox. c'est le meme probleme.
-
OK avec un textbox tu mets .value, les # et le format anglais, et normalement ça marche (j'en ai dans mon code)
après si ça ne marche pas, c'est ke tu a un pb ailleurs
-
Dans ta table, DatP et bien de type Date abrégée?
-
Il existe une fonction en VB qui s'appelle FormatDateTime.
Syntaxe
Format(Date, DateFormat)
Exemple
Code:
Text1.Text = FormatDateTime(Now, vbShortDate)
-
merci a tous comme je n'arrivais pas et c'était urgent j'ai fais autrement. j'ai ouvert une connexion direct et j'enregistre avec la methode addnew. bon ça au moins ça passe. j'essaierai tous ce que vous avez di plus tard quand j'aurais un bout de temps.
merci pour votre grande aide.