Pour une appli de gestion, je stocke des fiches sur des deplacements et je fais ensuite des recapitulatifs de coup par mois.
Pour faire ce recapitulatif, je dois selectionné tout les enregistrements concernant un mois donnée dans un recordset (en adodc) pour faire des calculs dessus.
Or, dans la communication entre VB6 et access2K, il y a des problemes sur la gestion des dates (entre format americain et format francais).
Access ne recupere pas toujours la date au meme format ( si <14 alors format americain, si superieur a 14 format francais si je ne me trompe pas)
Pour pallier a ce probleme, j'ai passer mon champ date en format texte dans Access.
Mais il se trouve que si je fais une requete sur cette table qui compare le champ date recuperer a une valeur (passé en parametre), je compare 2 strings et non 2 dates, et mon recordset n'est donc pas excact.
Une date dans une DB n'a pas de format, c'est un numérique comme tout le reste, en l'occurence un flottant sur 64 bits.
Fais une date = au 1 du mois voulu
ensuite
"SELECT * FROM ODM WHERE dplct_dest_date >= " & CLng(dat1)
Passera à tout coup sans se préoccuper des formats.
Alors, la solution passe tant que le format de mon champs dans la base de donnée est au format date.
Si je le laisse au format texte (pour eviter les erreurs entre dates < et > a 14), il me renvoie un message d'incompatibilite de types.
Je valide la solution pour les autres, il me reste a tester voir si mon bug sur les dates est soluble en gardant mon champ Access au format Date.