Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1227 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

debutant formulaire access et SQL

n°999270
FlorentG
Unité de Masse
Posté le 03-03-2005 à 10:37:47  profilanswer
 

Reprise du message précédent :

kiki28 a écrit :

au fait je voudrai que le Me!lstresults.RowSource contienne tout sans depasser 255caracteres evidemment


C'est la solution que je t'ai proposé. Tu as une requête enregistrée, dans laquelle t'as aucune limite. Et après dans la propriété Rowsource, tu met le nom de la requête, et ça marche

mood
Publicité
Posté le 03-03-2005 à 10:37:47  profilanswer
 

n°999271
kiki28
Posté le 03-03-2005 à 10:38:28  profilanswer
 

une question car en attendant je suis en train d essayer ta solution mais le  
Dim QryPouet As QueryDef
Set QryPouet = CurrentDb.QueryDefs("ma_requete" )
 
tu le met bien dans le Private Sub RefreshQuery()???
 
car j ai toujours le meme message:
"type defini par l utilisateur non defini"
meme en mettant  
Dim QryPouet As dao.QueryDef
Set QryPouet = CurrentDb.QueryDefs("ma_requete" )

n°999272
FlorentG
Unité de Masse
Posté le 03-03-2005 à 10:38:31  profilanswer
 

kiki28 a écrit :

je sais pas si j'ai mal compris ou si je vois pas bien comment on fait...
je defini
Dim SQL As String
Dim SQLWhere As String
 
ensuite le rowsouce contient le sql
 
Me!lstresults.RowSource = SQL
 
mais dans ton  
QryPouet.SQL = "SELECT ........"
je dois retapper le SQL de base donc avec les autres arguments je pense que les 255 caracteres sont vite atteint??? ou alors j'ai peut etre pas saisi exactement comment on fait mais j ai un peu compris qd meme....


Non, le RowSource ne contient pas le SQL. C'est la requête qui le contient, et le RowSource contiendra le nom de la requête

n°999274
FlorentG
Unité de Masse
Posté le 03-03-2005 à 10:39:16  profilanswer
 

kiki28 a écrit :

une question car en attendant je suis en train d essayer ta solution mais le  
Dim QryPouet As QueryDef
Set QryPouet = CurrentDb.QueryDefs("ma_requete" )
 
tu le met bien dans le Private Sub RefreshQuery()???
 
car j ai toujours le meme message:
"type defini par l utilisateur non defini"
meme en mettant  
Dim QryPouet As dao.QueryDef
Set QryPouet = CurrentDb.QueryDefs("ma_requete" )


Il y a une référence qui manque ;) S'il n'a pas mis le DAO en majuscule, c'est qu'il n'y a pas la bonne référence DAO

n°999276
kiki28
Posté le 03-03-2005 à 10:41:30  profilanswer
 

oui je suis d'accord mais a la requete de base on ajoute d'autre arguments comment dans le rowSource tu peux concatener le nom de la requete et les arguments?

n°999280
kiki28
Posté le 03-03-2005 à 10:42:06  profilanswer
 

et tu fais comment pour la reference dao?

n°999282
FlorentG
Unité de Masse
Posté le 03-03-2005 à 10:42:19  profilanswer
 

Je crois que t'as rien compris...

n°999283
kiki28
Posté le 03-03-2005 à 10:42:47  profilanswer
 

je pense.....

n°999287
FlorentG
Unité de Masse
Posté le 03-03-2005 à 10:45:03  profilanswer
 

Au départ, t'as mis tout ton SQL dans le RowSource. Ce qu'il faut faire, c'est mettre tout ton SQL dans une requête enregistrée. Et après dans le RowSource tu met le nom de cette requête.
 
Pour les référence, c'est Outils\Référence je crois, et y'a dans la liste Microsoft DAO 3.6

n°999290
kiki28
Posté le 03-03-2005 à 10:48:30  profilanswer
 

voila ce que j'ai compris:
 
tu declare
Dim SQL As DAO.QueryDef  
Set SQL = CurrentDb.QueryDefs("ma_requete" )
 
ensuite pour chaque argument tu fais:
 
If Me.chkAuteur Then
    SQL = SQL & "And Medias!Auteur like '*" & Me.txtRechAuteur & "*' "
 
c'est ca?
 
et apres dans le rowSource tu met:
Me.lstResults.RowSource = SQL
End If

mood
Publicité
Posté le 03-03-2005 à 10:48:30  profilanswer
 

