Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Access 2003, ApplyFilter et erreur 2501

15 réponses
Avatar
HervéR
Bonjour à tous,

Je m'étais fait une petite base de données de contacts.
Classique : sur la gauche du formulaire une zone de liste ZoneListe avec une
vision sommaire des contacts, en haut du formulaire une série de boutons
bascule de 'A' à 'Z', le reste du formulaire faisant apparaître la fiche
détaillée du contact sélectionné dans ZoneListe.
Après un clic sur un des boutons bascule, Me.ZoneListe.RowSource est
redéfini puis je fais un
DoCmd.ApplyFilter , "Num_Contact = " & CStr(Me.ZoneListe.Column(0))

Cela fonctionnait parfaitement sous Access XP (cela fonctionne d'ailleurs
toujours bien sous Access XP, j'ai vérifié!) mais sous Access 2003 l'erreur
suivante est générée :
Erreur d'exécution '2501': L'action ApplyFilter a été annulée
Comprends pas :(
J'ai même fait le test suivant : avant la ligne DoCmd.ApplyFilter ,
"Num_Contact = " & CStr(Me.ZoneListe.Column(0)), j'ai inséré la ligne :
MsgBox DLookup("Nom", Me.RecordSource, "Num_Contact = " &
CStr(Me.ZoneListe.Column(0)))
qui ne pose pas problème !

Quelqu'un a-t-il une idée ?

10 réponses

1 2
Avatar
Pierre CFI [mvp]
bonjour
étant donné que les fichiers sont compatibles, ?? regarde en vb dans outils/réfs s'il y a pas manquant qq part

--
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
"HervéR" a écrit dans le message de news:
Bonjour à tous,

Je m'étais fait une petite base de données de contacts.
Classique : sur la gauche du formulaire une zone de liste ZoneListe avec une
vision sommaire des contacts, en haut du formulaire une série de boutons
bascule de 'A' à 'Z', le reste du formulaire faisant apparaître la fiche
détaillée du contact sélectionné dans ZoneListe.
Après un clic sur un des boutons bascule, Me.ZoneListe.RowSource est
redéfini puis je fais un
DoCmd.ApplyFilter , "Num_Contact = " & CStr(Me.ZoneListe.Column(0))

Cela fonctionnait parfaitement sous Access XP (cela fonctionne d'ailleurs
toujours bien sous Access XP, j'ai vérifié!) mais sous Access 2003 l'erreur
suivante est générée :
Erreur d'exécution '2501': L'action ApplyFilter a été annulée
Comprends pas :(
J'ai même fait le test suivant : avant la ligne DoCmd.ApplyFilter ,
"Num_Contact = " & CStr(Me.ZoneListe.Column(0)), j'ai inséré la ligne :
MsgBox DLookup("Nom", Me.RecordSource, "Num_Contact = " &
CStr(Me.ZoneListe.Column(0)))
qui ne pose pas problème !

Quelqu'un a-t-il une idée ?




Avatar
HervéR
Pierre,
Pas de lézard avec les références.
J'en veux pour preuve l'événement sur clic de la zone de liste ZoneListe :
Private Sub ZoneListe_Click()
DoCmd.ApplyFilter , "Num_Contact = " & CStr(Me.ZoneListe.Column(0))
End Sub
Tu l'auras remarqué : le code est le même, mais là il fonctionne normalement
!


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
étant donné que les fichiers sont compatibles, ?? regarde en vb dans
outils/réfs s'il y a pas manquant qq part


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



Avatar
Pierre CFI [mvp]
mais le plus curieux est que çà marche sur xp
xp est sur la méme machine ? ou le méme os ?

--
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
"HervéR" a écrit dans le message de news:
Pierre,
Pas de lézard avec les références.
J'en veux pour preuve l'événement sur clic de la zone de liste ZoneListe :
Private Sub ZoneListe_Click()
DoCmd.ApplyFilter , "Num_Contact = " & CStr(Me.ZoneListe.Column(0))
End Sub
Tu l'auras remarqué : le code est le même, mais là il fonctionne normalement
!


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
étant donné que les fichiers sont compatibles, ?? regarde en vb dans
outils/réfs s'il y a pas manquant qq part


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







Avatar
Pierre CFI [mvp]
mais attends, tu transforme en string
donc
DoCmd.ApplyFilter , "Num_Contact = '" & CStr(Me.ZoneListe.Column(0) "'")
par contre bizarre que ton msgbox fonctionne

--
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
"HervéR" a écrit dans le message de news:
Pierre,
Pas de lézard avec les références.
J'en veux pour preuve l'événement sur clic de la zone de liste ZoneListe :
Private Sub ZoneListe_Click()
DoCmd.ApplyFilter , "Num_Contact = " & CStr(Me.ZoneListe.Column(0))
End Sub
Tu l'auras remarqué : le code est le même, mais là il fonctionne normalement
!


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
étant donné que les fichiers sont compatibles, ?? regarde en vb dans
outils/réfs s'il y a pas manquant qq part


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







Avatar
HervéR
Marche sur Windows 2000 Pro / Access XP (PC 1)
Marche sur Windows Xp Pro / Access XP (PC 2)
Marche sur Windows Xp Familiale / Access XP (PC 3, chez Beau Papa !)
Marche pô sur Windows 2000 Pro / Access 2003 (PC 4 = VMware Virtual Machine)
Marche pô sur Windows Xp Pro / Access 20003 (PC5, PC6, PC7 !)

"Pierre CFI [mvp]" a écrit dans le message de
news:
mais le plus curieux est que çà marche sur xp
xp est sur la méme machine ? ou le méme os ?

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



Avatar
HervéR
La transformation en string est une vieille habitude de l'époque Access 2
;-)
Comme tu le signales, cela fonctionne dans le MsgBox.
Et puis j'ai aussi essayé sans le Cstr...

"Pierre CFI [mvp]" a écrit dans le message de
news:u$
mais attends, tu transforme en string
donc
DoCmd.ApplyFilter , "Num_Contact = '" & CStr(Me.ZoneListe.Column(0) "'")
par contre bizarre que ton msgbox fonctionne

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


Avatar
HervéR
J'avais pas bien lu !
J'imagine que tu voulais taper :
DoCmd.ApplyFilter , "Num_Contact = '" & CStr(Me.ZoneListe.Column(0)) & "'"
Là, pour le coup, ça ne peut pas marcher, Num_Contact étant un entier.
Ceci dit, j'ai quand même essayé: l'erreur remontée est (étrangement) la
même (2501).

"Pierre CFI [mvp]" a écrit dans le message de
news:u$
mais attends, tu transforme en string
donc
DoCmd.ApplyFilter , "Num_Contact = '" & CStr(Me.ZoneListe.Column(0) "'")
par contre bizarre que ton msgbox fonctionne

--
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
"HervéR" a écrit dans le message de news:


Pierre,
Pas de lézard avec les références.
J'en veux pour preuve l'événement sur clic de la zone de liste ZoneListe
:


Private Sub ZoneListe_Click()
DoCmd.ApplyFilter , "Num_Contact = " & CStr(Me.ZoneListe.Column(0))
End Sub
Tu l'auras remarqué : le code est le même, mais là il fonctionne
normalement


!


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
étant donné que les fichiers sont compatibles, ?? regarde en vb dans
outils/réfs s'il y a pas manquant qq part


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











Avatar
Pierre CFI [mvp]
oui, mais num_contact est quoi ? num string

--
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
"HervéR" a écrit dans le message de news: #
La transformation en string est une vieille habitude de l'époque Access 2
;-)
Comme tu le signales, cela fonctionne dans le MsgBox.
Et puis j'ai aussi essayé sans le Cstr...

"Pierre CFI [mvp]" a écrit dans le message de
news:u$
mais attends, tu transforme en string
donc
DoCmd.ApplyFilter , "Num_Contact = '" & CStr(Me.ZoneListe.Column(0) "'")
par contre bizarre que ton msgbox fonctionne

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






Avatar
Pierre CFI [mvp]
donc pas de Cstr ni de '
bon, en débug, quelle est la valeur de cette liste
je pense qu'il y a un truc tout con, et qu'on voit pas

--
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
"HervéR" a écrit dans le message de news:
J'avais pas bien lu !
J'imagine que tu voulais taper :
DoCmd.ApplyFilter , "Num_Contact = '" & CStr(Me.ZoneListe.Column(0)) & "'"
Là, pour le coup, ça ne peut pas marcher, Num_Contact étant un entier.
Ceci dit, j'ai quand même essayé: l'erreur remontée est (étrangement) la
même (2501).

"Pierre CFI [mvp]" a écrit dans le message de
news:u$
mais attends, tu transforme en string
donc
DoCmd.ApplyFilter , "Num_Contact = '" & CStr(Me.ZoneListe.Column(0) "'")
par contre bizarre que ton msgbox fonctionne

--
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
"HervéR" a écrit dans le message de news:


Pierre,
Pas de lézard avec les références.
J'en veux pour preuve l'événement sur clic de la zone de liste ZoneListe
:


Private Sub ZoneListe_Click()
DoCmd.ApplyFilter , "Num_Contact = " & CStr(Me.ZoneListe.Column(0))
End Sub
Tu l'auras remarqué : le code est le même, mais là il fonctionne
normalement


!


"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
étant donné que les fichiers sont compatibles, ?? regarde en vb dans
outils/réfs s'il y a pas manquant qq part


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















Avatar
Raymond [mvp]
Bonsoir Pierre et Hervé.

en 2003 l'aide en ligne donne des remarques notamment:
Remarque Vous pouvez utiliser cette action pour appliquer une clause SQL
WHERE seulement lors de l'application d'un filtre de serveur.
il faut bien lire l'aide en ligne 2003 car j'ai l'impression qu'il y a un
changement par rapport à 2002.
--
@+
Raymond Access MVP
http://access.seneque.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:
donc pas de Cstr ni de '
bon, en débug, quelle est la valeur de cette liste
je pense qu'il y a un truc tout con, et qu'on voit pas

--
Pierre CFI


1 2