Sélection par défaut dans contrôle "sélection multiple"
5 réponses
Philou
Bonjour,
J'utilise avec bonheur un contrôle "sélection multiple" créé avec la
complicité de
http://officesystem.access.free.fr/ex_selection_multiple.htm
Cette procédure rejette systématiquement le traitement si aucun élément
n'est coché.
J'aimerai faire l'inverse, c'est-à-dire soit cocher _tous_ les éléments par
défaut, soit modifier le "on error", soit la requête.
Mais comme j'ai du mal à comprendre le cheminement de la procédure, je suis
obligé de demander de l'aide.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
si tu ne sélectionne pas de données, il faut toutes les prendre. tu crées une variable RetourPrépare que tu charges avec la valeur de retour de PrepareList. tu testes ensuite la valeur dans CompareList. Public Function CompareList(ParameterValue As Variant) As Boolean If Not RetourPrépare then CompareList = True Exit Function End If For Each varItm In Ctl.ItemsSelected If CStr(ParameterValue) = Ctl.ItemData(varItm) Then CompareList = True Exit Function End If Next varItm CompareList = False End Function -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Philou" a écrit dans le message de news: O$
Bonjour,
J'utilise avec bonheur un contrôle "sélection multiple" créé avec la complicité de http://officesystem.access.free.fr/ex_selection_multiple.htm
Cette procédure rejette systématiquement le traitement si aucun élément n'est coché.
J'aimerai faire l'inverse, c'est-à-dire soit cocher _tous_ les éléments par défaut, soit modifier le "on error", soit la requête. Mais comme j'ai du mal à comprendre le cheminement de la procédure, je suis obligé de demander de l'aide.
Merci d'avance.
Cordialement.
PG
Bonjour.
si tu ne sélectionne pas de données, il faut toutes les prendre. tu crées
une variable RetourPrépare que tu charges avec la valeur de retour de
PrepareList. tu testes ensuite la valeur dans CompareList.
Public Function CompareList(ParameterValue As Variant) As Boolean
If Not RetourPrépare then
CompareList = True
Exit Function
End If
For Each varItm In Ctl.ItemsSelected
If CStr(ParameterValue) = Ctl.ItemData(varItm) Then
CompareList = True
Exit Function
End If
Next varItm
CompareList = False
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Philou" <philou.tery@free.fr> a écrit dans le message de news:
O$287O7rFHA.904@tk2msftngp13.phx.gbl...
Bonjour,
J'utilise avec bonheur un contrôle "sélection multiple" créé avec la
complicité de
http://officesystem.access.free.fr/ex_selection_multiple.htm
Cette procédure rejette systématiquement le traitement si aucun élément
n'est coché.
J'aimerai faire l'inverse, c'est-à-dire soit cocher _tous_ les éléments
par défaut, soit modifier le "on error", soit la requête.
Mais comme j'ai du mal à comprendre le cheminement de la procédure, je
suis obligé de demander de l'aide.
si tu ne sélectionne pas de données, il faut toutes les prendre. tu crées une variable RetourPrépare que tu charges avec la valeur de retour de PrepareList. tu testes ensuite la valeur dans CompareList. Public Function CompareList(ParameterValue As Variant) As Boolean If Not RetourPrépare then CompareList = True Exit Function End If For Each varItm In Ctl.ItemsSelected If CStr(ParameterValue) = Ctl.ItemData(varItm) Then CompareList = True Exit Function End If Next varItm CompareList = False End Function -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Philou" a écrit dans le message de news: O$
Bonjour,
J'utilise avec bonheur un contrôle "sélection multiple" créé avec la complicité de http://officesystem.access.free.fr/ex_selection_multiple.htm
Cette procédure rejette systématiquement le traitement si aucun élément n'est coché.
J'aimerai faire l'inverse, c'est-à-dire soit cocher _tous_ les éléments par défaut, soit modifier le "on error", soit la requête. Mais comme j'ai du mal à comprendre le cheminement de la procédure, je suis obligé de demander de l'aide.
Merci d'avance.
Cordialement.
PG
Philou
Tout particulièrement pour Raymond,
Suite à un petit incident, je n'ai pas pu lire ta réponse sur OE Mais je l'ai trouvée par la communauté ... Je tiens à te remercier pour ton attention. Je mettrai en oeuvre dès lundi. Bon dimanche.
PG
Tout particulièrement pour Raymond,
Suite à un petit incident, je n'ai pas pu lire ta réponse sur OE
Mais je l'ai trouvée par la communauté ...
Je tiens à te remercier pour ton attention. Je mettrai en oeuvre dès lundi.
Bon dimanche.
Suite à un petit incident, je n'ai pas pu lire ta réponse sur OE Mais je l'ai trouvée par la communauté ... Je tiens à te remercier pour ton attention. Je mettrai en oeuvre dès lundi. Bon dimanche.
PG
Philou
Bonjour
Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter :-(
[quote] tu crées une variable RetourPrépare que tu charges avec la valeur de retour de PrepareList. tu testes ensuite la valeur dans CompareList. [unquote]
Mais cette variable, je la mets où ? J'ai essayé diverses solutions, mais je crois que je suis trop borné pour comprendre les principes vba :-)
Merci d'avance.
PG
Bonjour
Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter :-(
[quote]
tu crées une variable RetourPrépare que tu charges avec la valeur de retour
de PrepareList.
tu testes ensuite la valeur dans CompareList.
[unquote]
Mais cette variable, je la mets où ?
J'ai essayé diverses solutions, mais je crois que je suis trop borné pour
comprendre les principes vba :-)
Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter :-(
[quote] tu crées une variable RetourPrépare que tu charges avec la valeur de retour de PrepareList. tu testes ensuite la valeur dans CompareList. [unquote]
Mais cette variable, je la mets où ? J'ai essayé diverses solutions, mais je crois que je suis trop borné pour comprendre les principes vba :-)
Merci d'avance.
PG
Raymond [mvp]
Bonjour.
tu la déclares en haut de ton code :
Option Compare Database Option Explicit
Dim Frm As Form Dim Ctl As Control Dim varItm As Variant Dim RetourPrepare As Boolean
Public Function PrepareList(FormName As String, _ ControlName As String) As Boolean On Error GoTo Err_PrepareList Set Frm = Forms(FormName) Set Ctl = Frm(ControlName) If Ctl.ItemsSelected.Count = 0 Then GoTo Err_PrepareList PrepareList = True RetourPrepare = PrepareList Exit Function Err_PrepareList: PrepareList = False RetourPrepare = PrepareList End Function
Public Function CompareList(ParameterValue As Variant) As Boolean If Not RetourPrepare Then CompareList = True Exit Function End If For Each varItm In Ctl.ItemsSelected If CStr(ParameterValue) = Ctl.ItemData(varItm) Then CompareList = True Exit Function End If Next varItm CompareList = False End Function
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Philou" a écrit dans le message de news:
Bonjour
Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter :-(
[quote] tu crées une variable RetourPrépare que tu charges avec la valeur de retour de PrepareList. tu testes ensuite la valeur dans CompareList. [unquote]
Mais cette variable, je la mets où ? J'ai essayé diverses solutions, mais je crois que je suis trop borné pour comprendre les principes vba :-)
Merci d'avance.
PG
Bonjour.
tu la déclares en haut de ton code :
Option Compare Database
Option Explicit
Dim Frm As Form
Dim Ctl As Control
Dim varItm As Variant
Dim RetourPrepare As Boolean
Public Function PrepareList(FormName As String, _
ControlName As String) As Boolean
On Error GoTo Err_PrepareList
Set Frm = Forms(FormName)
Set Ctl = Frm(ControlName)
If Ctl.ItemsSelected.Count = 0 Then GoTo Err_PrepareList
PrepareList = True
RetourPrepare = PrepareList
Exit Function
Err_PrepareList:
PrepareList = False
RetourPrepare = PrepareList
End Function
Public Function CompareList(ParameterValue As Variant) As Boolean
If Not RetourPrepare Then
CompareList = True
Exit Function
End If
For Each varItm In Ctl.ItemsSelected
If CStr(ParameterValue) = Ctl.ItemData(varItm) Then
CompareList = True
Exit Function
End If
Next varItm
CompareList = False
End Function
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Philou" <philou.tery@free.fr> a écrit dans le message de news:
eHJu3fesFHA.2072@TK2MSFTNGP14.phx.gbl...
Bonjour
Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter
:-(
[quote]
tu crées une variable RetourPrépare que tu charges avec la valeur de
retour de PrepareList.
tu testes ensuite la valeur dans CompareList.
[unquote]
Mais cette variable, je la mets où ?
J'ai essayé diverses solutions, mais je crois que je suis trop borné pour
comprendre les principes vba :-)
Dim Frm As Form Dim Ctl As Control Dim varItm As Variant Dim RetourPrepare As Boolean
Public Function PrepareList(FormName As String, _ ControlName As String) As Boolean On Error GoTo Err_PrepareList Set Frm = Forms(FormName) Set Ctl = Frm(ControlName) If Ctl.ItemsSelected.Count = 0 Then GoTo Err_PrepareList PrepareList = True RetourPrepare = PrepareList Exit Function Err_PrepareList: PrepareList = False RetourPrepare = PrepareList End Function
Public Function CompareList(ParameterValue As Variant) As Boolean If Not RetourPrepare Then CompareList = True Exit Function End If For Each varItm In Ctl.ItemsSelected If CStr(ParameterValue) = Ctl.ItemData(varItm) Then CompareList = True Exit Function End If Next varItm CompareList = False End Function
-- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ http://OfficeSystem.Access.free.fr/runtime/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Philou" a écrit dans le message de news:
Bonjour
Raymond a bien voulu me donner une réponse. Que je ne sais pas exploiter :-(
[quote] tu crées une variable RetourPrépare que tu charges avec la valeur de retour de PrepareList. tu testes ensuite la valeur dans CompareList. [unquote]
Mais cette variable, je la mets où ? J'ai essayé diverses solutions, mais je crois que je suis trop borné pour comprendre les principes vba :-)
Merci d'avance.
PG
Philou
Merci Raymond pour cette réponse rapide et efficace. Mise en oeuvre dès réception, avec succès. Bonne continuation.
PG
Merci Raymond pour cette réponse rapide et efficace.
Mise en oeuvre dès réception, avec succès.
Bonne continuation.