J'ai recherché sur les forums mais rien ne correspond. alors voici mon pb :
j'ai un formulaire dans lequel je fais une recherche par rapport à une date saisie par l'utilisateur.
en fonction de cette date, je veux changer la source de mon formulaire ACTIF. je fais un truc du style
dim masource as string
masource="SELECT * ...." ----> requete SQL
mais comment je fais pour changer la source de ce formulaire pour qu'il m'affiche que les enregistrements correspondant à cette date ?? Dois-je en créer un autre ? y'a une commande particuliere ??
aidez moi svp, je n'y arrive pas ! et quand je tente un truc, il me met : "caractères trouvés après l'instruction SQL" ===> keskil di le monsieur ??? Merci à tous pour votre aide !!!!
Publicité
Posté le 06-09-2005 à 01:11:21
knakes
Posté le 06-09-2005 à 21:06:51
masource = "selec ..." mets voir le reste.
Citation :
la source de ce formulaire
Un texbox avec du texte dedans ?
Citation :
aidez moi svp
Exprimes toi stp !
(dslé c'est le soir, il faut que je décompresse ...) (oui, le fouet. NA !)
---------------
now : do nothing
guedinboy
Posté le 07-09-2005 à 00:58:56
dim ddate as date
dim masource as string
masource = "SELECT * FROM club ;"
ddate=inputbox("veuillez saisir la date de recherche:", ", "** RECHERCHE PAR DATE **", Date)
et ça marche pas !!! je veux faire une recherche sur une date précise. les résultats de cette requête deviennent la source de mon formulaire mais comment faire car le code plus haut ne fonctionne pas !!! il me fait : "erreur 3142 : caractères trouvés après la fin de l'instruction SQL". Quand je vais dans le débogueur, il me surligne : "me.form.recordsource=masource".
Donc je ne capte rien ... help me svp !!!
guedinboy
Posté le 09-09-2005 à 01:50:14
y'a personne qui peut m'apporter son soutien ????
svp ...
knakes
Posté le 09-09-2005 à 10:24:46
Si on prend une date au pif et qu'on regarde la chaine, on trouve :
SELECT * FROM club ;WHERE date='#date#';
Ce serait pas plutot
SELECT * FROM club WHERE date='#date#';
Message édité par knakes le 09-09-2005 à 10:25:26
---------------
now : do nothing
guedinboy
Posté le 10-09-2005 à 01:24:28
masource="SELECT * FROM Club WHERE date='#ddate#';"
Je viens de changer ça et malheureusement, voilà l'erreur :
"erreur 2001 : opération annulée". et il pointe vers
me.form.recordsource=masource
je n'y comprends plus rien !!!
Merci à tous ceux qui m'aident ...
knakes
Posté le 10-09-2005 à 16:52:51
nan
teste voir
masource="SELECT * FROM Club WHERE date='#" & ddate &"#';"
Maintenant, il est possible que pour l'expression de la requete ce soit
masource=chr(34) & "SELECT * FROM Club WHERE date='#" & ddate & "#';" &chr(34)
---------------
now : do nothing
guedinboy
Posté le 10-09-2005 à 21:02:15
je ne comprends pas l'utilité des chr(34) ! de plus, voilà l'erreur :
erreur 3078 le moteur de base de données microsoft jet ne peut pas trouver la table ou la requête source ' " SELECT * FROM Clubs WHERE ...;" & chr(34). Assurez vous qu'elle existe et qu'elle est bien ortograhiée.
Je ne comprends toujours pas !
Merci à tous !
knakes
Posté le 11-09-2005 à 10:01:19
les chr(34) sont des guillemets
en clair si dans le code tu mets chr(34), VB mettra ".
Toi quand tu mets une date a la main ce fonctionne ?
masource="SELECT * FROM Club WHERE date='#11/09/2005#';" par exemple ?
---------------
now : do nothing
guedinboy
Posté le 11-09-2005 à 13:29:04
en fait, j'ai fait autre chose pour essayer de contourner le pb.
j'ai fait :
ddate = inputbox ("saisir la date : ", "** recherche par date **" )
me.date_rech=ddate
curseur.open "SELECT * FROM Clubs WHERE date = '#"& me.date_rech & '# ;"", ...
le nouveau pb ki se pose, c'est qu'il me trouve le bon nombre d'enregistrement mais à l'affichage dans le formulaire, on peut consulter tous les enregistrements y compris ceux de la recherche !
j'en peux plus !!!!! lol !!!!
Publicité
Posté le 11-09-2005 à 13:29:04
Fred_l
Posté le 11-09-2005 à 13:52:24
Essai plutôt :
curseur.open "SELECT * FROM Clubs WHERE date = '#" & me.date_rech & "#';"
Car tu as une inversion entre les " et # et ' ... tu as &'#;" au lieu de &"#';"
guedinboy
Posté le 11-09-2005 à 14:22:00
meme ça, ça marche pas !!!! il trouve le bon nombre d'enregistrements mais je ne comprends pas pourquoi il m'affiche la totalité de ma table en source du formulaire !!!!!
quelqu'un aurait une idée ???? merci
Fred_l
Posté le 11-09-2005 à 22:59:07
As tu essayer de mettre une date fixe ?
si non, essai avec :
curseur.open "SELECT * FROM Clubs WHERE date = '30/08/2005';"
Et regarde si tu n'a que les enregistrements de cette date...
Si tu ne les as pas, c'est que tu as un hic dans ton formulaire...
Du genre une liaison avec la table, ce qui ferais que ca te donne tout les enregistrement sans tenir compte te ta requête...
D'ailleurs vérifie ça avant tout ...
@+
guedinboy
Posté le 13-09-2005 à 01:39:21
encore plus fort ! j'ai fait les tests que tu m'as dit fred_l. il y avait bien un pb de date alors, j'ai tout repris. voilà ce que ça donne :
dim masource as string
masource = "SELECT * FROM Clubs WHERE date_club=#03/03/2005#;"
me.form.recordsource=masource
et ça marche pas : aucun champs indépendants de mon formulaire ! est-ce à cause du fait qu'ils sont indépendants ou c'est autre chose ???
merci pour vos précieuses réponses qui m'aident énormément !!!