erreur d'exécution '2465'

Le
Marie-Claire
Bonjour à tous et tous mes voeux pour 2010,

J'ai un formulaire principal que j'appelle F_principal et un sous formulaire
que j'appelle F_sousFormulaire.
Dans F_sousFormulaire il y a un groupe d'options appelé Type: les options
s'appellent Option1, Option2.. et des étiquettes correspondantes appelées
Etiq1,Etiq2,
il y a aussi une autre sorte d'étiquettes dans ce sous formulaire: Tarif1,
Tarif2

La source de ce sous formulaire est une table

Voici le code sous le groupe d'options "Type":


Private Sub Type_Click()

If Forms!F_principal!F_sousFormulaire!Form.Type = 1 Then
Forms!F_principal!F_sousFormulaire!Form.DescriptionRdv = Me!Etiq1.Caption
Forms!F_principal!F_sousFormulaire!Form.Prix = Me!Tarif1.Caption
Else
If Forms!F_principal.F_sousFormulaire.Form.Type = 2 Then
Forms!F_principal.F_sousFormulaire.Form.DescriptionRdv = Me.Etiq2.Caption
Forms!F_principal.F_sousFormulaire.Form.Prix = Me.Tarif2.Caption
Else
etc.

Le problème:
Lorsque je clique sur l'un des boutons du groupe j'ai l'erreur d'exécution
'2465'
Impossible de trouver le champ Form auquel il est fait référence.

J'ai du louper quelque chose concernant l'écriture lorsqu'il s'agit de sous
formulaires.
Pourriez-vous m'aider s'il-vous plait???

