cs_lucki
Messages postés11Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention18 novembre 2006
-
8 mai 2006 à 18:32
TheBuzzer
Messages postés19Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention25 août 2009
-
13 déc. 2006 à 18:20
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
cs_lucki
Messages postés11Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention18 novembre 2006 11 mai 2006 à 14:04
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 %
cs_AzertyH
Messages postés69Date d'inscriptionsamedi 25 mars 2006StatutMembreDernière intervention18 janvier 2007 13 mai 2006 à 03:51
Salut c'est encore moi, je viens de réussir à faire ma requette Between avec l'assistant de Vb2005. C'était tout con, mais il fallait quand même savoir le faire.
Pour info, Acces et SQL Express sont effectivement différent au niveau des commandes de VB2005.
Voici la gueule de la requette:
SELECT [date] FROM intervention
WHERE ([date] BETWEEN ? AND ?)
Avec access, on met des "?" au lieu des variables.
Après fermeture de l'assistant, VB2005 créait automatiquement des variables "date" et "date1" (qui sont bien sure celles représentées par des "?").
Ensuite dans le code de la Form, pour charger le DataSet, il faut écrire:
cs_lucki
Messages postés11Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention18 novembre 2006 8 mai 2006 à 19:18
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)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_lucki
Messages postés11Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention18 novembre 2006 9 mai 2006 à 16:05
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????
cs_lucki
Messages postés11Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention18 novembre 2006 9 mai 2006 à 19:28
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
cs_AzertyH
Messages postés69Date d'inscriptionsamedi 25 mars 2006StatutMembreDernière intervention18 janvier 2007 13 mai 2006 à 00:55
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 [mailto:'@' '@']. 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.
cs_lucki
Messages postés11Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention18 novembre 2006 13 mai 2006 à 02:25
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....
cs_lucki
Messages postés11Date d'inscriptionjeudi 4 mai 2006StatutMembreDernière intervention18 novembre 2006 13 mai 2006 à 04:00
Super.
Pour l'instant je refait mon programme.
Cette fois-ci avec un projet écrit à l'avance...
Donc avec du temps, pour visualiser des table je devrai surement utiliser ta commande fill(*.*, variable1, variable2)