Boujour je ne comprends pas pourquoi ca ne marche pas...
Ca me parrait pourtant logique...mais j'ai la logique du debutant
Pouvez vous m'aider
N.
Dim stDocName As String
Dim stLinkCriteria As String
Dim question As String
stDocName = "PROGRAMME"
'je veux que le critere saisi ds mon inputbox me trie et m'affiche le
formulaire "programme "de l'année (annee_Prog - champ texte)
question = InputBox(Chr(13) & Chr(13) & Chr(13) & "Années ??")
et bien par exemple, si on reste sur l'année, je veux les programme de 2004 et 2005 donc : select * from programme where Prog_annee >= 2004 il doit me renvoyer des 3 Id_prog (cle primaire de programme)... Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le code VB)
Merci de votre aide N.
"Raymond [mvp]" a écrit dans le message de news:
Pourquoi ne pas passer directement par un filtre, appliqué au formulaire, sans passer par un recorset externe pour trouver une liste de valeurs. donne un exemple de sélection qu'il faudrait faire sur ce formulaire ( même pour l'année on peut passer par un filtre).
-- @+ 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
"Nina" a écrit dans le message de news:
Ok merci mais si je veux passer comme reponse avec plusieurs valeurs + une boucle, je ne peux pas ? Un recordset ne peut avoir qu'une seule valeur mm si une boucle le fait tourner en "concatener" dans une variable les resultats avec par exemple Dim conca as string Dim Db As DAO.Database Dim Rs As DAO.Recordset Dim maRequete = Select * from ma table Set Db = CurrentDb
Set Rs = Db.OpenRecordset("maRequete") Conca = rs Boucle sur rs Conca = conca + rs
(escuser pour la synthaxe mais je n'en suis (helas) qu'au niveau ou j'essaie de comprendre la logique, j'essaie de reproduire le type array (en php par exemple) qui avec une boucle a une logique de poiteur tout au long d'une requete...)
Ma question, je l'avoue, sort un peu de mon objet initial alors n'hesiter pas à me recadrer si je vous ennuie :-))
N.
et bien par exemple, si on reste sur l'année, je veux les programme de 2004
et 2005 donc :
select * from programme where Prog_annee >= 2004
il doit me renvoyer des 3 Id_prog (cle primaire de programme)...
Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le
code VB)
Merci de votre aide
N.
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: u8zoSJptEHA.200@TK2MSFTNGP11.phx.gbl...
Pourquoi ne pas passer directement par un filtre, appliqué au formulaire,
sans passer par un recorset externe pour trouver une liste de valeurs.
donne un exemple de sélection qu'il faudrait faire sur ce formulaire (
même pour l'année on peut passer par un filtre).
--
@+
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
"Nina" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: eB4PH8otEHA.3200@TK2MSFTNGP09.phx.gbl...
Ok merci mais si je veux passer comme reponse avec plusieurs valeurs +
une boucle, je ne peux pas ?
Un recordset ne peut avoir qu'une seule valeur mm si une boucle le fait
tourner en "concatener" dans une variable les resultats avec par exemple
Dim conca as string
Dim Db As DAO.Database
Dim Rs As DAO.Recordset
Dim maRequete = Select * from ma table
Set Db = CurrentDb
Set Rs = Db.OpenRecordset("maRequete")
Conca = rs
Boucle sur rs
Conca = conca + rs
(escuser pour la synthaxe mais je n'en suis (helas) qu'au niveau ou
j'essaie de comprendre la logique, j'essaie de reproduire le type array
(en php par exemple) qui avec une boucle a une logique de poiteur tout au
long d'une requete...)
Ma question, je l'avoue, sort un peu de mon objet initial alors n'hesiter
pas à me recadrer si je vous ennuie :-))
et bien par exemple, si on reste sur l'année, je veux les programme de 2004 et 2005 donc : select * from programme where Prog_annee >= 2004 il doit me renvoyer des 3 Id_prog (cle primaire de programme)... Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le code VB)
Merci de votre aide N.
"Raymond [mvp]" a écrit dans le message de news:
Pourquoi ne pas passer directement par un filtre, appliqué au formulaire, sans passer par un recorset externe pour trouver une liste de valeurs. donne un exemple de sélection qu'il faudrait faire sur ce formulaire ( même pour l'année on peut passer par un filtre).
-- @+ 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
"Nina" a écrit dans le message de news:
Ok merci mais si je veux passer comme reponse avec plusieurs valeurs + une boucle, je ne peux pas ? Un recordset ne peut avoir qu'une seule valeur mm si une boucle le fait tourner en "concatener" dans une variable les resultats avec par exemple Dim conca as string Dim Db As DAO.Database Dim Rs As DAO.Recordset Dim maRequete = Select * from ma table Set Db = CurrentDb
Set Rs = Db.OpenRecordset("maRequete") Conca = rs Boucle sur rs Conca = conca + rs
(escuser pour la synthaxe mais je n'en suis (helas) qu'au niveau ou j'essaie de comprendre la logique, j'essaie de reproduire le type array (en php par exemple) qui avec une boucle a une logique de poiteur tout au long d'une requete...)
Ma question, je l'avoue, sort un peu de mon objet initial alors n'hesiter pas à me recadrer si je vous ennuie :-))
N.
Raymond [mvp]
Il ne faut pas partir sur des inputbox ou des paramètres. tu dois partir sur un contrôle texte dans le formulaire dans lequel tu indiques l'année mini à prendre , par exemple 2004 pour prendre 2004 et 2005. DoCmd.OpenForm "monFormulaire" ........ dans l'événement Form_Load de "monFormulaire", tu indiques: Me.filter = "[Prog_annee] > " & Forms!Formulaire1!Année Me.filterOn = True
ce qui te permet de supprimer le filtre et d'en composer un autre éventuellement sans sortir du formulaire par un autre moyen. -- @+ 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
"Nina" a écrit dans le message de news: %
et bien par exemple, si on reste sur l'année, je veux les programme de 2004 et 2005 donc : select * from programme where Prog_annee >= 2004 il doit me renvoyer des 3 Id_prog (cle primaire de programme)... Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le code VB)
Merci de votre aide N.
Il ne faut pas partir sur des inputbox ou des paramètres.
tu dois partir sur un contrôle texte dans le formulaire dans lequel tu
indiques l'année mini à prendre , par exemple 2004 pour prendre 2004 et
2005.
DoCmd.OpenForm "monFormulaire" ........
dans l'événement Form_Load de "monFormulaire", tu indiques:
Me.filter = "[Prog_annee] > " & Forms!Formulaire1!Année
Me.filterOn = True
ce qui te permet de supprimer le filtre et d'en composer un autre
éventuellement sans sortir du formulaire par un autre moyen.
--
@+
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
"Nina" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: %235vMxmptEHA.3188@TK2MSFTNGP15.phx.gbl...
et bien par exemple, si on reste sur l'année, je veux les programme de
2004 et 2005 donc :
select * from programme where Prog_annee >= 2004
il doit me renvoyer des 3 Id_prog (cle primaire de programme)...
Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le
code VB)
Il ne faut pas partir sur des inputbox ou des paramètres. tu dois partir sur un contrôle texte dans le formulaire dans lequel tu indiques l'année mini à prendre , par exemple 2004 pour prendre 2004 et 2005. DoCmd.OpenForm "monFormulaire" ........ dans l'événement Form_Load de "monFormulaire", tu indiques: Me.filter = "[Prog_annee] > " & Forms!Formulaire1!Année Me.filterOn = True
ce qui te permet de supprimer le filtre et d'en composer un autre éventuellement sans sortir du formulaire par un autre moyen. -- @+ 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
"Nina" a écrit dans le message de news: %
et bien par exemple, si on reste sur l'année, je veux les programme de 2004 et 2005 donc : select * from programme where Prog_annee >= 2004 il doit me renvoyer des 3 Id_prog (cle primaire de programme)... Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le code VB)
Merci de votre aide N.
Nina
D'accord, je vais partir sur cette nouvelle piste !! encore un grand merci !
N.
"Raymond [mvp]" a écrit dans le message de news:
Il ne faut pas partir sur des inputbox ou des paramètres. tu dois partir sur un contrôle texte dans le formulaire dans lequel tu indiques l'année mini à prendre , par exemple 2004 pour prendre 2004 et 2005. DoCmd.OpenForm "monFormulaire" ........ dans l'événement Form_Load de "monFormulaire", tu indiques: Me.filter = "[Prog_annee] > " & Forms!Formulaire1!Année Me.filterOn = True
ce qui te permet de supprimer le filtre et d'en composer un autre éventuellement sans sortir du formulaire par un autre moyen. -- @+ 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
"Nina" a écrit dans le message de news: %
et bien par exemple, si on reste sur l'année, je veux les programme de 2004 et 2005 donc : select * from programme where Prog_annee >= 2004 il doit me renvoyer des 3 Id_prog (cle primaire de programme)... Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le code VB)
Merci de votre aide N.
D'accord, je vais partir sur cette nouvelle piste !!
encore un grand merci !
N.
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: usQNOwptEHA.2116@TK2MSFTNGP14.phx.gbl...
Il ne faut pas partir sur des inputbox ou des paramètres.
tu dois partir sur un contrôle texte dans le formulaire dans lequel tu
indiques l'année mini à prendre , par exemple 2004 pour prendre 2004 et
2005.
DoCmd.OpenForm "monFormulaire" ........
dans l'événement Form_Load de "monFormulaire", tu indiques:
Me.filter = "[Prog_annee] > " & Forms!Formulaire1!Année
Me.filterOn = True
ce qui te permet de supprimer le filtre et d'en composer un autre
éventuellement sans sortir du formulaire par un autre moyen.
--
@+
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
"Nina" <anonymous@discussions.microsoft.com> a écrit dans le message de
news: %235vMxmptEHA.3188@TK2MSFTNGP15.phx.gbl...
et bien par exemple, si on reste sur l'année, je veux les programme de
2004 et 2005 donc :
select * from programme where Prog_annee >= 2004
il doit me renvoyer des 3 Id_prog (cle primaire de programme)...
Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le
code VB)
D'accord, je vais partir sur cette nouvelle piste !! encore un grand merci !
N.
"Raymond [mvp]" a écrit dans le message de news:
Il ne faut pas partir sur des inputbox ou des paramètres. tu dois partir sur un contrôle texte dans le formulaire dans lequel tu indiques l'année mini à prendre , par exemple 2004 pour prendre 2004 et 2005. DoCmd.OpenForm "monFormulaire" ........ dans l'événement Form_Load de "monFormulaire", tu indiques: Me.filter = "[Prog_annee] > " & Forms!Formulaire1!Année Me.filterOn = True
ce qui te permet de supprimer le filtre et d'en composer un autre éventuellement sans sortir du formulaire par un autre moyen. -- @+ 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
"Nina" a écrit dans le message de news: %
et bien par exemple, si on reste sur l'année, je veux les programme de 2004 et 2005 donc : select * from programme where Prog_annee >= 2004 il doit me renvoyer des 3 Id_prog (cle primaire de programme)... Comment faire ca avec un filtre ?? (sachant que ma requete se situe ds le code VB)