Marie-Claire
--
Marie-Claire
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
jero
Le #20891071
Salut,
Une p'tite astuce pour t'aider dans la syntaxe :
Tu ouvres ton formulaire F_principal en mode création.
Tu crées une requête quelconque avec n'importe quelle table.
Tu cliques dans la zone critère (d'un champ quelconque) par ex.
Tu utilises l'assistant "Générateur d'expressions".
Dans la fenêtre, tu sélectionnes "Formulaires chargés", puis F_principal,
puis F_sousFormulaire et enfin le contrôle (ou la propriété souhaitée).
Tu récupère ainsi la syntaxe "version française". Il n'y a plus qu'à
remplacer "Formulaires" par "Forms" pour la version "VBA".
A+
jpg
"Marie-Claire" message de news:
Bonjour à tous et tous mes voeux pour 2010,

J'ai un formulaire principal que j'appelle F_principal et un sous
formulaire
que j'appelle F_sousFormulaire.
Dans F_sousFormulaire il y a un groupe d'options appelé Type: les options
s'appellent Option1, Option2.. et des étiquettes correspondantes appelées
Etiq1,Etiq2...,
il y a aussi une autre sorte d'étiquettes dans ce sous formulaire: Tarif1,
Tarif2...

La source de ce sous formulaire est une table

Voici le code sous le groupe d'options "Type":


Private Sub Type_Click()

If Forms!F_principal!F_sousFormulaire!Form.Type = 1 Then
Forms!F_principal!F_sousFormulaire!Form.DescriptionRdv = Me!Etiq1.Caption
Forms!F_principal!F_sousFormulaire!Form.Prix = Me!Tarif1.Caption
Else
If Forms!F_principal.F_sousFormulaire.Form.Type = 2 Then
Forms!F_principal.F_sousFormulaire.Form.DescriptionRdv = Me.Etiq2.Caption
Forms!F_principal.F_sousFormulaire.Form.Prix = Me.Tarif2.Caption
Else
etc....

Le problème:
Lorsque je clique sur l'un des boutons du groupe j'ai l'erreur d'exécution
'2465'
Impossible de trouver le champ Form auquel il est fait référence.

J'ai du louper quelque chose concernant l'écriture lorsqu'il s'agit de
sous
formulaires.
Pourriez-vous m'aider s'il-vous plait???

Marie-Claire
--
Marie-Claire


Gloops
Le #20891061
Bonjour,

Ce serait vraisemblablement une bonne idée de mettre un point d'arrà ªt
sur la première instruction de la procédure qui pose problè me. Il suffit
de se placer dessus et d'appuyer sur F9. Même manœuvre ensuite pour le
retirer.

Ensuite, lancement du formulaire, et une fois qu'on arrive sur le point
d'arrêt, exécution en pas à pas par F8, ça permet de se rendre compte à
quel niveau se produit l'erreur. Et de bien vérifier les noms de cha mps.

Parce que nous, là, nous ne savons pas quel type de contrôle es t
DescriptionRdv (à moins que j'aie lu trop vite), donc pour pouvoir d ire
quelque chose ...
__________________________________________
Marie-Claire a écrit, le 04/01/2010 06:43 :
Bonjour à tous et tous mes voeux pour 2010,

J'ai un formulaire principal que j'appelle F_principal et un sous formu laire
que j'appelle F_sousFormulaire.
Dans F_sousFormulaire il y a un groupe d'options appelé Type: les options
s'appellent Option1, Option2.. et des étiquettes correspondantes a ppelées
Etiq1,Etiq2...,
il y a aussi une autre sorte d'étiquettes dans ce sous formulaire: Tarif1,
Tarif2...

La source de ce sous formulaire est une table

Voici le code sous le groupe d'options "Type":


Private Sub Type_Click()

If Forms!F_principal!F_sousFormulaire!Form.Type = 1 Then
Forms!F_principal!F_sousFormulaire!Form.DescriptionRdv = Me!Etiq1.Cap tion
Forms!F_principal!F_sousFormulaire!Form.Prix = Me!Tarif1.Caption
Else
If Forms!F_principal.F_sousFormulaire.Form.Type = 2 Then
Forms!F_principal.F_sousFormulaire.Form.DescriptionRdv = Me.Etiq2.Cap tion
Forms!F_principal.F_sousFormulaire.Form.Prix = Me.Tarif2.Caption
Else
etc....

Le problème:
Lorsque je clique sur l'un des boutons du groupe j'ai l'erreur d'exé cution
'2465'
Impossible de trouver le champ Form auquel il est fait référe nce.

J'ai du louper quelque chose concernant l'écriture lorsqu'il s'agi t de sous
formulaires.
Pourriez-vous m'aider s'il-vous plait???

Marie-Claire


3stone
Le #20893501
Salut,

Marie-Claire wrote:
Bonjour à tous et tous mes voeux pour 2010,

J'ai un formulaire principal que j'appelle F_principal et un sous
formulaire que j'appelle F_sousFormulaire.
Dans F_sousFormulaire il y a un groupe d'options appelé Type: les
options s'appellent Option1, Option2.. et des étiquettes
correspondantes appelées Etiq1,Etiq2...,
il y a aussi une autre sorte d'étiquettes dans ce sous formulaire:
Tarif1, Tarif2...

La source de ce sous formulaire est une table

Voici le code sous le groupe d'options "Type":


Private Sub Type_Click()

If Forms!F_principal!F_sousFormulaire!Form.Type = 1 Then




Form est une propriété et s'écrit donc avec un point devant.

Il faut donc écrire (partout) :

Forms!F_principal!F_sousFormulaire.Form!Type

Regarde ceci:
http://www.mvps.org/access/forms/frm0031.htm

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Marie-Claire
Le #20894901
Salut,
Je te remercie, la page que tu m'indique est parfaite, mais cela ne résoud
pas mon problème.
Par contre je réfléchi à une chose même s'il s'agit d'un sous formulaire
lorsque je clique sur une des options de la case à options tout cela se fait
à l'intérieur du sous formulaire, alors il me semble que dans ce cas là il
faut considérer le sousform comme un formulaire indépendant, ce qui donnerait:

Private Sub Type_Click()

If Me!Type = 1 Then
Me!DescriptionRdv = Me!Etiq1.Caption
Me!Prix = Me!Tarif1.Caption
Else
If Me!Type = 2 Then
Me!DescriptionRdv = Me.Etiq2.Caption
Me!Prix = Me.Tarif2.Caption
Else

etc....

Je vais essayer et je reviens.
J'ai un autre problème qui est le nombre de cases, Access m'interdit de
dépasser 20 cases, alors qu'il m'en faut 22 cases dans le même groupe.
Il y t'il moyen de contourner cette contrainte?

Si tu as le truc super !!!
Marie-Claire

--
Marie-Claire


"3stone" a écrit :

Salut,

Marie-Claire wrote:
> Bonjour à tous et tous mes voeux pour 2010,
>
> J'ai un formulaire principal que j'appelle F_principal et un sous
> formulaire que j'appelle F_sousFormulaire.
> Dans F_sousFormulaire il y a un groupe d'options appelé Type: les
> options s'appellent Option1, Option2.. et des étiquettes
> correspondantes appelées Etiq1,Etiq2...,
> il y a aussi une autre sorte d'étiquettes dans ce sous formulaire:
> Tarif1, Tarif2...
>
> La source de ce sous formulaire est une table
>
> Voici le code sous le groupe d'options "Type":
>
>
> Private Sub Type_Click()
>
> If Forms!F_principal!F_sousFormulaire!Form.Type = 1 Then


Form est une propriété et s'écrit donc avec un point devant.

Il faut donc écrire (partout) :

Forms!F_principal!F_sousFormulaire.Form!Type

Regarde ceci:
http://www.mvps.org/access/forms/frm0031.htm

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)




--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

.



3stone
Le #20896161
Salut,

Marie-Claire wrote:
Salut,
Je te remercie, la page que tu m'indique est parfaite, mais cela ne
résoud pas mon problème.



Autant pour moi !...
Je n'ai fait que regarder (brièvement) le code :-/

En fait, si les manipulations se font lorsque tu sélectionnes dans
le groupe d'options, ce n'est pas "sur clic" qu'il faut placer le code
mais bien sur "après mise à jour" !!

et tu peux effectivement écrire:

Me!Type = ...


J'ai un autre problème qui est le nombre de cases, Access m'interdit
de dépasser 20 cases, alors qu'il m'en faut 22 cases dans le même
groupe.
Il y t'il moyen de contourner cette contrainte?



Un groupe d'options de 22 options est plutôt beurg ;-)

Si tu as un tel besoin, utilise plutôt une liste déroulante, voir une zone de liste.
A moins que tu puisse faire une préselection, sur les options présentées,
ce qui permettrait de restreindre le choix final.

Quel est le type des options que tu souhaites gérer ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Marie-Claire
Le #20896751
Bonjour,
Le fait de considérer le sousforme comme un formulaire indépendant est la
solution, aucun problème pour sélectionner.

Marie-Claire
--
Marie-Claire


"Marie-Claire" a écrit :

Salut,
Je te remercie, la page que tu m'indique est parfaite, mais cela ne résoud
pas mon problème.
Par contre je réfléchi à une chose même s'il s'agit d'un sous formulaire
lorsque je clique sur une des options de la case à options tout cela se fait
à l'intérieur du sous formulaire, alors il me semble que dans ce cas là il
faut considérer le sousform comme un formulaire indépendant, ce qui donnerait:

Private Sub Type_Click()

If Me!Type = 1 Then
Me!DescriptionRdv = Me!Etiq1.Caption
Me!Prix = Me!Tarif1.Caption
Else
If Me!Type = 2 Then
Me!DescriptionRdv = Me.Etiq2.Caption
Me!Prix = Me.Tarif2.Caption
Else

etc....

Je vais essayer et je reviens.
J'ai un autre problème qui est le nombre de cases, Access m'interdit de
dépasser 20 cases, alors qu'il m'en faut 22 cases dans le même groupe.
Il y t'il moyen de contourner cette contrainte?

Si tu as le truc super !!!
Marie-Claire

--
Marie-Claire


"3stone" a écrit :

> Salut,
>
> Marie-Claire wrote:
> > Bonjour à tous et tous mes voeux pour 2010,
> >
> > J'ai un formulaire principal que j'appelle F_principal et un sous
> > formulaire que j'appelle F_sousFormulaire.
> > Dans F_sousFormulaire il y a un groupe d'options appelé Type: les
> > options s'appellent Option1, Option2.. et des étiquettes
> > correspondantes appelées Etiq1,Etiq2...,
> > il y a aussi une autre sorte d'étiquettes dans ce sous formulaire:
> > Tarif1, Tarif2...
> >
> > La source de ce sous formulaire est une table
> >
> > Voici le code sous le groupe d'options "Type":
> >
> >
> > Private Sub Type_Click()
> >
> > If Forms!F_principal!F_sousFormulaire!Form.Type = 1 Then
>
>
> Form est une propriété et s'écrit donc avec un point devant.
>
> Il faut donc écrire (partout) :
>
> Forms!F_principal!F_sousFormulaire.Form!Type
>
> Regarde ceci:
> http://www.mvps.org/access/forms/frm0031.htm
>
> --
> A+
> Pierre (3stone) Access MVP
> Perso: http://www.3stone.be/
> MPFA: http://www.mpfa.info/ (infos générales)
>
>
>
>
> --
> A+
> Pierre (3stone) Access MVP
> Perso: http://www.3stone.be/
> MPFA: http://www.mpfa.info/ (infos générales)
>
> .
>


Marie-Claire
Le #20897191
Salut,

Il s’agit dans un salon de coiffure de sélectionner une prestation pour
chaque client.
Il y a deux contraintes :
1. Chaque prestation possède déjà un code utilisé qui va de 1 à 22 ceci fait
partie du plan comptable, donc immuable.
2. Une liste est une solution déjà utilisée et on me demande de réaménager
cette base de données car il y avait trop d’erreurs et de plus les coiffeuses
se plaignent, une liste déroulante provoque trop d’erreurs lors de la
sélection, une zone de liste avec des cases à cocher est la solution que je
viens de faire tester et résultat, plusieurs prestations sélectionnées car
dans les « précipitations » du travail les coiffeuses oubliaient de décocher
avant de recocher lorsque le client changeait d’avis.


Voici la liste :

Prestation Code

Soins 1
Séchage 2
Coup de peigne 3
Mise en plis 4
Brushing 5
Coupe dame 6
Coupe homme 7
Coupe dame, brushing 8
Coupe homme, brushing 9
Coupe dame, mise en plis 10
Permanente 11
Permanente, mise en plis 12
Permanente, brushing 13
Permanente, coupe 14
Permanente, coupe, mise en plis 15
Permanente, coupe, brushing 16
Coloration 17
Coloration, mise en plis 18
Coloration, brushing 19
Coloration, coupe 20
Coloration, coupe, mise en plis 21
Coloration, brushing 22

Donc la solution passe par un ensemble que l’on coche par prestation mais
qui se déselectionne lorsque l’on coche une autre prestation.

Je ne sais pas ce que tu en penses


--
Marie-Claire


"3stone" a écrit :

Salut,

Marie-Claire wrote:
> Salut,
> Je te remercie, la page que tu m'indique est parfaite, mais cela ne
> résoud pas mon problème.

Autant pour moi !...
Je n'ai fait que regarder (brièvement) le code :-/

En fait, si les manipulations se font lorsque tu sélectionnes dans
le groupe d'options, ce n'est pas "sur clic" qu'il faut placer le code
mais bien sur "après mise à jour" !!

et tu peux effectivement écrire:

Me!Type = ...


> J'ai un autre problème qui est le nombre de cases, Access m'interdit
> de dépasser 20 cases, alors qu'il m'en faut 22 cases dans le même
> groupe.
> Il y t'il moyen de contourner cette contrainte?

Un groupe d'options de 22 options est plutôt beurg ;-)

Si tu as un tel besoin, utilise plutôt une liste déroulante, voir une zone de liste.
A moins que tu puisse faire une préselection, sur les options présentées,
ce qui permettrait de restreindre le choix final.

Quel est le type des options que tu souhaites gérer ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

.



3stone
Le #20897741
Salut,

Marie-Claire wrote:
Il s’agit dans un salon de coiffure de sélectionner une prestation
pour chaque client.
Il y a deux contraintes :
1. Chaque prestation possède déjà un code utilisé qui va de 1 à 22
ceci fait
partie du plan comptable, donc immuable.




Cela métonnerai beaucoup que les services offert par un salon de coiffure
soit immuable...
Que les codes ne soient jamais modifiés est une chose, de construire
une base qui ne connait que définitivement 22 services est autre chose,
et une mauvaise manière !



2. Une liste est une solution déjà utilisée et on me demande de
réaménager
cette base de données car il y avait trop d’erreurs et de plus les
coiffeuses se plaignent, une liste déroulante provoque trop d’erreurs
lors de la sélection,




ok, on peut admettre


une zone de liste avec des cases à cocher est la solution
que je viens de faire tester et résultat, plusieurs prestations
sélectionnées car dans les « précipitations » du travail les coiffeuses
oubliaient de décocher
avant de recocher lorsque le client changeait d’avis.




Une zone de liste peut être définie pour ne permettre qu'une seule sélection

La précipitation et la mauvaise foi étant un autre domaine, si l'on pense
à la durée d'un soin, ce n'est pas la seconde d'une sélection correcte
qui excuse ou explique cela.


Voici la liste :

Prestation Code

Soins 1
Séchage 2
Coup de peigne 3
Mise en plis 4
Brushing 5
Coupe dame 6
Coupe homme 7
Coupe dame, brushing 8
Coupe homme, brushing 9
Coupe dame, mise en plis 10
Permanente 11
Permanente, mise en plis 12
Permanente, brushing 13
Permanente, coupe 14
Permanente, coupe, mise en plis 15
Permanente, coupe, brushing 16
Coloration 17
Coloration, mise en plis 18
Coloration, brushing 19
Coloration, coupe 20
Coloration, coupe, mise en plis 21
Coloration, brushing 22

Donc la solution passe par un ensemble que l’on coche par prestation
mais qui se déselectionne lorsque l’on coche une autre prestation.




Voir plus haut ;-)



