Als ik een report preview dan komt het report op de achtergrond te staan en kan ik er niet meer bij vanuit mijn applicatie. Ik wil dat het previewreport op de voorgrond komt te staan.
Het form waar de previewknop op staat is een Dialog form (Border style) met Pop-up.
Ik heb al wel wat rondgekeken op MSDN enzo maar de code die daar wordt aangereikt, krijg ik niet werkend. Misschien bestaat er een andere code…
MSDN code:
Private Sub preview1_Click()
Dim loFormArray() As String
Dim loform As Form
Dim intCount As Integer
Dim intX As Integer
For Each loform In Forms
If loform.Visible Then
ReDim Preserve loFormArray(intCount)
loFormArray(intCount) = loform.Name
loform.Visible = False
intCount = intCount + 1
End If
Next
DoCmd.OpenReport "SubGroepQuery", View, FilterName, WhereCondition
Do While IsVisible(acReport, "SubGroepQuery"): DoEvents: Loop
For intX = intCount - 1 To 0 Step -1
Forms(loFormArray(intX)).Visible = True
Next
End Sub
Function IsVisible(intObjType As Integer, strObjName As String) As Boolean
Dim intObjState As Integer
intObjState = SysCmd(acSysCmdGetObjectState, intObjType, strObjName)
IsVisible = intObjState And acObjStateOpen
End Function
Hij print bij mij dan het report uit
Verder heb ik hier gesearched, en ik kwam bij een oplossing van LeonD uit die een Macro schreef om eerst het pop-up te minimaliseren. Dat werkt wel alleen hij minimaliseert alleen het pop-up form maar niet het hoofdmenuscherm, waar de report nog steeds achter staat.
Wie o wie...
Het form waar de previewknop op staat is een Dialog form (Border style) met Pop-up.
Ik heb al wel wat rondgekeken op MSDN enzo maar de code die daar wordt aangereikt, krijg ik niet werkend. Misschien bestaat er een andere code…
MSDN code:
Private Sub preview1_Click()
Dim loFormArray() As String
Dim loform As Form
Dim intCount As Integer
Dim intX As Integer
For Each loform In Forms
If loform.Visible Then
ReDim Preserve loFormArray(intCount)
loFormArray(intCount) = loform.Name
loform.Visible = False
intCount = intCount + 1
End If
Next
DoCmd.OpenReport "SubGroepQuery", View, FilterName, WhereCondition
Do While IsVisible(acReport, "SubGroepQuery"): DoEvents: Loop
For intX = intCount - 1 To 0 Step -1
Forms(loFormArray(intX)).Visible = True
Next
End Sub
Function IsVisible(intObjType As Integer, strObjName As String) As Boolean
Dim intObjState As Integer
intObjState = SysCmd(acSysCmdGetObjectState, intObjType, strObjName)
IsVisible = intObjState And acObjStateOpen
End Function
Hij print bij mij dan het report uit
Verder heb ik hier gesearched, en ik kwam bij een oplossing van LeonD uit die een Macro schreef om eerst het pop-up te minimaliseren. Dat werkt wel alleen hij minimaliseert alleen het pop-up form maar niet het hoofdmenuscherm, waar de report nog steeds achter staat.
Wie o wie...