Avatar billede per2edb Ekspert
15. februar 2020 - 16:02 Der er 22 kommentarer og
2 løsninger

Hide'd alle rammer rundt om en form

Jeg skal have Hide'd alle rammer rundt om en form

Jeg har fundet koderne for Ribbon og Navigatiospanelet men mangler den sidste yderste (Jeg har ikke navnet)

Har i koderne for at Hide den yderste ramme
Avatar billede zuschlag Juniormester
16. februar 2020 - 08:34 #1
Kunne "minformular.borderstyle = 0" være et bud?
VH Anders
Avatar billede per2edb Ekspert
16. februar 2020 - 10:56 #2
Desværre nej, men jeg har også udtrykt mig forkert.
Hvis man tager hele applikationen så er der Ribbon og Navigationspanelet.
Undertrykker man dem (Skjuler / Hide) er der en baggrund tilbage. Jeg kan ikke finde
navnet på denne noget steds - men det er denne baggrund jeg skal have skjult,
således at kun formen ses
Avatar billede per2edb Ekspert
16. februar 2020 - 14:25 #3
Jeg har fundet nedenfor viste koder der skjuler window baggrund.
Imidlertid virker det ikke ved et kald udefra, fra en anden App.
Det virker kun ved et direkte kald til den aktuelle App.
Dvs kun denne ene App. må "køre"
Er der nogen der har en løsning herpå, så 2 App kan "køre"?

Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3

Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)
Exit Sub
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

Call fSetAccessWindow(0)
Avatar billede terry Ekspert
17. februar 2020 - 19:47 #4
Your not expalining what you want very well :-(

Are you trying to hide access and just have a single form visible?

Also >>> "..... virker det ikke ved et kald udefra, fra en anden App.
Det virker kun ved et direkte kald til den aktuelle App. "

Can you explain what you are doing here?
Avatar billede per2edb Ekspert
18. februar 2020 - 11:59 #5
Jeg prøver at forklare:

Jeg har en App 1 der kalder en anden App 2

App 2 viser en Form.
Denne Form ønskes vist uden
Ribbon og Navigationspanelet samt window baggrund
Ribbon og Navigationspanelet kan jeg Hide men ikke window baggrund

De koder jeg har vist ovenfor Hider window baggrund korrekt når App 2 startes alene - men det virker ikke når App 2 kaldes af App 1
Avatar billede terry Ekspert
18. februar 2020 - 13:09 #6
How do you call(start) app 2 from app1?
Avatar billede per2edb Ekspert
18. februar 2020 - 13:23 #7
Dim stAppName As String, strPath As String
 
  strPath = CurrentProject.Path

  stAppName = strPath & "\App2.accdb"
 
Dim appAccess As New Access.Application
appAccess.OpenCurrentDatabase (stAppName)
Avatar billede terry Ekspert
18. februar 2020 - 14:34 #8
Have you tried using autoexec, this should run when app2 starts.
It will open your start-up form, inthis example frmHideAccess, then calls the funcion to hide access, fSetAccessWindow .

Function autoexec()
On Error GoTo ERR_EXIT
   
    DoCmd.OpenForm "frmHideAccess"
    fSetAccessWindow SW_HIDE
       
    Exit Function
ERR_EXIT:
    fSetAccessWindow SW_SHOWNORMAL
   
End Function
Avatar billede per2edb Ekspert
18. februar 2020 - 17:14 #9
Jeg prøver det - tak
Avatar billede per2edb Ekspert
19. februar 2020 - 11:55 #10
Jeg kan ikke få det til at virke
Hele formen hides/skjules
Det skal kun være windows formen - altså den bagved liggende form
Selve den aktive form skal vises
Avatar billede terry Ekspert
19. februar 2020 - 15:17 #11
You must be doing something wrong, it works fine here. Only difference is that app 2 is an mdb file.
Avatar billede per2edb Ekspert
19. februar 2020 - 17:34 #12
Jeg har accdb - kan det være fejlen

For at være sikker på vi forstår det samme
1)  bliver alt skjult
2) eller kan formen ses UDEN Ribbon og Navigationspanelet samt Window/Access baggrund (Den grå bagvedliggende form)

Det er 2) jeg ønsker men det er 1) jeg får
Avatar billede terry Ekspert
19. februar 2020 - 19:21 #13
send me an example of app1 and app2 so I can see waht you are doing.
ekspertenATsanthell.dk
AT = @