Je ne sais pas ce que tu en penses



Pour moi, le groupe d'options est la pire des solutions pour une telle liste.
Un groupe d'options ne peut être utilisé que sur une liste finie, tel que
les jours de la semaine, les mois de l'année, etc.
Que feras tu si dans six mois l'on ajoute 3 soins ?!

A moins que ce qui est recherché, soit justement de devoir retoucher
toute la base à chaque modification, ce qui expliquerai cette mauvaise
structure... car j'imagine que la liste des soins ne fait pas partie non plus
des enregistrements d'une table...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Marie-Claire
Le #20899011
Bonjour,

Une zone de liste avec des cases à cocher est la solution



Je pense aussi que tu as raison.


Une zone de liste peut être définie pour ne permettre qu'une seule sélection



Là je ne sais pas faire.
Peux-tu me dire qu'elle est la méthode ou le bout de code pour qu'à chaque
fois que l'on sélectionne une ligne l'ancienne sélection se désélectionne.

Vraiment, merci pour ton aide.

Marie-Claire
--
Marie-Claire


"3stone" a écrit :

Salut,

Marie-Claire wrote:
> Il s’agit dans un salon de coiffure de sélectionner une prestation
> pour chaque client.
> Il y a deux contraintes :
> 1. Chaque prestation possède déjà un code utilisé qui va de 1 à 22
> ceci fait
> partie du plan comptable, donc immuable.


