cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
12 nov. 2012 à 21:16
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
15 nov. 2012 à 22:43
Bonjour,
Je voudrais filtrer des dates de la facon suivante:
Dim search As Date = mcCalendar.SelectionStart
ContactsBindingSource.Filter = "dBirthday LIKE '" + Format(search, "dd MMMM") + " %'"
Si dBirthday est un String, cela marche. Mais, dans mon cas, j'ai dBirthday comme DateTime.
Et, si je comprend bien la propriete Filter compare deux String.
Comment puis je faire pour filtrer des dates et non des strings?
Pour essayer de mieux expliquer ce probleme, voici plus d'informations:
1- J'utilise une base sqlCE, avec dBirthday declare comme DateTime.
2- Deux cultures sont possibles (en et fr), donc je peux sauver la date sous deux formes differentes dependant de la culture: 3 January 2000 ou 3 Janvier 2000, d'ou un melange qui empeche la comparaison-filtrage de deux dates en string. Par consequent, j'essaye de declarer en Date ou DateTime pour eviter ce probleme.
Et la, je bloque. Peut-etre que je complique???
Si j'ai bien compris, tu veux tous les ??? sur un jour et un mois définis. Donc un ??? par an.
Tu devrais plutôt utiliser les fonctions de traitement de dates DAY et MOUNTH: http://msdn.microsoft.com/en-us/library/ms186724.aspx
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 20131 13 nov. 2012 à 00:27
Salut,
Donc, je devrais me diriger vers les proprietes DAY et MONTH...
Mais, quel est la meilleure facon d'enregistrer/declarer une Date dans une base de donnee? String ou DateTime?
Dans mon cas, DateTime parait le plus approprie pour eviter un melange de date en francais et en anglais. Mais, dans ce cas la, je ne peux plus utiliser la methode Filter.
La meilleur façon ? Tout dépend du nombres de données et du nombres de requêtes. Pour les grosses bases de données, tout est en INT format (OADate) liés à une table de dates prédéfinis.
Sinon, pour une utilisation normal, certainement DATETIME.
Tu ne peux pas faire un truc du genre (pas testé) :
ContactsBindingSource.Filter String.Format("MONTH(dBirthday) {0} AND DAY(dBirthday) = {1}", search.Month, search.Day)
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 20131 15 nov. 2012 à 22:43
Bonsoir,
Charles, je pense que tu m'a mis sur la bonne voie. Je dois jouer avec DAY, MONTH and YEAR pour pouvoir recuperer, filtrer, comparer ou changer ma date quelquesoit la culture. Juste a trouver la bonne syntaxe.
L'aide peut en effet etre tres utile, si toutefois on arrive a la comprendre. Et pour les dates, il faut vraiment savoir ce qu'on cherche, sinon on peut tourner en rond pendant un moment.