Bonjour
Elle ne passe pas en pièce jointe à 3Mo?
Bonjour
Elle ne passe pas en pièce jointe à 3Mo?
J'avais viré tous les formulaires, tables et états qui n'étaient pas nécessaires. Et la base était toujours à plus de 3 Mo. Puis, suivant votre conseil, je l'ai compacté: 432 Ko.
Efficace. En PJ
Basemartyr.zip.
Merci.
Ca y est, j'ai trouvé grâce à un article sur le web:
www.vbaexpress.com/kb/getarticle.php?kb_id=74
C'était très similaire à ce que vous proposiez. Les différences que j'ai vues étaient les suivantes: Dans le module c'était "Option Explicit" et la déclaration renvoyait un long.
Le code dans le module est donc le suivant:
Mais vous en avez pas fini avec moi. Ce code est pour les formulaires. Peut-on faire le même pour les états? Je vais tenter de bidouiller le code pour y parvenir (faire une fonction spéciale pour les états) mais autant dire que cela va être de la haute expérimentation...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 Option Compare Database Option Explicit Global Const SW_HIDE = 0 Global Const SW_SHOWNORMAL = 1 Global Const SW_SHOWMINIMIZED = 2 Global Const SW_SHOWMAXIMIZED = 3 Private Declare PtrSafe Function apiShowWindow Lib "user32" _ Alias "ShowWindow" (ByVal hWnd As LongPtr, _ ByVal nCmdShow As Long) As Long Function fSetAccessWindow(nCmdShow As Long) Dim loX As Long Dim loForm As Form On Error Resume Next Set loForm = Screen.ActiveForm If Err <> 0 Then loX = apiShowWindow(hWndAccessApp, nCmdShow) Err.Clear End If If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then MsgBox "Cannot minimize Access with " _ & (loForm.Caption + " ") _ & "form on screen" ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then MsgBox "Cannot hide Access with " _ & (loForm.Caption + " ") _ & "form on screen" Else loX = apiShowWindow(hWndAccessApp, nCmdShow) End If fSetAccessWindow = (loX <> 0) End Function
Merci encore pour vos efforts...
Bon, comme attendu, mon bricolage ne fonctionne pas.
à la suite de la function (voir commentaire supra) Function fSetAccessWindow(nCmdShow As Long) du même module
J'ai mis celle-ci
Puis dans le vba de l'état, j'ai mis
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Function fSetAccessWindowEtat(nCmdShow As Long) Dim loX As Long Dim loReport As Report On Error Resume Next Set loReport = Screen.ActiveReport If Err <> 0 Then loX = apiShowWindow(hWndAccessApp, nCmdShow) Err.Clear End If If nCmdShow = SW_SHOWMINIMIZED And loReport.Modal = True Then MsgBox "Impossible de minimiser le fond d'écran Access avec " _ & (loReport.Caption + " ") _ & "état sur l'écran" ElseIf nCmdShow = SW_HIDE And loReport.PopUp <> True Then MsgBox "Impossible de cacher le fond d'écran Access avec " _ & (loReport.Caption + " ") _ & "état sur l'écran" Else loX = apiShowWindow(hWndAccessApp, nCmdShow) End If fSetAccessWindowEtat = (loX <> 0) End Function
Mais tout accès disparaît (en clair: la function semble fonctionner mais elle embarque l'état avec le menu de fond d'access). remarque: L'Etat est pop up et modal...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Report_Load() fSetAccessWindow (0) End sub
Merci encore pour vos efforts...
C'est peut-être aussi lié au fait que l'état n'est pas ouvert ouvert en mode aperçu avant impression?...
bonsoir,
oups ! désolé pour la coquille, j'aurai dû le laisser en Long, comme quoi, il faut parfois se méfier du code trouvé sur le net.C'était très similaire à ce que vous proposiez. Les différences que j'ai vues étaient les suivantes: Dans le module c'était "Option Explicit" et la déclaration renvoyait un long.
c'est possible, les autres modes sont plus ou moins liés à l'interface de création d'état, donc de la fenêtre Access.C'est peut-être aussi lié au fait que l'état n'est pas ouvert ouvert en mode aperçu avant impression?...
Bonjour
Je ne vois pas quel est l'interêt de passer encore par le formulaire Cache, car il était juste à titre de test. Si je ne me trompe pas, c'est bien le formulaire RechercheTableaudeBord que tu souhaites voir à l'ouverture de ton application. Alors passe directement par ce dernier.
Je mets ici la base test que j'ai faite avec le formulaire en question afin de nous permettre d'évoluer.
Essai.zip
Cher Bertiny et Tee_Grandbois,
Encore un immense merci.
J'ai pu résoudre mon dernier problème. Pour mémoire, la procédure pour masquer le fond Access ne fonctionnait que pour les formulaires, et non pour les états. Du coup, je me suis passé d'états en les remplaçant par des formulaires en mode tabulaire. Ces derniers étant des formulaires, la procédure s'appliquait et ma base de données est nickel.
Encore un grand merci pour votre appui!
Cordialement.
Montastruc
Bonjour
Content de le savoir.
N'oublies pas de cliquer sur Résolu pour fermer la discussion.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager