source formulaire access

source formulaire access - VB/VBA/VBS - Programmation

Marsh Posté le 06-09-2005 à 01:11:21    

Salut à tous !
 
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 ??? :ouch:  :ouch:  
Merci à tous pour votre aide !!!!

Reply

Marsh Posté le 06-09-2005 à 01:11:21   

Reply

Marsh 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
Reply

Marsh 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)
 
masource = masource _
        & "WHERE date='#" & ddate & "#';"
Me.Form.RecordSource = masource
 
et ça marche pas !!!  :fou:  :fou:  
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 !!!  :hello:  :hello:

Reply

Marsh Posté le 09-09-2005 à 01:50:14    

y'a personne qui peut m'apporter son soutien ????
 
svp ...

Reply

Marsh 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
Reply

Marsh 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 ...

Reply

Marsh 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
Reply

Marsh 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 !

Reply

Marsh 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
Reply

Marsh 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 ! :fou:  :fou:  :fou:  
 
j'en peux plus !!!!! lol !!!!  :??:  :??:  :??:

Reply

Marsh Posté le 11-09-2005 à 13:29:04   

Reply

Marsh 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 &"#';"

Reply

Marsh 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

Reply

Marsh 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 ...  
 
@+

Reply

Marsh 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 !!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed