Pb de MAJ ACCESS a cause des formats de date ... Aidez moi PLEASE! :P

Résolu
Signaler
Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006
-
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
-
Salut all !

Voila g un souci, je planche dessus depuis kelkes jours et ca commence a me soualer la ... lol
En fait, g 2 soucis :

J'ai une BDD ACCESS, mes connexions, MAJ et tout fonctionnent sans pb avec ADO. Sauf sur une de mes pages sur la kelle je mets a jour une table dans la kelle il y a une colonne de dates ...

Je suppose ke c a cause du format ... une histoire de # autours de la date non? enfin kelke soit la maniere dont je l'ecrit, il menvoie bouler ...

Voici mon code :
===========================================================


Dim NewLigne
As DataRow



'remplissage de la liste avec le dataset



Dim Matable
As DataTable


Matable = DtSet.Tables("Document")





With DtSet



' Création de la nouvelle ligne


NewLigne = DtSet.Tables("Document").NewRow



'affectation des valeurs


NewLigne(0) = Matable.Rows.Count + 1


NewLigne(1) = ttitre.Text


NewLigne(2) = tdate.Text 'ICI, la date est entré ds un textbox (28/02/1983 par ex) ms la MAJ marche pa ....


NewLigne(3) = tpublic.Text


NewLigne(4) = tsupport.Text


NewLigne(5) = ttheme.Text


NewLigne(6) = tservice.Text


NewLigne(7) = tauteur.Text


NewLigne(8) = tmaisondedition.Text


NewLigne(9) = tnumrevue.Text


NewLigne(10) =tdatedepublication.Text


NewLigne(11) = tnomrevue.Text


NewLigne(12) = rtbresume.Text


NewLigne(13) = templacement.Text


NewLigne(14) = tnbrdexemplaires.Text






' Ajout de la ligne à la table


.Tables("Document").Rows.Add(NewLigne)



' Mise a jour de la base


Connection.Open()



' Création CommandBuilder



'(genere automatiquement l'update entre le dataSet et la base de donnée



Dim CmdBuild
As OleDbCommandBuilder


CmdBuild =
New OleDb.OleDbCommandBuilder(Adapdocument)


Adapdocument.UpdateCommand = CmdBuild.GetUpdateCommand()


Adapdocument.Update(DtSet, "Document")


Connection.Close()

============================================================

Donc voila, jsé pa ce kil y a exactement a faire pr ke la date soit prise au bon format, g essayé CDate(madate), format(madate,"dd,mm,yyyy"), aussi le chr(35) & madate & chr(35) vu ke chr(35) est le # en ASCII .... RIEN A FAIRE, ca ve pa !

Si quelqu'un a la solution, aidez moi SVP !! j'en ai vraiment besoin !!!

La deuxieme question est beaucoup plus succeinte : Pourquoi ca, ca marche pas :


'===============Combo Box==============='



Dim dtsetpublic
As
New DataSet



Dim adappublic
As
New OleDb.OleDbDataAdapter("select public from publicconcerne", Connection)


adappublic.Fill(dtsetpublic, "Publicconcerne")



Dim monpublic
As DataTable


monpublic = dtsetpublic.Tables("publicconcerne")


cbpublic.DataSource = monpublic 'cbpublic est ComboBox



Le pb étant ke la combobox propose bien autant de solutions kil y a d'entrées ds ma table, ms toutes les solutions sont : System.Data.DataRowView

Pareil si kelkin a la soluce, paske meme ma prof ne c pa me répondre ( elle conné pa VB.net) et je me retrouve ds le caca pr finir mon stage ...

MERCI DAVANCE !!!! :P

13 réponses

Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006

Bon ben voila, vous etes pret a me jeter des cailloux?

En fét, si ca marché pa, depuis le début, c paske dans la table ke je méttais a jour, il y avé un champ nommé DATE, ki est interpreté komme un type par VB...

Encore une fois désolé du dérengement ms jpouvé pa le sucer de mon pouce moi kon avé pa le droit davoir un champ nommé DATE ! :P

En tout cas, merci a tous !!! ET VIVE VBFRANCE !
++
3
Merci

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

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

Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Quel est le Message d'erreur ??
Ton Champs est bien de type date dans ta Table ??

Donnes un Exemple de Valeur de tdate.Text que tu met

It@li@
Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006

Salu !

L'erreur, c une erreur bidon :

Une exception non gérée du type 'System.Data.OleDb.OleDbException' s'est produite dans system.data.dll
Et si je mets un 'Try', 'catch...', 'End Try', il me di kil ya une erreur de syntaxe ds l'instruction INSERT INTO ...

Sinon, oui ds access le champ est bien de type date ....

Et pour mon pb de combos, personne na d'idée?
Messages postés
241
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
10 novembre 2005

A l'instar d'ITALIA, je pense que le message d'erreur ne serait pas du luxe :D

Peut-être qu' Access stocke ce champ date au format américain, en intervertissant mois et jours: pour lui, 28/02/1983 serait donc le 2e jour du 28e mois...D'ou erreur.

Vérifies certaines propriétés de ce champ date
et Testes les valeurs des variables pendant l' exécution
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Pourquoi tu utilisesun Composant TextBox pour saisir un champ Date et pas un DTPicker (Projet...Composants..Microsoft Windows Common Controls 2-6-0)

[mailto:It@li It@li]@
Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006

