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

Personnaliser la boite de dialogue d'une requête ajout

4 réponses
Avatar
Isabelle ex Isa :-)
Bonjour tout le monde,

J'ai un formulaire bas=E9 sur une requ=EAte ajout param=E9tr=E9e
A l'ouverture de ce formulaire, la section d=E9tail est invisible
Dans l'en-t=EAte de formulaire un bouton de commande qui d'un clic
ex=E9cute la requ=EAte ajout param=E9tr=E9e
qui demande =E0 l'utilisation d'indiquer une r=E9f=E9rence (deux questions)
Apr=E8s avoir saisie la r=E9f=E9rence XXXX , ouverture d'une boite de
dialogue d'Access "Vous allez ajouter 1 enregistrement....." on clique
sur ok, et l'enregistrement est cr=E9e et s'affiche dans la section
d=E9tail

1) je voudrais =E0 la place de la bo=EEte de dialogue d'Access, afficher
ma propre boite de dialogue qui afficherait
" vous allez cr=E9er un nouvel enregistrement avec la r=E9f=E9rence XXXX au
nom de YYYYY pour un montant de zzzzz
confirmez-vous cette cr=E9ation OUI - NON"
si oui proc=E9dure qui existe d=E9j=E0
si non ne rien faire

Est-ce possible et pas trop compliqu=E9 ?

2) j'ai un deuxi=E8me soucis
Apr=E8s avoir saisie la r=E9f=E9rence TOTO (r=E9f=E9rence qui n'existe pas),=

j'ai l'ouverture d'une boite de dialogue d'Access "Vous allez ajouter
0 enregistrement....." on clique sur ok, et s'affiche le dernier
enregistrement saisi

j'aimerai que dans ce cas que la section d=E9tail reste invisible et en
remplacement de la bo=EEte de dialogue d'Access, une bo=EEte de dialogue
affichant " la r=E9f=E9rence que vous avez saisie n'existe pas"

Voici ci-dessous mon code actuel

Private Sub Commande119_Click()
On Error GoTo Err_Commande119_Click

Dim stDocName As String

stDocName =3D "rq_pc_renouvellement"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Dim rs As Object

Set rs =3D Me.RecordsetClone
Section(acDetail).Visible =3D True
Me.Bookmark =3D rs.Bookmark
DoCmd.Requery ""

Exit_Commande119_Click:
Exit Sub

Err_Commande119_Click:
MsgBox Err.Description
Resume Exit_Commande119_Click

Merci d'avance pour votre aide

Isabelle ex Isa ;-)

4 réponses

Avatar
Thierry (ze Titi)
Hello Isabelle !

Le plus simple serait, je pense, que tu développes un formulaire avec
la présentation voulue. De cette façon, tu gères les choses plus
finement. Maintenant, ce que j'en dis... lol
Concernant la boîte de dialogue "Vous allez ajouter 0
enregistrement...", elle peut être désactivée avant l'éxécution de la
requête par
DoCmd.SetWarnings False

Pour vérifier combien d'enregistrements sont affectés par une requête,
jète un oeil du côté de la propriété RecordsAffected dans l'aide VBA,
tu devrais trouver ton bonheur.

J'ai un formulaire basé sur une requête ajout paramétrée
A l'ouverture de ce formulaire, la section détail est invisible
Dans l'en-tête de formulaire un bouton de commande qui d'un clic
exécute la requête ajout paramétrée
qui demande à l'utilisation d'indiquer une référence (deux questions)
Après avoir saisie la référence XXXX , ouverture d'une boite de
dialogue d'Access "Vous allez ajouter 1 enregistrement....." on clique
sur ok, et l'enregistrement est crée et s'affiche dans la section
détail

1) je voudrais à la place de la boîte de dialogue d'Access, afficher
ma propre boite de dialogue qui afficherait
" vous allez créer un nouvel enregistrement avec la référence XXXX au
nom de YYYYY pour un montant de zzzzz
confirmez-vous cette création OUI - NON"
si oui procédure qui existe déjà
si non ne rien faire

