Hello All -
I have a main form called f_MainTripForm_ Admin with a split view. The main form has fields relating to a trip.
The main form has 2 sub forms. The subforms have fields related to activities that occured on a trip, eg meetings. One trip can have many meetings assoicated with it:
SubForm 1 - f_ActivityDetai ls_SFC: Form with tab control view of activity-related fields for one Activity
SubForm 2 - f_ActivityDetai ls_Datasheet: datasheet view showing a list of all Activities for that trip.
The OnCurrent event for the ActivityDetails _Datasheet calls the code below.
The issue I have is that the recordset in f_ActivityDetai ls_Datasheet does not update when I edit, delete or add an Activity in ActivityDetails _Admin.
f_ActivityDetai ls_Datasheet has the following properties:
DataEntry = No
Allow Additions, Deletions, Edits and Filters = Yes
I dont need to be able to update any data in f_ActivityDetai ls_Datasheet - I just need it to reflect the changes made in ActivityDetails _Admin when I update a field or select a different record (row) in ActivityDetails _Datasheet.
I think this might have to do with the definition of the recordset is fixed somehow and I need to clear it.
Is using
Set rs = Nothing
the correct approach?
FYI -
- when the cursor is in a control in either ActivityDetails _Datasheet or ActivityDetails _Admin and I run RefreshAll from the ribbon, the data in ActivityDetails _Datasheet does not update;
- when I move to a new trip then come back to the original trip, or do RefreshAll when my cursor is in the current trip record, the udpates show in the datasheet.
Thanks!
Sandra
I have a main form called f_MainTripForm_ Admin with a split view. The main form has fields relating to a trip.
The main form has 2 sub forms. The subforms have fields related to activities that occured on a trip, eg meetings. One trip can have many meetings assoicated with it:
SubForm 1 - f_ActivityDetai ls_SFC: Form with tab control view of activity-related fields for one Activity
SubForm 2 - f_ActivityDetai ls_Datasheet: datasheet view showing a list of all Activities for that trip.
The OnCurrent event for the ActivityDetails _Datasheet calls the code below.
The issue I have is that the recordset in f_ActivityDetai ls_Datasheet does not update when I edit, delete or add an Activity in ActivityDetails _Admin.
f_ActivityDetai ls_Datasheet has the following properties:
DataEntry = No
Allow Additions, Deletions, Edits and Filters = Yes
I dont need to be able to update any data in f_ActivityDetai ls_Datasheet - I just need it to reflect the changes made in ActivityDetails _Admin when I update a field or select a different record (row) in ActivityDetails _Datasheet.
I think this might have to do with the definition of the recordset is fixed somehow and I need to clear it.
Is using
Set rs = Nothing
the correct approach?
FYI -
- when the cursor is in a control in either ActivityDetails _Datasheet or ActivityDetails _Admin and I run RefreshAll from the ribbon, the data in ActivityDetails _Datasheet does not update;
- when I move to a new trip then come back to the original trip, or do RefreshAll when my cursor is in the current trip record, the udpates show in the datasheet.
Thanks!
Sandra
Code:
Sub FilterActivities()
Debug.Print "Start FilterActivities()"
Debug.Print " Set up filter - Display record in f_ActivityDetails_Admin that corresponds to record in f_ActivityDetails_datasheet"
Dim sFilter As String
Dim rs As DAO.recordset
Dim lRecordCount As Long
DoCmd.Echo False
'Define the record set for the Activities associated with this Trip
Set rs = Forms!f_MainTripForm_Admin.ActivityDetailsDatasheet.Form.RecordsetClone
lRecordCount = rs.RecordCount
If Not Forms!f_MainTripForm_Admin.NewRecord And lRecordCount <> 0 Then
Debug.Print "We have found Activities assoicated with this Trip"
Debug.Print "ActivityDetailsDatasheet has: " & lRecordCount & " records(s)"
'Show me the current Activity_ID
Debug.Print " datasheet Activity_ID is: "; Forms![f_MainTripForm_Admin]![ActivityDetailsDatasheet].Form![Activity_ID]
sFilter = "Activity_ID = " & Forms![f_MainTripForm_Admin]![ActivityDetailsDatasheet].Form![Activity_ID]
'Show me the current Filter
Debug.Print " Current Filter is: "; sFilter
Forms!f_MainTripForm_Admin!f_ActivityDetails_SFC.Form.Filter = sFilter
Forms!f_MainTripForm_Admin!f_ActivityDetails_SFC.Form.FilterOn = True
Else
'If there are NO Activities assoicated with this Trip
'show 0 records in the recordset
Debug.Print "ActivityDetailsDatasheet has no records: " & lRecordCount & " records(s)"
End If
Set rs = Nothing
Debug.Print "Call TabView"
Call TabView
Debug.Print "End FilterActivities()"
DoCmd.Echo True
End Sub
Comment