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

MS-ACCESS bloquer la bdd et afficher un sablier tant qu'Openfile ne renvoie pas de résultat

14 réponses
Avatar
technique
Bonjour,

J'ai une bdd structurée comme suit :

- une table avec des caractéristiques d'outils
- une table d'interventions sur les outils
- les deux tables sont liées (un outil a une/plusieurs interventions)

J'ai un formulaire :
- qui affiche les caractéristiques des outils
- qui comporte un sous formulaire pour afficher les interventions
concernant l'outil.

Dans le sous-formulaire des interventions j'ai intégré le code trouvé
dans la base http://access.seneque.free.fr/bases_exemples.htm n°38
pour afficher une image concernant l'intervention et choisir cette
image.

J'aimerai savoir comment empêcher l'accès au formulaire outil et son
sous-formulaire interventions afin :
- d'éviter de se déplacer dans les enregistrements
(formulaire+sous-formulaire)
- d'éviter l'ajout d'enregistrement (formulaire+sous-formulaire)
- d'éviter l'édition des données (formulaire+sous-formulaire)
quelque soit le moyen (souris, clavier, ...)
tant que la boite de dialogue OpenFile n'a pas été renseignée ou
annulée,

Est ce qu'il y a un flag dans openfile pour ça ?
Ou faut il :
- utiliser AllowEdits, AllowDeletions, NavigateButtons, ... sur les
formulaire
- créer un code d'interception des évènement clavier
- utiliser Locked sur les controles ?
Ou est ce qu'il y a une autre astuce en vba ?

Est il possible de changer le curseur en sablier tant que le boite de
dialogue openfile est ouverte et que le curseur est en dehors de
celle-ci ?

Merci d'avance,

Fabien

10 réponses

1 2
Avatar
?Lo»Paris?
"technique" a écrit dans le message de
news:
Bonjour,

J'ai une bdd structurée comme suit :

- une table avec des caractéristiques d'outils
- une table d'interventions sur les outils
- les deux tables sont liées (un outil a une/plusieurs interventions)

J'ai un formulaire :
- qui affiche les caractéristiques des outils
- qui comporte un sous formulaire pour afficher les interventions
concernant l'outil.

Dans le sous-formulaire des interventions j'ai intégré le code trouvé
dans la base http://access.seneque.free.fr/bases_exemples.htm n°38
pour afficher une image concernant l'intervention et choisir cette
image.

J'aimerai savoir comment empêcher l'accès au formulaire outil et son
sous-formulaire interventions afin :
- d'éviter de se déplacer dans les enregistrements
(formulaire+sous-formulaire)
- d'éviter l'ajout d'enregistrement (formulaire+sous-formulaire)
- d'éviter l'édition des données (formulaire+sous-formulaire)
quelque soit le moyen (souris, clavier, ...)
tant que la boite de dialogue OpenFile n'a pas été renseignée ou
annulée,

Est ce qu'il y a un flag dans openfile pour ça ?
Ou faut il :
- utiliser AllowEdits, AllowDeletions, NavigateButtons, ... sur les
formulaire
- créer un code d'interception des évènement clavier
- utiliser Locked sur les controles ?
Ou est ce qu'il y a une autre astuce en vba ?

Est il possible de changer le curseur en sablier tant que le boite de
dialogue openfile est ouverte et que le curseur est en dehors de
celle-ci ?

Merci d'avance,

Fabien


Bousoir Fabien,

Si j'ai bien compris (je n'ai pas vu exemple de Raymond), mais il me semble
que le Handler de la fenêtre parent de la boite 'OpenFile' ne doit pas être
renseigné, pour cela passe le Handler (poignée) de l'application ou mieux
dans ce cas celui du formulaire qui appel la boite.

Ce paramètre(flag si tu préfère) en principe se nomme hwndOwner dans la
définition du Type pour l'api GetOpenFileName

Cela donne :

With TypeOpenFile
.hwndOwner = Access.hWndAccessApp
[...]

Ou alors, tu indique le handler de ton form que tu passe en paramètre à la
procédure qui à la charge d'ouvrir la boite, tu obtient ce handler avec :

Me.Hwnd

