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
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.
Hallo,
abgesehen davon was Phil schrieb,
ZitatnResult = ShowWindow(ByVal hWindow, ByVal nCmdShow)
ByVal hat im Funktionsaufruf nichts zu suchen.
Gruß Andreas
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.
Hallo,
habe im Bericht Popup eingeschaltet und den o.g. Code in den Bericht kopiert und es funktioniert!
Danke Euch!
Gruß
Max