ben jme demande .... lol ptetre paske je connaissais pas .... ;o) lol

jviens de mettre des DTPickers ms ca change rien, ca marche pa kd meme .... je desespere la ! lol

Est-ce kil ya un truc a faire kd on met a jour une table ki est liée a une autre ???

Imaginons une table "Document" avec un champ "PublicConcerne".
Imaginons une table "PublicDoc" avec le meme champ "PublicConcerne".
Les deux tables "Documents" et "PublicDoc" sont donc liées dans ACCESS par le champ "PublicConcerne" ( Avec mise a jour en cascade ).

Pour mettre a jour l'une ou l'autre des deux tables, je pe pa mettre par exemple :
"INSERT INTO documents (champs) values (valeurs)"

Paske la ma requete SQL est generée automatikement par un commandbuilder:

CommandText "INSERT INTO Document( Titre , Date , Public , Support , Thème , Service , Auteur , MaisondEdition , NumRevue , DatedePublication , RevuecontenantlArticle , Résumé , Emplacement , NombredExemplaires ) VALUES ( ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? )" String

Par exemple, cette table Document est liée a la table PublicConcerne par le Champs 'Public'.
Kd j'essaye de mettre a jour l'une ou l'autre des 2 tables, il menvoie boulet en me disant kil y a une erreur ds la syntaxe du 'INSERT INTO'.

En tout cas, merci pour le DTPicker, ca plait à mon tuteur ce nouveau système !
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Pour ecrire en Rose t'es une fille ?? non?

Test :

TaDate = DateValue(Format(DTPicker1, "dd/mm/yyyy"))
NewLigne(2) =TaDate

It@li@
Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006

Quand je mets :
dim tadate as ??? (je mets koi komme type? j'ai essayé string, date, et meme object ms ca marche pa ds tous les cas )
TaDate = DateValue(Format(DTPicker1, "dd/mm/yyyy"))
NewLigne(2) =TaDate
Il me repond :
Une exception non gérée du type 'System.InvalidCastException' s'est produite dans microsoft.visualbasic.dll


Informations supplémentaires : Le cast spécifié n'est pas valide.

Et quand je mets :
dim tadate as ??? (je mets koi komme type? j'ai essayé string, date, et meme object ms ca marche pa ds tous les cas )
TaDate = DateValue(Format(DTPicker1.value
, "dd/mm/yyyy"))
NewLigne(2) =TaDate
Il me repond :
Une exception non gérée du type 'System.InvalidCastException' s'est produite dans microsoft.visualbasic.dll


Informations supplémentaires : Cast de la chaîne "07/00/1986" en type 'Date' non valide.

Ce qui est bizarre c kil met 07/00/1986, on diré kil prend pa le mois en compte.

Ms jme demande si ca vient pas du fé ke mes tables soient liées car kd j'essaye de faire une page pr modifier la table "PublicConcerne" ,qui est liée a "Document" par le champ 'Public', il m'envoie bouler aussi ...

Ca me rend dingue a force ! lol

Sinon pr simplifier, jpe ptetre envoyer ma source a kelkin ki a un peu de temps pour la regarder ....
Ce sera surement plu simple pr savoir d'ou vient le pb .... Paske kd j'oré resolu cette enigme, jpourré kasiment finir mon projet ... Il me reste ke ca a gerer en gros, le reste ca devré aller apré ... En temps normal joré plu pri de temps pr chercher une soluce ms mon stage se termine bientot et je n'ai pa le temps de chercher du coup ... Mon programme doit etre terminé en milieu de semaine prochaine et c pa encore gagné !

Merci davance !!! :P
et VIVE VBFRANCE ! (PS jsuis pa une fille désolé de te decevoir, ms c bo le rose non? MDR ! :P )
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
BOF BOF pour le Rose ....

dim Tadate as Date

It@li@
Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006

Plus j'avance et plus je pense ke le pb provient du fé ke mes tables sont liées ...

kruger, je fé commen pour connaitre le message d'erreur exact steplé? paske le mieu ke jarrive a avoir comme message d'erreur, c un message ki me di : erreur ds la syntaxe du INSERT INTO. Alor ke le INSERT INTO est generé automatikement par un commandbuilder.

je fé exactement le meme code pr modifier une autre table qui elle n'est liée ke par sa clef primaire et cela fonctionne.... alor c vré kil n'ya pa de date .... Ms kd j'essaye de modifier la table "publicconcerne", ca marche pa non plus, et elle est liée a "document", ke je ne pe pa modifier non plus ...

Enfin, pr vous, sans voire la source ni les tables ca doit pa etre evident ... Ms encore une fois, si kelkin est chaud pr ke je lui envoie ma source, ya pa de pb ...

je craque la ... lol
Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006

meme avec tadate en type date ca fonctionne pa ...

Ms keske c kce bins ??
Messages postés
51
Date d'inscription
mardi 11 janvier 2005
Statut
Membre
Dernière intervention
20 mai 2006

Bon a force de chercher, de tester .... j'ai resolu la plu part de mes pb.

Cependant il me reste le pb des formats de date ...

Donc si kelkin a une idée ou a deja u le pb .... jsuis preneur !

Merci pour tout !
Messages postés
2169
Date d'inscription
vendredi 20 avril 2001
Statut
Membre
Dernière intervention
30 juin 2009
8
Effectivement Date est un Mot Reservé de VB comme VAL....CHR...

It@li@