Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : vb2005 & SQL between date et variable [ Archives Visual Basic / Bases de données ] (lucki)

lundi 8 mai 2006 à 18:32:28 | vb2005 & SQL between date et variable

lucki

bonjour à tous
J'utilise Visual Basic 2005 Express et SQL Express
j'entre dans un form deux variables date : date1 et date2 :

Dim date1 As Date
Dim date2 As Date
date1 = DateTimePicker1.Text
date2 = DateTimePicker2.Text
Me.Table1TableAdapter.FillBy(Me.FactureDataSet.Table1)

ensuite j'utilise requete SQL pour afficher dans datagridview toutes les données entre deux dates :

SELECT     [Cléf unique], Date, Objet, Credit, Debit
FROM         Table1
WHERE     (Date BETWEEN '&date1' AND '&date2')

le Problème : j'ai une erreur SQL : echec de la convertion d'une valeur datetime à partir d'une chaine de caractère.

Comment je dois procéder pour que mon code soit valide?
merci


lundi 8 mai 2006 à 18:43:45 | Re : vb2005 & SQL between date et variable

youil

Essaie 

SELECT     [Cléf unique], Date, Objet, Credit, Debit
FROM         Table1
WHERE     (Date BETWEEN #" & date1 & "# AND #" & date2 & "#)


lundi 8 mai 2006 à 19:18:44 | Re : vb2005 & SQL between date et variable

lucki

Merci Youil,
Mais sql express ne reconnait pas cette syntaxe...

je cherche plutot à trouver une syntaxe SQL supplementaire (car la mienne est accèpté dans l'assistant configuration de requètes tableAdapter)
qui permetterais de convertir la chaine de caractère de "date1" et "date2" pour etre compatible avec la colone date de ma table (system.datetime)

mardi 9 mai 2006 à 16:05:44 | Re : vb2005 & SQL between date et variable

lucki

j'ai peut etre une solution mais je n'arrive pas à faire une syntaxe correct.

L'utilisation de la commande CONVERT ou CAST...
Est-ce que quelqun peut m'expliquer comment l'intégrée de manière correcte pour que la variable &date1 et &date2, qui a priori sont des charactères, ce tranforment en datetime????

merci

mardi 9 mai 2006 à 17:55:21 | Re : vb2005 & SQL between date et variable

youil

Utilise DateTimePicker1.value et la il est en date

mardi 9 mai 2006 à 18:48:37 | Re : vb2005 & SQL between date et variable

georgiogp

Lucki, Bonjour,

Ta cde SQL

SELECT     [Cléf unique], Date, Objet, Credit, Debit
FROM         Table1
WHERE     (Date BETWEEN '&date1' AND '&date2')


Souvenir d'Oracle SQL : si tu entres dans le formulaire une date JJMMAAAA  -->

SELECT     [Cléf unique], Date, Objet, Credit, Debit
FROM         Table1
WHERE     (Date BETWEEN TO-DATE('&date1', 'JJMMAAAA') AND 

                                      TO-DATE('&date2', 'JJMMAAAA') 
                   )

Mais je ne sia si cette syntaxe existe en SQL Express.

Georgiogp

mardi 9 mai 2006 à 19:28:59 | Re : vb2005 & SQL between date et variable

lucki

Merci pour le code value, çe code sera plus propre. seulement c'est le générateur de requete qui fait l'erreur de convertion.Donc avant d'employer le code visual basic. autrement-dit, c'est la requete SQL qui dérange.

Pour le code oracle, en effet, sql ne reconnait pas la commande to-date...

Merci quand même.
Je continuerais à chercher de mon coté en plus de vos aides présieuses


jeudi 11 mai 2006 à 14:04:04 | Re : vb2005 & SQL between date et variable

lucki

Réponse acceptée !
J'ai trouvé le problème:) = voici le nouveau code :
SELECT [Cléf unique], Date, Objet, Credit, Debit FROM dbo.Table1
WHERE Date BETWEEN @date1 AND @date2

Pour créer une variable il faut utiliser @ et non &
Enfin les ' ' sont utilisés pour une expression ainsi que %

Merci pour votre participation.


samedi 13 mai 2006 à 00:55:22 | Re : vb2005 & SQL between date et variable

AzertyH

Bonjour,

Je suis confronté à ce problème consernant l'utilisation de between et ses variables date1 et date2. Moi, j'utilise ACCESS et non pas SQL. J'utilise aussi VB 2005.

Dans le dernier message de lucki, je comprend pas pourquoi il écrit "dbo.Table1". Moi j'aurais plutôt mis Table1 (sans le dbo).
D'autre part, sa veut dire quoi : [Cléf unique] ? Je n'est jamais utilisé cela dans mes requette.

Voila, moi aussi je doit utiliser between, pour rechercher dans ma base Access des infos comprises entre telle date et telle date.

Voici ce que j'ai écrit dans l'assistant de mon DataSet :
SELECT [date] FROM intervention WHERE [date] BETWEEN @date1 AND @date2

Mais VB2005 n'est pas content, il me signale une erreur :
 "Erreur dans la clause WHERE à coté de '@'. Impossible d'analyser le texte de la requette."

Par ailleur, il faut aussi charger les données dans le DataSet avec la fameuse instruction:
Me.InterventionTableAdapter.Fill(Me.BddsavDataSet.intervention)
Pouvez vous me compléter cette dernière avec les variable date1 et date2.

Merci pour votre aide;
Amicalement AzertyH


samedi 13 mai 2006 à 02:25:55 | Re : vb2005 & SQL between date et variable

lucki

Bonjour AzertyH

Pour information, il ya 13 ans j'ai appris à faire des softs sous Quick Basic de Ms-dos... Aujourd'hui je réapprend tout, cela fait deux semaine que je me suis mis à visual basic 2005... Donc ça va être dur de t'aider, mais je ferais mon possible pour le faire

Pour commencer, pour l'histoire du "dbo.", c'est le générateur de requètes qui l'a mis... Regarde les requètes que tu as ; par exemple pour moi et sous sql, j'ai la requète fill.getData() qui a été faite automatiquement. Pour moi, le "dbo.*" est présent. Si cela n'est pas le cas chez toi, ou que il n'y a pas de mess d'erreur (ce qui est le cas à prioris) c'est que cela n'est valable que sous SQL.

Pour le problème de tes variables, je n'ai pas la solution, je regarderais dans les msdn et autres....

Pour la question de l'execution de ta requete sous Vbasic, lorsque la requete sera OK visual reconnaitra les variables : ensuite, pour ma part, je n'ai pas réussi à lier la variable "dim date1"et "dim date2" et celles de ma requete donc :
j'ai utilisé un menu toolStrip :
En bas de ton formulaire (version concepteur) tu doit avoir la fonction : "InterventionTableAdapter"
Fait un clique droit dessus
Choisit "ajouter une requete"
Selectionne ta table et choisit "nom de requete existant"
Selectionne Fill()
Et fait Ok
: Dans ton form, tu as maintenant des TextBox et un bouton pour valider

Seul problème je n'ai pas réussi à faire que les TextBox intègrent la fonction Datetime, donc l'utilisateur est obligé de mettre en texte"12/05/2006" par exemple....



1 2

Cette discussion est classé dans : date, sql, date1, between, date2


Répondre à ce message

Sujets en rapport avec ce message

requete sql avec date!!! [ par laurent180 ] voila j'aimerai faire un tris dans ma table sqlvoici la requete que j'utilise: date1 = DateAdd("m", 1, Date)txtCodesSQL = "SELECT * FROM Table1 WHERE sql date [ par FASH ] Bonjour à tous, je voudrais faire une requete sql dans vb6 en utilisant BETWEEN pour rechercher une rendez-vous entre deux dates. La voiciSQLDeuxDates fourchette de date en SQL [ par jhon_smith ] bonjour, mon problème est comme suit : j'essai à partir de ma requette SQL de n'avoir dans le recordset que les éléments ayant une date comprise entre Problème insertion variable dans une tableà partir du code vba du bouton ajouter du formulaire [ par yokulan ] Bonjour à tous j'ai un problème avec l'insertion d'une variable dans une table à partir du code vba du bouton ajouter du formulaire:Private Sub Ajoute Recherche Date [ par petiflamand ] Bonjour , Je voudrais rechercher dans une base de donnée des dates bien précise j'ai plus de 100000 entrée avec des dates différente et je veux pouv Basse access [ par vialstephane ] Bonsoir,J'utilise Set db = OpenDatabase("monfichier.mdb")sql = "select * from MaTable where Date=#" & var_date & "#"pour me connecter à une base de do SQL avec texte et date [ par jujube ] Bonjour, pourriez-vous me dire ce qui ne fonctionne pas avec cette requete SVP.Les champs sDepart et sFin sont des dates  Merci       sRequet Réinitialiser un champ date dans une base Access [ par dany108 ] Bonsoir à tous,dans une requete destinée à une base Access je souhaite supprimer la date dans un champ date.J'ai écrit ceci mais cela ne fonctionne requete sql [ par marco60 ] bonjour  je suis débutant j'essai de comprende quand je mmet une date sa marchePrivate Sub Form_Load()Dim b, dDim sql As StringDim cnx As ADODB.Connec Problème requete SQL date between [ par laurentsimon ] Bonjour à tous, j'ai un problème sur une requete et je ne trouve pas la solution. J'ai chercher sur le site mais je n'ai pas trouvé la solution...Cett


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.