n°999295
kiki28
Posté le 03-03-2005 à 10:50:01  profilanswer
 

hein??? explique comment tu fais car je suis largué!

n°999322
FlorentG
Unité de Masse
Posté le 03-03-2005 à 11:02:10  profilanswer
 

Presque :)
 

Me!LstResults.RowSource = "ma_requete"

n°999327
kiki28
Posté le 03-03-2005 à 11:03:29  profilanswer
 

c est tout?
 
au fait je trouve pas la reference a DAO...

n°999346
FlorentG
Unité de Masse
Posté le 03-03-2005 à 11:20:50  profilanswer
 

C'est tout ouais. Si tu trouves pas la référence, c'est qu'il y a problème :D "Microsoft DAO 3.6 Object Library"

n°999348
kiki28
Posté le 03-03-2005 à 11:21:01  profilanswer
 

en fait je viens de faire fonctionner l'exemple mais uniquement si je n'utilise pas toutes les conditions...
mais ta solution peux se trouver forte utile...

n°999368
kiki28
Posté le 03-03-2005 à 11:34:36  profilanswer
 

j'ai trouvé pkoi ca marchait pas avec toutes les condition en fait c etait pas ca mais dans un de mes champd il y avait une apostrophe donc ca fermait mon like.... j'ai pas encore resolu le probleme car j'y reflechi je me demande pas s il n y a pas de balise qui permettrai d'accepter n'importe quel caractere contenu entre elles su style \ aazaz"*//-*-/"azaza   \

n°999394
FlorentG
Unité de Masse
Posté le 03-03-2005 à 11:58:05  profilanswer
 

Si t'as des quotes, faut faire genre :

"SELECT * FROM pouet WHERE nom LIKE ""*machin*"""

n°999504
kiki28
Posté le 03-03-2005 à 13:30:29  profilanswer
 

tu veux dire comme ca:
 
If Me.chkAuteur Then
    SQL = SQL & "And mon_champ like '"" & Me.txtAuteur & ""' "
End If

n°999522
FlorentG
Unité de Masse
Posté le 03-03-2005 à 13:48:14  profilanswer
 

voilà, faut les doubler à l'intérieur :)

n°999525
kiki28
Posté le 03-03-2005 à 13:50:57  profilanswer
 

je viens d 'essayer mais ca ne marche pas...

n°1003418
kiki28
Posté le 07-03-2005 à 11:37:40  profilanswer
 

j'ai trouvé une autre solution qui fonctionne Merci pour tous vos conseils...
 

n°1003431
kiki28
Posté le 07-03-2005 à 11:45:57  profilanswer
 

je vais rester sur le meme sujet et j'ai une question...
 
dans le meme genre de formulaire multicritere j'ai une petit soucis de comparaison avec des pourcentages...
 
 
voile comment je procede:
 
SQL = "select * from table where comdition blabla
If Me.chekbox Then
    SQL = SQL & "And mon_champ " & Me.cmpCompare & "'" & Me.ma_valeur_selectionnée & "' "
End If
Me.lstresults.RowSource = SQL
Me.lstresults.Requery
 
 
j'ai mis comme valeurs 0% 25% 50% 100% mais avec la comparaison > 100% il n'a pas l'air de selectionner 100%
idem pour > 75% il ne maffiche que les pourcentage 75% mais pas les 100%
 
Merci de votre aide...

n°1371887
RavenShado​W1
Posté le 22-05-2006 à 09:52:10  profilanswer
 

kiki28 a écrit :


j'ai mis comme valeurs 0% 25% 50% 100% mais avec la comparaison > 100% il n'a pas l'air de selectionner 100%
idem pour > 75% il ne maffiche que les pourcentage 75% mais pas les 100%


 
Essaye de mettre : comparaison >= 100%  ( supérieur ou égal à .. ) car en effet, si tu met > 100% , il le prendra comme une condition fausse ..


Message édité par RavenShadoW1 le 22-05-2006 à 09:53:23
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Inventaire : importation d'info d'un fichier txt vers ms access 2000taritement chaîne de caractères sous access
Probleme de requet SQL php[SQL] Question bête
Débutant : questions C/C++evenement sur liste deroulante dans access
recherche forum asp avec bd accessAjouter des éléments de formulaire sans PHP
Connection à SQL server[SQL SERVER] Primary key de type char/varchar
Plus de sujets relatifs à : debutant formulaire access et SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR