OVH Cloud OVH Cloud

liste de requète

15 réponses
Avatar
Erwan
Bonjour,=20

Sur un formuliare, dans une zone de liste , je veux faire=20
apparaitre toutes les requ=EAtes dont le nom commence=20
par "Restit_" afin de pouvoir les lancer directemnt =E0=20
partir du formulaire.

En fait, j'ai un nombre important de requ=EAte =E0 lancer =E0=20
partir du formulaire..ce nombre est amen=E9 =E0 augmenter=20
d'ou l'id=E9e d'en faire une liste "dynamique"

Merci d'avance

5 réponses

1 2
Avatar
Pierre CFI [mvp]
là, on peut ajouter (dans la méthode remarquable d'éric, ou dans la mienne tout aussi remarquable) la property mais je connais pas
le no de properties(?)
Raymond, les recite tous les matins, donc il va répondre

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Erwan" a écrit dans le message de news:13c501c499a9$2cbf6500$
Merci...et si je souhaite aussi la description de la
requète (définie dans les propriétés)????
-----Message d'origine-----
bonjour
tu fais une table ici req avec un champ nomreq
dans le form, tu lie ta liste sur req
et
Private Sub Form_Load()
Dim r As QueryDef
Dim bd As Database
Set bd = CurrentDb
bd.Execute "delete from req"
For Each r In bd.QueryDefs

If Left(r.Name, 7) = "Restit_" Then
bd.Execute "insert into req (nomreq) values
('" & r.Name & "')"

End If

Next
End Sub


--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Erwan" a écrit
dans le message de news:14dd01c499a2$c9ebec10

$
Bonjour,

Sur un formuliare, dans une zone de liste , je veux faire
apparaitre toutes les requêtes dont le nom commence
par "Restit_" afin de pouvoir les lancer directemnt à
partir du formulaire.

En fait, j'ai un nombre important de requête à lancer à
partir du formulaire..ce nombre est amené à augmenter
d'ou l'idée d'en faire une liste "dynamique"

Merci d'avance


.



Avatar
Merci pour ces explications qui ne sont pas inutiles
(surtout pour la signification des flags...le reste
j'avais compris) Mais en fait ce que je cherche à avoir
c'est le nom des requetes (ca c'est bon avec ta méthode)
ET leur description (accessible par clic droit/propriétés
sur la requete concernée).


-----Message d'origine-----
Re-,
En fait c'est une requête qui va intérroger ta propre
base de données, avec tous ses objets (tables,
formulaires, états et bien sûr requêtes) en prennant
MSysObjects.Type=5 tu prends les requêtes + autre chose,
et les requêtes sont sélectionnées avec
MSysObjects.Flags= 0 pour les sélections
MSysObjects.Flags pour les tableaux croisées
dynamiques

MSysObjects.Flags2 pour les suppressions
MSysObjects.FlagsH pour les mises à jour
MSysObjects.Flagsd pour les ajouts
MSysObjects.Flags€ pour les créations de tables

MSysObjects.Name LIKE "Restit_" comme tu l'as dit...

Pour écrire cette requête, va dans une nouvelle requête
et clique sur le bouton SQL puis copie-là.

Bye
Yann

-----Message d'origine-----
Merci...et si je souhaite aussi la description de la
requète (définie dans les propriétés)????

-----Message d'origine-----
Salut Erwan,
Utilise la requête suivante :
SELECT MSysObjects.Name
FROM MSysObjects
WHERE (MSysObjects.Flags=0 Or MSysObjects.Flags Or
MSysObjects.Flags2 Or MSysObjects.FlagsH Or
MSysObjects.Flagsd Or MSysObjects.Flags€) AND
MSysObjects.Type=5 AND MSysObjects.Name LIKE "Restit_";

Bye
Yann

-----Message d'origine-----
Bonjour,

Sur un formuliare, dans une zone de liste , je veux
faire

apparaitre toutes les requêtes dont le nom commence
par "Restit_" afin de pouvoir les lancer directemnt à
partir du formulaire.

En fait, j'ai un nombre important de requête à lancer
à



partir du formulaire..ce nombre est amené à augmenter
d'ou l'idée d'en faire une liste "dynamique"

Merci d'avance
.

.


.


.







Avatar
Raymond [mvp]
Je vole donc au secours des opprimés.
en premier lieu je vois que tout le monde a encore oublié de tester le
premier caractère du nom de la requête et que si celui-ci est un tilde il ne
faut pas prendre la requête.
en second lieu, connaissant Corps comme je la connais, passer par les tables
système en testant les flags pour sélectionner les requêtes relève d'une
certaine témérité envers les futures versions que je ne mettrais pas en
pratique dans une application sérieuse.
Ce préambule étant posé, pour avoir la description il faut demander la
propriété description pour autant qu'elle existe sinon erreur fatale. Il
faut donc placer un On Error resume Next devant et demander la propriété par
r.Properties("description").Value dans l'exemple de Pierre.

Mon compte numéroté aux iles est toujours valide.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" a écrit dans le message de
news:%
là, on peut ajouter (dans la méthode remarquable d'éric, ou dans la mienne
tout aussi remarquable) la property mais je connais pas

le no de properties(?)
Raymond, les recite tous les matins, donc il va répondre

--
Pierre CFI


Avatar
Pierre CFI [mvp]
et oh
en premier lieu je vois que tout le monde a encore oublié de tester le
premier caractère du nom de la requête et que si celui-ci est un tilde il ne
faut pas prendre la requête
mon left(r.name,7) =, c'est de la daube, mécréant.... :o))

pour le reste, bon, çà va

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Raymond [mvp]" a écrit dans le message de news:
Je vole donc au secours des opprimés.
en premier lieu je vois que tout le monde a encore oublié de tester le
premier caractère du nom de la requête et que si celui-ci est un tilde il ne
faut pas prendre la requête.
en second lieu, connaissant Corps comme je la connais, passer par les tables
système en testant les flags pour sélectionner les requêtes relève d'une
certaine témérité envers les futures versions que je ne mettrais pas en
pratique dans une application sérieuse.
Ce préambule étant posé, pour avoir la description il faut demander la
propriété description pour autant qu'elle existe sinon erreur fatale. Il
faut donc placer un On Error resume Next devant et demander la propriété par
r.Properties("description").Value dans l'exemple de Pierre.

Mon compte numéroté aux iles est toujours valide.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" a écrit dans le message de
news:%
là, on peut ajouter (dans la méthode remarquable d'éric, ou dans la mienne
tout aussi remarquable) la property mais je connais pas

le no de properties(?)
Raymond, les recite tous les matins, donc il va répondre

--
Pierre CFI






Avatar
Yann
Salut,
Je n'avais pas compris, pardon... Essaie ça
Private Sub Form_Open()
Dim i As Integer
Dim rs As Object
For Each rs In CurrentDb.QueryDefs
If Left$(rs.Properties("Name"), 7) = "Restit_" Then
For i = 0 To rs.Properties.Count - 1
If rs.Properties(i).Name = "Description" Then
Me.Combo0.AddItem rs.Properties(i).Value
Exit For
End If
Next i
End If
Next
End Sub
Peut être que si tu en as vraiment beaucoup, tu peux
saturer la mémoire allouée à ce type de liste déroulante,
Dans ce cas là passe par une table temporaire que tu
supprime lorsque tu quittes le formulaire.

J'éspère que ça te conviens...

Bye
Yann

-----Message d'origine-----
Merci pour ces explications qui ne sont pas inutiles
(surtout pour la signification des flags...le reste
j'avais compris) Mais en fait ce que je cherche à avoir
c'est le nom des requetes (ca c'est bon avec ta méthode)
ET leur description (accessible par clic
droit/propriétés

sur la requete concernée).


-----Message d'origine-----
Re-,
En fait c'est une requête qui va intérroger ta propre
base de données, avec tous ses objets (tables,
formulaires, états et bien sûr requêtes) en prennant
MSysObjects.Type=5 tu prends les requêtes + autre
chose,


et les requêtes sont sélectionnées avec
MSysObjects.Flags= 0 pour les sélections
MSysObjects.Flags pour les tableaux croisées
dynamiques

MSysObjects.Flags2 pour les suppressions
MSysObjects.FlagsH pour les mises à jour
MSysObjects.Flagsd pour les ajouts
MSysObjects.Flags€ pour les créations de tables

MSysObjects.Name LIKE "Restit_" comme tu l'as dit...

Pour écrire cette requête, va dans une nouvelle requête
et clique sur le bouton SQL puis copie-là.

Bye
Yann

-----Message d'origine-----
Merci...et si je souhaite aussi la description de la
requète (définie dans les propriétés)????

-----Message d'origine-----
Salut Erwan,
Utilise la requête suivante :
SELECT MSysObjects.Name
FROM MSysObjects
WHERE (MSysObjects.Flags=0 Or MSysObjects.Flags Or
MSysObjects.Flags2 Or MSysObjects.FlagsH Or
MSysObjects.Flagsd Or MSysObjects.Flags€) AND
MSysObjects.Type=5 AND MSysObjects.Name
LIKE "Restit_";





Bye
Yann

-----Message d'origine-----
Bonjour,

Sur un formuliare, dans une zone de liste , je veux
faire

apparaitre toutes les requêtes dont le nom commence
par "Restit_" afin de pouvoir les lancer directemnt
à





partir du formulaire.

En fait, j'ai un nombre important de requête à
lancer





à
partir du formulaire..ce nombre est amené à
augmenter





d'ou l'idée d'en faire une liste "dynamique"

Merci d'avance
.

.


.


.


.








1 2