Quand tu renseigne le handler de la fenêtre parent, OpenFile devient une
fenêtre modal, verrouillée sur la fenêtre parent qui l'as appeler,
l'utilisateur ne peux rien faire temps que OpenFile est ouverte.

°Laurent°

Avatar
Raymond [mvp]
Bonsoir Laurent.

Qu'est-ce qu'ils sont exigeants ces contributeurs un vendredi soir !

Pour avoir le modal, il faut modifier la procédure comme suit:
With Dialogue
.hwndOwner = Access.hWndAccessApp ' <== rajouter
.lStructSize = Len(Dialogue)


il va falloir que je rajoute une option, encore.....
--
@+
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


"?Lo»Paris?" a écrit dans le message de
news:e$
Bousoir Fabien,

Si j'ai bien compris (je n'ai pas vu exemple de Raymond), mais il me
semble

que le Handler de la fenêtre parent de la boite 'OpenFile' ne doit pas
être

renseigné, pour cela passe le Handler (poignée) de l'application ou mieux
dans ce cas celui du formulaire qui appel la boite.

Ce paramètre(flag si tu préfère) en principe se nomme hwndOwner dans la
définition du Type pour l'api GetOpenFileName

Cela donne :

With TypeOpenFile
.hwndOwner = Access.hWndAccessApp
[...]

Ou alors, tu indique le handler de ton form que tu passe en paramètre à la
procédure qui à la charge d'ouvrir la boite, tu obtient ce handler avec :

Me.Hwnd

Quand tu renseigne le handler de la fenêtre parent, OpenFile devient une
fenêtre modal, verrouillée sur la fenêtre parent qui l'as appeler,
l'utilisateur ne peux rien faire temps que OpenFile est ouverte.

°Laurent°




Avatar
Raymond [mvp]
J'ai modifié ma fonction et je l'ai placée sur mon site à la page:
http://access.seneque.free.fr/ouverture_document.htm
pour placer la boîte en modal il suffit d'indiquer True dans l'option
ModalWindow

--
@+
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
Avatar
?Lo»Paris?
"Raymond [mvp]" a écrit dans le message de
news:
J'ai modifié ma fonction et je l'ai placée sur mon site à la page:
http://access.seneque.free.fr/ouverture_document.htm
pour placer la boîte en modal il suffit d'indiquer True dans l'option
ModalWindow

--
@+
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


Bonne idée Raymond !

²Laurent³

Avatar
technique
"?Lo»Paris?" wrote in message news:<#...
"Raymond [mvp]" a écrit dans le message de
news:
J'ai modifié ma fonction et je l'ai placée sur mon site à la page:
http://access.seneque.free.fr/ouverture_document.htm
pour placer la boîte en modal il suffit d'indiquer True dans l'option
ModalWindow

--
@+
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


Bonne idée Raymond !

²Laurent³


Merci beaucoup,

Tant que j'y suis, peut on changer le titre de la boite de sélection des fichiers ?

Pour faire apparaitre le sablier, je suppose que c'est avec DoCmd ??

@+

Fabien


Avatar
Raymond [mvp]
Bonjour.

Modifier cette ligne. rien n'est prévu pour la changer dans la commande,
mais tu peux le faire.
.lpstrTitle = "Recherche d'un fichier"

Pour le sablier, ce n'est pas nécessaire, on ne peut atteindre aucune
fenêtre à part la boîte. tu peux toujours utiliser "DoCmd.Hourglass True"
mais ce n'est pas facile de sélectionner un fichier avec un curseur sablier.

--
@+
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


"technique" a écrit dans le message de
news:
"?Lo»Paris?" wrote in message
news:<#...

"Raymond [mvp]" a écrit dans le message de
news:
J'ai modifié ma fonction et je l'ai placée sur mon site à la page:
http://access.seneque.free.fr/ouverture_document.htm
pour placer la boîte en modal il suffit d'indiquer True dans l'option
ModalWindow

--
@+
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


Bonne idée Raymond !

²Laurent³


Merci beaucoup,

Tant que j'y suis, peut on changer le titre de la boite de sélection des
fichiers ?


Pour faire apparaitre le sablier, je suppose que c'est avec DoCmd ??

@+

Fabien




