Alternativ til Screen.ActiveForm når objektet er en underformular
Jeg har en log-rutine LogMe:Public Function LogMe(Obj As Form)
Dim logObject As Form
Dim ctl As Control
Dim dbs As Database
Dim rec As Recordset
Set logObject = Obj
sObjectName = logObject.Name
Set dbs = CurrentDb
Set rec = dbs.OpenRecordset("tblLogData", dbOpenDynaset)
For Each ctl In logObject.Controls
If (ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox) Then
If IsDate(Mid(ctl.Tag, 1, 8)) Then
Debug.Print sObjectName, ctl.Name, ctl.Tag
With rec
.AddNew
![sForm] = sObjectName
![sCtl] = ctl.Name
![sUser] = sGlobalUser()
![sLog] = ctl.Tag
![sDate] = Mid(ctl.Tag, 1, 8)
.Update
End With
End If
End If
ctl.Tag = " "
Next ctl
End Function
der gennemløber alle controls på en form for at logge ændringer foretaget. LogMe kaldes når brugeren trykker på en Ok knap.
Public Sub globalOkClose()
Dim Obj As Form
DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
Set Obj = Screen.ActiveForm
Call LogMe(Obj)
DoCmd.Close
End Sub
Problemet er bare at når data ændres i en subform kan jeg ikke længere anvende Screen.ActiveForm da denne peger på hovedformularen frem for subformularen.
Hvad gør jeg for at retunere en objektet til subformularen istedet?
Mvh
Malm