If the code to hide access window works in app 2 twhich is an accdb fiel,m then it should work >>
2) eller kan formen ses UDEN Ribbon og Navigationspanelet samt Window/Access baggrund (Den grå bagvedliggende form)
Avatar billede per2edb Ekspert
20. februar 2020 - 08:59 #14
Jeg har en fejl. Se ovenfor

Function fSetAccessWindow(nCmdShow As Long)
Exit Sub  <============== skal ikke med
Dim loX As Long

Efter dette viser det sig ALT Hides ved SW_HIDE = 0

Det er ikke det jeg søger.
Formen skal vises men baggrundsformen (Har ikke noget navn. Er nogen gange benævnt Windows form) skal hides
Avatar billede terry Ekspert
20. februar 2020 - 11:03 #15
???
Exit Sub  <============== skal ikke med

Thats from your code!
But you say in #3 "Det virker kun ved et direkte kald til den aktuelle App. ", so at some time your code must have worked....Ikke?

"Det er ikke det jeg søger.
Formen skal vises men baggrundsformen (Har ikke noget navn. Er nogen gange benævnt Windows form) skal hides "

If its not working then how do you know it not what your looking for?
Avatar billede terry Ekspert
20. februar 2020 - 11:08 #16
I can hide ALL of thge Access environment and only have a single form visible, the code I use is similar to what you show in #3 but without the Exit Sub, which I had noticed, but because you said "Det virker kun ved et direkte kald til den aktuelle App. " I assumed that it was just a typo.
Avatar billede per2edb Ekspert
22. februar 2020 - 14:50 #17
Hej Terry
Medens jeg var ved at lave et eksempel til dig fandt jeg fejlen
Med:
Global Const SW_HIDE = 0
Hides både Access windows form samt den aktive form
Den aktive form SKAL ikke Hides
Når jeg bruger:
Global Const SW_SHOWMINIMIZED = 2
Får jeg det jeg ønsker.
Men...... så er windows ikke hidet men kun minimeret. Det kan jeg dog leve med

1000 tak for hjælpen
Avatar billede terry Ekspert
22. februar 2020 - 16:10 #18
There must still be something wrong!

Option Compare Database

Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3


Private Declare Function apiShowWindow Lib "user32" _
    Alias "ShowWindow" (ByVal hwnd As Long, _
          ByVal nCmdShow As Long) As Long

Function autoexec()
On Error GoTo ERR_EXIT
   
    DoCmd.OpenForm "frmHideAccess"
    fSetAccessWindow SW_HIDE
       
    Exit Function
ERR_EXIT:
    fSetAccessWindow SW_SHOWNORMAL
   
End Function

Function fSetAccessWindow(nCmdShow As Long)
'Usage Examples
'Maximize window:
'      ?fSetAccessWindow(SW_SHOWMAXIMIZED)
'Minimize window:
'      ?fSetAccessWindow(SW_SHOWMINIMIZED)
'Hide window:
'      ?fSetAccessWindow(SW_HIDE)
'Normal window:
'      ?fSetAccessWindow(SW_SHOWNORMAL)
'
Dim loX  As Long
Dim loForm As Form
    On Error Resume Next
    Set loForm = Screen.ActiveForm
    If Err <> 0 Then 'no Activeform
      If nCmdShow = SW_HIDE Then
        MsgBox "Cannot hide Access unless " _
                    & "a form is on screen"
      Else
        loX = apiShowWindow(hWndAccessApp, nCmdShow)
        Err.Clear
      End If
    Else
        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
    End If
    fSetAccessWindow = (loX <> 0)
End Function
Avatar billede per2edb Ekspert
22. februar 2020 - 16:57 #19
Jeg har nu sendt et testeksempel
Avatar billede terry Ekspert
22. februar 2020 - 17:14 #20
a modified version is on the way, thats if @c.dk is the correct address?
Avatar billede per2edb Ekspert
23. februar 2020 - 14:53 #21
Yes it is  correct
Avatar billede per2edb Ekspert
25. februar 2020 - 08:55 #22
Jeg har ikke modtaget mailen
mail2yoATc.dk
AT = @
Avatar billede terry Ekspert
25. februar 2020 - 15:37 #23
Maybe its in your SPAM or rejected because it conatins an accdb file.
I've resent as ZIP
Avatar billede terry Ekspert
25. februar 2020 - 19:03 #24
have you received it?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester