DATE BETWEEN SQL CHAMPS TEXTE

crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004 - 10 mars 2004 à 14:16
cs_user Messages postés 14 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 16 août 2010 - 1 juin 2005 à 15:37
Salut, je sais qu'il y a beaucoups de sujet traitant sur les tri selon 2 dates données.

Je les ai tous lus, mais je ne trouve pas ce qu'il me convient, car:

Mon champs où sont enregstés mes dates est du type TEXTE

et lorsque ke je veux afficher les info selon 2 dates bien precise, il m'affiche n'importe quoi.

Si vous pouviez m'aider.


    cnx.Provider = "Microsoft.Jet.Oledb.4.0" 'Définition de la chaîne de connexion 
    cnx.ConnectionString = App.Path & "\BASE.mdb" 'Ouverture de la base de données 
    cnx.Open 
        
    
    rst.ActiveConnection = cnx 
    rst.Open "SELECT * FROM TABLE_CONTENU where DATUM BETWEEN '" & 01/02/03 & "' AND '" & 02/04/03 & "' ", cnx, adOpenKeyset, adLockOptimistic 
    
    resul.Visible = True 
        
    Set TABLEAU.DataSource = rst 
    TABLEAU.Refresh 
    Text4.Text = TABLEAU.Rows 
 


Faut il decomposer ma chaine de caractere ou ....

Merci

14 réponses

juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
10 mars 2004 à 14:33
rst.Open "SELECT * FROM TABLE_CONTENU where DATUM BETWEEN #" & 02/01/2003 & "# AND #" & 04/02/2003 & "#", cnx, adOpenKeyset, adLockOptimistic

essai comme ca...a noté le format anglais mm/dd/yyyy

++
juvamine

Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia.zefunChat.net
port : 6667
chan : #programmation
0
crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004
10 mars 2004 à 14:56
Merci mais, c'est un champs texte et non un champs date.

donc les # n fonctionne pas
0
crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004
10 mars 2004 à 14:59
Merci mais, c'est un champs texte et non un champs date.

donc les # n fonctionne pas
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
10 mars 2004 à 16:30
Si les chp de ta base sont de type Texte, et non de type Date, n'espère pas pouvoir les traiter comme des date dans une clause Where !!!

Christophe R.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
juvamine Messages postés 468 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 30 août 2007 2
10 mars 2004 à 16:46
en effet tu ne peux pas effectuer d'opération sur les dates ds un champs text...

Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia.zefunChat.net
port : 6667
chan : #programmation
0
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
10 mars 2004 à 17:59
Chui pas d'accord avec mes petits camarades. Il existe sur certaines bases de données (ex: Oracle) des fonctions de conversion de char en date.
Ta requete donnerait donc un truc du genre (pour une base oracle):

rst.Open "SELECT * FROM TABLE_CONTENU where to_date(DATUM,'dd/mm/yy') BETWEEN #" & 01/02/03 & "# AND #" & 02/04/03 & "# ", cnx, adOpenKeyset, adLockOptimistic

Tu peux peut être également te débrouiller en combinant des fonctions de conversion en nombre et des fonctions d'extraction de chaines.

Tout dépend des fonctions offertes par ta base...
0
crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004
10 mars 2004 à 18:01
Ok, mais j'ai essayé de changer mon champs texte en champs date mais il me les mets en anglais, mm/dd/yy alors que je les introduit en dd/mm/yy, c'est chiant ca, surtout pour les afficher,comment changer les proprio dans gestionnaire de base pour qu'il me les affiche en dd/mm/yy.

Merci bcp.
0
crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004
10 mars 2004 à 18:19
Merci florantanplan mais c'est une base Acces, je vais essayer qd meme au cas où.

Je te dirais quoi,
0
crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004
10 mars 2004 à 18:26
Il me demande de definir to_date, C'est quoi ton to_date.

Merci
0
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
10 mars 2004 à 18:54
c'est une fonction Oracle, il semble que l'équivalent Access soit CDate("<Date>").
Tu peux avoir un apercu des fonctions access en allant créer une requete dans access en mode création, tu click droit sur un cellule "Champ" de la partie inférieure de la fenêtre. Tu arrivera dans le générateur d'expression ou tu pourras trouver tout ce qui est dispo.
Tiens moi au courant.
0
crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004
11 mars 2004 à 08:20
Ca ne fonctionne pas, grrr, je desespere.

Dis si je change le type de champs texte-->date, il m'affiche les date en anglais, mm/dd/yy, et je voudrais k il me les affiche en dd/mm/yy. Ps je ne travail qu avec VB6.
Merci
0
florantanplan Messages postés 76 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 8 septembre 2006
11 mars 2004 à 09:46
Montre moi donc comment tu génère ta requête stp
0
crocmorts Messages postés 49 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 6 avril 2004
11 mars 2004 à 11:01
C'est ok florantanplan, j'ai trouvé je travail en US, et lors de l'affichage, je le met en Francais.

Merci pr tt.

A++++++
0
cs_user Messages postés 14 Date d'inscription mardi 17 décembre 2002 Statut Membre Dernière intervention 16 août 2010
1 juin 2005 à 15:37
meme pro
0
Rejoignez-nous