OVH Cloud OVH Cloud

formulaire avec cadre d'objet indépendant

2 réponses
Avatar
Alain Bourgeois
Chers tous,

j'ai un souci avec un cadre d'objet indépendant.
J'ai une table comprenant un chemin complet vers un fichier (.xls par
exemple).
J'ai un formulaire basé sur cette table.
Dans l'évènement Form_Current, j'appelle une procédure pour afficher le
fichier sélectionné:
(version simplifiée):
------------------------------------------------------------------------------------

Private Sub UpdateOLE(sFile As String)
' sFile= full path to file name
On Error GoTo fin

OLE.Visible = True
OLE.Enabled = True
OLE.Locked = False
OLE.SourceDoc = sFile
OLE.Action = acOLECreateLink
OLE.Locked = True


sortie:
Exit Sub

fin:
'MsgBox Err.Description
OLE.Locked = True
If s = "" Then OLE.Locked = False
Resume sortie
------------------------------------------------------------------------------------



Soucis:
1. si l'utilisateur ferme le formulaire avec la croix, l'objet ole est
enregistré dans le formulaire, et à l'ouverture j'obtiens un message
d'erreur me demandant de réenregistrer le serveur ole.
Le formulaire devient inutilisable!

J'ai bien mis un bouton mais ce n'est pas suffisant, certains
utilisateurs utilisent la croix.
2. J'ai un sous-formulaire basé sur le même principe, avec un cadre OLE
dans le sous-formulaire. Là, je ne sais même pas lui dire de sortir sans
sauver.


Questions:
1. Y a-t'il moyen d'empêcher access d'enregistrer le formulaire avec le
cadre OLE?
2. Y a-t'il moyen d'empêcher access d'enregistrer le sous-formulaire
avec le cadre OLE?



Merci,
Alain

2 réponses

Avatar
J-Pierre
Bonjour Alain,

Peut-être évènement Sur libération: Me.Undo ?

Ou alors, toujours sur cet évènement, tu charges dans ton cadre une image de 1x1 px qui remplacera ton fichier ?

J'ai dit une connerie ? :-(

J-Pierre

"Alain Bourgeois" a écrit dans le message de news:
Chers tous,

j'ai un souci avec un cadre d'objet indépendant.
J'ai une table comprenant un chemin complet vers un fichier (.xls par
exemple).
J'ai un formulaire basé sur cette table.
Dans l'évènement Form_Current, j'appelle une procédure pour afficher le
fichier sélectionné:
(version simplifiée):
------------------------------------------------------------------------------------

Private Sub UpdateOLE(sFile As String)
' sFile= full path to file name
On Error GoTo fin

OLE.Visible = True
OLE.Enabled = True
OLE.Locked = False
OLE.SourceDoc = sFile
OLE.Action = acOLECreateLink
OLE.Locked = True


sortie:
Exit Sub

fin:
'MsgBox Err.Description
OLE.Locked = True
If s = "" Then OLE.Locked = False
Resume sortie
------------------------------------------------------------------------------------



Soucis:
1. si l'utilisateur ferme le formulaire avec la croix, l'objet ole est
enregistré dans le formulaire, et à l'ouverture j'obtiens un message
d'erreur me demandant de réenregistrer le serveur ole.
Le formulaire devient inutilisable!

J'ai bien mis un bouton mais ce n'est pas suffisant, certains
utilisateurs utilisent la croix.
2. J'ai un sous-formulaire basé sur le même principe, avec un cadre OLE
dans le sous-formulaire. Là, je ne sais même pas lui dire de sortir sans
sauver.


Questions:
1. Y a-t'il moyen d'empêcher access d'enregistrer le formulaire avec le
cadre OLE?
2. Y a-t'il moyen d'empêcher access d'enregistrer le sous-formulaire
avec le cadre OLE?



Merci,
Alain




Avatar
Parsifal

J'ai bien mis un bouton mais ce n'est pas suffisant, certains
utilisateurs utilisent la croix.


sur l'événement onclose de ton formulaire tu peux faire un truc du st yle :
if ParLeBouton<>"oui" then cancel=true
comme ça ça empêche les gens de fermer le formulaire avec la croix et tu
met dans ton bouton a la fin

ParLeBouton="oui"
DoCmd.Close