Avatar
technique
"Raymond [mvp]" wrote in message news:<#...
Bonjour.

Modifier cette ligne. rien n'est prévu pour la changer dans la commande,
mais tu peux le faire.
.lpstrTitle = "Recherche d'un fichier"

Pour le sablier, ce n'est pas nécessaire, on ne peut atteindre aucune
fenêtre à part la boîte. tu peux toujours utiliser "DoCmd.Hourglass True"
mais ce n'est pas facile de sélectionner un fichier avec un curseur sablier.

--
@+
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


"technique" a écrit dans le message de
news:
"?Lo»Paris?" wrote in message
news:<#...

"Raymond [mvp]" a écrit dans le message de
news:
J'ai modifié ma fonction et je l'ai placée sur mon site à la page:
http://access.seneque.free.fr/ouverture_document.htm
pour placer la boîte en modal il suffit d'indiquer True dans l'option
ModalWindow

--
@+
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


Bonne idée Raymond !

²Laurent³


Merci beaucoup,

Tant que j'y suis, peut on changer le titre de la boite de sélection des
fichiers ?


Pour faire apparaitre le sablier, je suppose que c'est avec DoCmd ??

@+

Fabien




Merci pour toutes ces infos,

Je n'avais pas vu la ligne pour le titre de la fenetre de sélection de
fichier :-)

Concernant le sablier, je pensais à ce qu'il soit actif sauf dans la
boite openfile. C'est possible ?

Cordialement,

Fabien




Avatar
Raymond [mvp]
Concernant le sablier, je pensais à ce qu'il soit actif sauf dans la
boite openfile. C'est possible ?
oui, si ça sert à quelque chose:

devant l'api mettre :
DoCmd.Hourglass True
derrière l'api, mettre:
DoCmd.Hourglass False
--
@+
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


"technique" a écrit dans le message de
news:
Merci pour toutes ces infos,

Je n'avais pas vu la ligne pour le titre de la fenetre de sélection de
fichier :-)

Concernant le sablier, je pensais à ce qu'il soit actif sauf dans la
boite openfile. C'est possible ?

Cordialement,

Fabien


Avatar
technique
"Raymond [mvp]" wrote in message news:...
Concernant le sablier, je pensais à ce qu'il soit actif sauf dans la
boite openfile. C'est possible ?
oui, si ça sert à quelque chose:

devant l'api mettre :
DoCmd.Hourglass True
derrière l'api, mettre:
DoCmd.Hourglass False
--
@+
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



Bonjour,

Ca marche nickel !

Dernière question concernant openfile :
Est ce qu'il est possible d'appeler la boite de dialogue en
choisissant le type d'affichage :
- miniatures
- liste
- détails
- mosaïque
- icones
?

Je suis dans un environnement réseau sous windows xp / 2000, access
2000 et 2002.

Merci d'avance,

Fabien


Avatar
?Lo»Paris?
technique wrote:
"Raymond [mvp]" wrote in message
news:...
Concernant le sablier, je pensais à ce qu'il soit actif sauf dans la
boite openfile. C'est possible ?
oui, si ça sert à quelque chose:

devant l'api mettre :
DoCmd.Hourglass True
derrière l'api, mettre:
DoCmd.Hourglass False
--
@+
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



Bonjour,

Ca marche nickel !

Dernière question concernant openfile :
Est ce qu'il est possible d'appeler la boite de dialogue en
choisissant le type d'affichage :
- miniatures
- liste
- détails
- mosaïque
- icones
?

Je suis dans un environnement réseau sous windows xp / 2000, access
2000 et 2002.

Merci d'avance,

Fabien


Bonjour Fabien,

Deux adresse pour tout savoir sur l'API GetOpenFileName :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/CommonDialogBoxReference/CommonDialogBoxStructures/OPENFILENAME.asp

Et (pour procédure CallBack)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/UserInput/CommonDialogBoxLibrary/AboutCommonDialogBoxes/OpenandSaveAsDialogBoxes.asp

Tu obtiendra la définition de toutes les valeurs applicable aux paramètres
de la boite, très intéressant.

Une autre adresse intéressante :
http://www.mangovision.com/vbapi/ref/o/openfilename.html

--
°Laurent°



1 2