Insert date into base access [Résolu]

Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
- - Dernière réponse : houssemchak
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
- 24 avril 2010 à 13:26
bonjour
lors de l'insertion d'une date dans ma table intervention (champs: date_int) j ai eu une pb:
je demande d'insérer la date 04/05/2010
je trouve dans la base 05/04/2010.
Merci de vous m'aidez j ai pas trouvé une solution



voici ma code
Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"data source= \\Sweet-035c6263a\E\base" & "\gmao.mdb"
Try

Dim codit, li, typ, fr, codm, p, datpl, datder
Dim cmd As String
typ = ""
If CheckBox3.Checked = True Then
p = True
Else
p = False
End If
If CheckBox1.Checked True And CheckBox2.Checked False Then
typ = CheckBox1.Text
ElseIf CheckBox1.Checked False And CheckBox2.Checked True Then
typ = CheckBox2.Text
Else
MsgBox("imbossible de choisir ce type de maintenance")
End If
codit = TextBox1.Text
li = TextBox2.Text
fr = TextBox5.Text
codm = ComboBox1.SelectedItem
datpl = TextBox3.Text
datder = CDate(TextBox4.Text).Date
cmd = "INSERT INTO intervention VALUES ('" & codit & "' , '" & li & "' , '" & typ & "','" & fr & "','" & codm & "'," & p & ",#" & datder & "#," & datpl & " )"

Dim adapter As New OleDbDataAdapter(cmd, Connection)
Dim tob As New Data.DataSet
Connection.Open()
adapter.Fill(tob)
Catch ex As Exception
MsgBox("Impossible d'ajouter cette intervention. Vérifiez vos champs")
End Try
Connection.Close()
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
11
Date d'inscription
mercredi 27 janvier 2010
Statut
Membre
Dernière intervention
24 avril 2010
3
Merci
votre probléme se resoudre de la maniére suivant :

declarer un variable caractére

public ConvertDate as string
puis dans la procédure de la boutton enregistrer

tu mais :

1/en insertion

nom_controle_qui_contient_le_date
ConvertDate=format(nom_controle_qui_contient_le_date,"MM/DD/YYYY")



2/en consultation
nom_controle_qui_contient_le_date
ConvertDate="#" & format(nom_controle_qui_contient_le_date,"MM/DD/YYYY") & "#"
et tu l'affecte la variable DateConvert dans la requéte sql



Voila
Merci

Dire « Merci » 3

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

Codes Sources 154 internautes nous ont dit merci ce mois-ci

Commenter la réponse de adnennahali
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
3
0
Merci
Bonjour,

T'as pas trouvé de solution??as-tu cherché sur ce forum ce problème revient sans cesse, problème d'options régionales entre le format JJ/DD/YYYY et DD/JJ/YYYY


L'expérience, c'est une connerie par jour, mais jamais la même..
Commenter la réponse de lolokun
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
merci je pense pas. j ai travaillé avant ce problème n'a jamais apparus.
en plus la lecture il le lu convenablement 04/05/2010 mais dans l'affichage non. j'ai maintenant 2 jours bloquées dans cette problème
Commenter la réponse de houssemchak
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
comment je peut la régler
Commenter la réponse de houssemchak
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
71
0
Merci
Salut,

C'est à toi de formatter tes dates comme tu le souhaites :

Les dates sont stockées au format DD/mm/yyyy dans les bases de données access. Donc il te faut les formater au bon format lorsque tu les insére, et inversement, lorsque tu les lis :

Pour l'insertion :
"INSERT INTO Table (date) VALUES " & Format(date, "MM/dd/yyyy")


Pour la lecture :
recordset = "SELECT date FROM Table"
taDate = Format(recordset.fields("date").Value, "dd/MM/yyyy")
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
merci de votre idée mais le pb a resté. mon pb c'est pas le définition du date.pour vous comprennez bien mon pb je vais vous donné un exemple:

je tape la date (04/05/2010) dans le texte box et j'ajoute :
sortie VB je le trouve (04/05/2010)
dans la base (05/04/2010)
la la date est changé dans la base



par contre lorsque je tape une date 19/04/2010 rien ne se change.
je pense que le problème survienne de l' access
Commenter la réponse de houssemchak
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
71
0
Merci
Salut,

Je me répète :

Les dates sont stockées au format DD/mm/yyyy dans les bases de données access.


Enfin, c'est plutôt le langage SQL d'access qui veut cà.

Il faut les formater au format américain dans tes requêtes SQL, sinon pour access : 01/02/2010 = 2 janvier 2010 et non 1èr février 2010.

Forcément, pour le 19/02/2010 y'a pas de problème car le mois 19 n'existe pas.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
j'espère que je ne vous dérange pas mais s'il vous plais comment faire. je me sens bloquée.
Commenter la réponse de houssemchak
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
71
0
Merci
Salut,

Je t'ai donné l'exemple dans mon précédent post :
Pour l'insertion :
"INSERT INTO Table (date) VALUES " & Format(date, "MM/dd/yyyy")


Pour la lecture :
recordset = "SELECT date FROM Table"
taDate = Format(recordset.fields("date").Value, "dd/MM/yyyy")
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
j ai essayé dans un nouveau projet ce code il a apparut un erreur
(La conversion de la chaîne "dd" en type 'Double' n'est pas valide.)




Connection.ConnectionString = "provider=microsoft.jet.oledb.4.0;" & _
"data source= C:\Documents and Settings\Administrateur\Bureau" & "\dat.mdb"


'Try
Dim n, d
Dim cmd As String
n = TextBox1.Text
d = TextBox2.Text
cmd = "INSERT INTO dt VALUES (" & n & ", #" & Format(d, "dd" / "mm" / "yyyy") & "# )"



Dim adapter As New OleDbDataAdapter(cmd, Connection)
Dim tob As New Data.DataSet
Connection.Open()
adapter.Fill(tob)
' Catch ex As Exception
MsgBox("Impossible d'ajouter cette intervention. Vérifiez vos champs")
' End Try
Connection.Close()
Commenter la réponse de houssemchak
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
avec d est la date
Commenter la réponse de houssemchak
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
Console.WriteLine("dat=" & Format(CDate(DateTimePicker1.Value).Date, "dd/mm/yyyy"))
je choisis 05/04/2010
sortie : 05/00/2010
pourquoi??????????????????????????
Commenter la réponse de houssemchak
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
71
0
Merci
Salut,

Arf, j'avais pas vu que c'était du VB.Net, je pensais que c'étais du VB6. A voir avec les membres qui font du VB.Net.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
je vous informe que le formattage de la date est effectuée mais le pb est le meme. c'est pas la pein laisse tombé. c'est pas une pb de programmation. je sais ou le pb??
merci
Commenter la réponse de houssemchak
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
je vous remercie mon ami. Vous etes agreable. et surtt désolé pour le dérangement
Commenter la réponse de houssemchak
Messages postés
15
Date d'inscription
mardi 3 mars 2009
Statut
Membre
Dernière intervention
22 septembre 2010
0
Merci
merci adnennahali
maintenant c'est résolue
Commenter la réponse de houssemchak