Est-ce possible et pas trop compliqué ?

2) j'ai un deuxième soucis
Après avoir saisie la référence TOTO (référence qui n'existe pas),
j'ai l'ouverture d'une boite de dialogue d'Access "Vous allez ajouter
0 enregistrement....." on clique sur ok, et s'affiche le dernier
enregistrement saisi

j'aimerai que dans ce cas que la section détail reste invisible et en
remplacement de la boîte de dialogue d'Access, une boîte de dialogue
affichant " la référence que vous avez saisie n'existe pas"

Voici ci-dessous mon code actuel

Private Sub Commande119_Click()
On Error GoTo Err_Commande119_Click

Dim stDocName As String

stDocName = "rq_pc_renouvellement"
DoCmd.OpenQuery stDocName, acNormal, acEdit

Dim rs As Object

Set rs = Me.RecordsetClone
Section(acDetail).Visible = True
Me.Bookmark = rs.Bookmark
DoCmd.Requery ""

Exit_Commande119_Click:
Exit Sub

Err_Commande119_Click:
MsgBox Err.Description
Resume Exit_Commande119_Click

Merci d'avance pour votre aide

Isabelle ex Isa ;-)


--
Cordialement,
Thierry

Tout pour réussir avec Access :
http://www.mpfa.info

Avatar
Isabelle ex Isa :-)
Bonjour Thierry

Hello Isabelle !

Le plus simple serait, je pense, que tu d�veloppes un formulaire a vec
la pr�sentation voulue. De cette fa�on, tu g�res l es choses plus
finement. Maintenant, ce que j'en dis... lol


Très attentive à ce que tu dis justement, mais je ne comprends pas car
j'ai la présentation de mon formulaire comme je veux hormis que si
erreur de saisie dans les boites de dialogue (requêtre paramétrà ©e) le
dernier enregistrement de la table s'affiche
Je ne vois pas comment je pourrais développer un formulaire différ ent


Concernant la bo�te de dialogue "Vous allez ajouter 0
enregistrement...", elle peut �tre d�sactiv�e avan t l'�x�cution de la
requ�te par
DoCmd.SetWarnings False


Ah oui c'est vrai ( j'avais oublié)


Pour v�rifier combien d'enregistrements sont affect�s par une requ�te,
j�te un oeil du c�t� de la propri�tï¿ ½ RecordsAffected dans l'aide VBA,
tu devrais trouver ton bonheur.


Bon je vais y jeter un oeil

A ton avis, je devrais créer un autre formulaire affichant " vous
allez cr�er un nouvel enregistrement avec la r�f�ren ce XXXX au nom de
YYYYY pour un montant de zzzzz confirmez-vous cette cr�ation OUI -
NON"
qui remplacerait la boite de confirmation d'Access ?
Si oui je suis coincée car je ne sais pas comment écrire le code q ui
permet d'afficher
la référence XXXX le nom YYYYY le montant ZZZZZ en fonction de ce que
l'utilisateur saisie dans les boites de dialogue pour exécuter la
requête
Ouh là c'est pas clair ce que je dis

@+

Isabelle ex Isa ;-)

Avatar
Thierry (ze Titi)
Très attentive à ce que tu dis justement, mais je ne comprends pas car
j'ai la présentation de mon formulaire comme je veux hormis que si
erreur de saisie dans les boites de dialogue (requêtre paramétrée) le
dernier enregistrement de la table s'affiche
Je ne vois pas comment je pourrais développer un formulaire différent
Tu vas comprendre...



Concernant la bo




Avatar
Isabelle ex Isa :-)

D'où l'intérêt d'utiliser un formulaire de saisie. Ta requête sera it
alors non plus basée sur des paramètres réclamés par des boîtes de
dialogue mais sur des champs de saisie que tu peux contrôler.

C'est plus clair comme ça ?


Plus clair oui, quoi que ....

mais pouh ! pas sortie de l'auberge !

"champs de saisie que tu peux contrôler" le problème est que je ne
contrôle pas grand chose

Je vais réfléchir à la question

Isabelle ex Isa ;-)