My Two combo boxes are cboRowField and cboColumField is dependent on the frist.
This is the Forms "On Open" Event Procedure:
Option Compare Database
Option Explicit
Private Sub cboColumnField_AfterUpdate()
Dim strSQL As String
Dim strSQLSF As String
cboNumericField = Null
strSQL = " SELECT DISTINCT tblDemo.NumericField FROM tblDemo "
strSQL = strSQL & " WHERE tblDemo.RowField = '" & cboRowField & "' And "
strSQL = strSQL & " tblDemo.ColumnField = '" & cboColumnField & "'"
strSQL = strSQL & " ORDER BY tblDemo.NumericField;"
cboNumericField.RowSource = strSQL
strSQLSF = " SELECT * FROM tblDemo2 "
strSQLSF = strSQLSF & " WHERE tblDemo2.RowField = '" & cboRowField & "' And "
strSQLSF = strSQLSF & " tblDemo2.ColumnField = '" & cboColumnField & "'"
Me!sfrmForm.LinkChildFields = ""
Me!sfrmForm.LinkMasterFields = ""
Me!sfrmForm.LinkChildFields = "RowField;ColumnField"
Me!sfrmForm.LinkMasterFields = "RowField;ColumnField"
Me.RecordSource = strSQLSF
Me.Requery
End Sub
Private Sub cboNumericField_AfterUpdate()
Dim strSQLSF As String
strSQLSF = " SELECT * FROM tblDemo2 "
strSQLSF = strSQLSF & " WHERE tblDemo2.RowField = '" & cboRowField & "' And "
strSQLSF = strSQLSF & " tblDemo2.ColumnField = '" & cboColumnField & "' And "
strSQLSF = strSQLSF & " tblDemo2.NumericField = " & cboNumericField
Me!sfrmForm.LinkChildFields = ""
Me!sfrmForm.LinkMasterFields = ""
Me!sfrmForm.LinkChildFields = "RowField;ColumnField;NumericField"
Me!sfrmForm.LinkMasterFields = "RowField;ColumnField;NumericField"
Me.RecordSource = strSQLSF
Me.Requery
End Sub
Private Sub cboRowField_AfterUpdate()
Dim strSQL As String
Dim strSQLSF As String
cboColumnField = Null
cboNumericField = Null
strSQL = "SELECT DISTINCT tblDemo.ColumnField FROM tblDemo "
strSQL = strSQL & " WHERE tblDemo.RowField = '" & cboRowField & "'"
strSQL = strSQL & " ORDER BY tblDemo.ColumnField;"
cboColumnField.RowSource = strSQL
strSQLSF = "SELECT * FROM tblDemo2 "
strSQLSF = strSQLSF & " WHERE tblDemo2.RowField = '" & cboRowField & "'"
Me!sfrmForm.LinkChildFields = "RowField"
Me!sfrmForm.LinkMasterFields = "RowField"
Me.RecordSource = strSQLSF
Me.Requery
End Sub
Private Sub cmdShowAll_Click()
On Error GoTo err_cmdShowAll_Click
cboRowField = Null
cboColumnField = Null
cboNumericField = Null
Me!sfrmForm.LinkChildFields = ""
Me!sfrmForm.LinkMasterFields = ""
Me.RecordSource = "tblDemo"
Me.Requery
exit_cmdShowAll_Click:
Exit Sub
err_cmdShowAll_Click:
MsgBox Err.Description
Resume exit_cmdShowAll_Click
End Sub
Private Sub Form_Open(Cancel As Integer)
Dim strSQL As String
strSQL = " SELECT DISTINCT tblDemo.RowField FROM tblDemo ORDER BY tblDemo.RowField;"
cboRowField.RowSource = strSQL
End Sub
Private Sub cmdPrint_Click()
On Error GoTo Err_cmdPrint_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.PrintOut acSelection
Exit_cmdPrint_Click:
Exit Sub
Err_cmdPrint_Click:
MsgBox Err.Description
Resume Exit_cmdPrint_Click
End Sub
Private Sub cmdPrintsfrm_Click()
On Error GoTo Err_cmdPrintsfrm_Click
Dim stDocName As String
Dim MyForm As Form
stDocName = "sfrmForm"
Set MyForm = Screen.ActiveForm
DoCmd.SelectObject acForm, stDocName, True
DoCmd.PrintOut
DoCmd.SelectObject acForm, MyForm.Name, False
Exit_cmdPrintsfrm_Click:
Exit Sub
Err_cmdPrintsfrm_Click:
MsgBox Err.Description
Resume Exit_cmdPrintsfrm_Click
End Sub
cboRowField After update Event Procedure is
Private Sub cboRowField_AfterUpdate()
Dim strSQL As String
Dim strSQLSF As String
cboColumnField = Null
cboNumericField = Null
strSQL = "SELECT DISTINCT tblDemo.ColumnField FROM tblDemo "
strSQL = strSQL & " WHERE tblDemo.RowField = '" & cboRowField & "'"
strSQL = strSQL & " ORDER BY tblDemo.ColumnField;"
cboColumnField.RowSource = strSQL
strSQLSF = "SELECT * FROM tblDemo2 "
strSQLSF = strSQLSF & " WHERE tblDemo2.RowField = '" & cboRowField & "'"
Me!sfrmForm.LinkChildFields = "RowField"
Me!sfrmForm.LinkMasterFields = "RowField"
Me.RecordSource = strSQLSF
Me.Requery
End Sub
cboColumnFields After Update is
Private Sub cboColumnField_AfterUpdate()
Dim strSQL As String
Dim strSQLSF As String
cboNumericField = Null
strSQL = " SELECT DISTINCT tblDemo.NumericField FROM tblDemo "
strSQL = strSQL & " WHERE tblDemo.RowField = '" & cboRowField & "' And "
strSQL = strSQL & " tblDemo.ColumnField = '" & cboColumnField & "'"
strSQL = strSQL & " ORDER BY tblDemo.NumericField;"
cboNumericField.RowSource = strSQL
strSQLSF = " SELECT * FROM tblDemo2 "
strSQLSF = strSQLSF & " WHERE tblDemo2.RowField = '" & cboRowField & "' And "
strSQLSF = strSQLSF & " tblDemo2.ColumnField = '" & cboColumnField & "'"
Me!sfrmForm.LinkChildFields = ""
Me!sfrmForm.LinkMasterFields = ""
Me!sfrmForm.LinkChildFields = "RowField;ColumnField"
Me!sfrmForm.LinkMasterFields = "RowField;ColumnField"
Me.RecordSource = strSQLSF
Me.Requery
End Sub
and the Subforms After Update Event Procedure is
Option Compare Database
Private Sub Form_AfterUpdate()
Me.Parent!productgroup.Requery
Me.Parent!cboRowField.Requery
Me.Parent!cboColoumnField.Requery
End Sub
The subform is based on on two tables tblDemo, tbl Demo2
is there any other information you need?
Thanks again