Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Verstecktes Access-Fenster verhindert das Öffnen eines Berichts

Begonnen von MaxP, Februar 14, 2020, 11:56:43

⏪ vorheriges - nächstes ⏩

MaxP

Hallo zusammen,

ich habe eine kleine Zeiterfassung erstellt, die während der PC-Arbeit aktiv sein soll. Deshalb sollte nur das kleine Formular zu sehen sein. Das Access-Fenster wird per Code versteckt:


Option Compare Database
Const SW_HIDE = 0
Const SW_NORMAL = 1
Private Declare Function ShowWindow Lib "user32" _
   (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long



Private Sub Form_Open(Cancel As Integer)
Dim hWindow As Long
Dim nResult As Long
Dim nCmdShow As Long
hWindow = Application.hWndAccessApp
nCmdShow = SW_HIDE
nResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
Call ShowWindow(Me.hwnd, SW_NORMAL)
End Sub


Die beiden Codes habe ich in jedem Formular stehen. Das funktioniert so weit ganz gut. Jedoch habe ich in einem Form einen Druckbefehl, der dazu den Bericht "rpt_Zeiterfassung" öffnen soll. Das passiert nicht. Ohne die o.g. Codes funktionirert es.
Was muss ich ändern?

Gruß
Max
Win 10 pro 64 bit, Access 2003

PhilS

Zitat von: MaxP am Februar 14, 2020, 11:56:43
Das Access-Fenster wird per Code versteckt:
[...]
Jedoch habe ich in einem Form einen Druckbefehl, der dazu den Bericht "rpt_Zeiterfassung" öffnen soll. Das passiert nicht. Ohne die o.g. Codes funktionirert es.
Das müsste funktionieren, wenn der Bericht PopUp=Yes eingestellt hat und du sein Fenster analog zu deinen Formularen sichtbar machst. Die PopUp-Eigenschaft für Berichte gab es allerdings bei sehr alten Access-Versionen noch nicht. Access 2003 dürfte da gerade an der Grenze sein, ich weiß aber nicht auf welcher Seite derselben.
Alternativ könntest du zum Drucken des Berichts das komplette Access-Fenster sichtbar machen.

Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

Hondo

Hallo,
abgesehen davon was Phil schrieb,
ZitatnResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
ByVal hat im Funktionsaufruf nichts zu suchen.

Gruß Andreas

PhilS

Zitat von: Hondo am Februar 14, 2020, 12:41:24
ByVal hat im Funktionsaufruf nichts zu suchen.
Es ist überflüssig, weil bereits so deklariert, schadet aber auch nicht.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

MaxP

Hallo,

habe im Bericht Popup eingeschaltet und den o.g. Code in den Bericht kopiert und es funktioniert!

Danke Euch!

Gruß
Max
Win 10 pro 64 bit, Access 2003