Cela métonnerai beaucoup que les services offert par un salon de coiffure
soit immuable...
Que les codes ne soient jamais modifiés est une chose, de construire
une base qui ne connait que définitivement 22 services est autre chose,
et une mauvaise manière !



> 2. Une liste est une solution déjà utilisée et on me demande de
> réaménager
> cette base de données car il y avait trop d’erreurs et de plus les
> coiffeuses se plaignent, une liste déroulante provoque trop d’erreurs
> lors de la sélection,


ok, on peut admettre


une zone de liste avec des cases à cocher est la solution
> que je viens de faire tester et résultat, plusieurs prestations
> sélectionnées car dans les « précipitations » du travail les coiffeuses
> oubliaient de décocher
> avant de recocher lorsque le client changeait d’avis.


Une zone de liste peut être définie pour ne permettre qu'une seule sélection

La précipitation et la mauvaise foi étant un autre domaine, si l'on pense
à la durée d'un soin, ce n'est pas la seconde d'une sélection correcte
qui excuse ou explique cela.


> Voici la liste :
>
> Prestation Code
>
> Soins 1
> Séchage 2
> Coup de peigne 3
> Mise en plis 4
> Brushing 5
> Coupe dame 6
> Coupe homme 7
> Coupe dame, brushing 8
> Coupe homme, brushing 9
> Coupe dame, mise en plis 10
> Permanente 11
> Permanente, mise en plis 12
> Permanente, brushing 13
> Permanente, coupe 14
> Permanente, coupe, mise en plis 15
> Permanente, coupe, brushing 16
> Coloration 17
> Coloration, mise en plis 18
> Coloration, brushing 19
> Coloration, coupe 20
> Coloration, coupe, mise en plis 21
> Coloration, brushing 22
>
> Donc la solution passe par un ensemble que l’on coche par prestation
> mais qui se déselectionne lorsque l’on coche une autre prestation.


Voir plus haut ;-)



> Je ne sais pas ce que tu en penses

Pour moi, le groupe d'options est la pire des solutions pour une telle liste.
Un groupe d'options ne peut être utilisé que sur une liste finie, tel que
les jours de la semaine, les mois de l'année, etc.
Que feras tu si dans six mois l'on ajoute 3 soins ?!

A moins que ce qui est recherché, soit justement de devoir retoucher
toute la base à chaque modification, ce qui expliquerai cette mauvaise
structure... car j'imagine que la liste des soins ne fait pas partie non plus
des enregistrements d'une table...

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

.



3stone
Le #20906091
Salut,

Marie-Claire wrote:
[...]
Une zone de liste peut être définie pour ne permettre qu'une seule
sélection



Là je ne sais pas faire.
Peux-tu me dire qu'elle est la méthode ou le bout de code pour qu'à
chaque fois que l'on sélectionne une ligne l'ancienne sélection se
désélectionne.




C'est en principe le fonctionnement par défaut... à moins d'avoir
"cliquouillé" partout sans savoir ;-)

En mode création du formulaire, sélectionne la liste et demande les propriétés.
Onglet "Autres", Sélection multiple : Aucun

Si tu as un bouton qui fait une action comme sauver, enregistrer ou autres,
il suffit de compléter par :

Me.NomDeLaListe = Null

pour que la ligne se désélectionne!

Le tout sera complété par une vérification du fait si sélection il y a...
ce qui devient alors :

If IsNull(Me.NomDeLaListe) Then
MsgBox "Pas de sélection!"
Else
'/ ici ton action....
...
...

'/ et pour finir la désélection
Me.NomDeLaListe = Null
End If


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Publicité
Poster une réponse
Anonyme