Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 根据组合框的值将结果表动态显示到子窗体中_Ms Access_Vba - Fatal编程技术网

Ms access 根据组合框的值将结果表动态显示到子窗体中

Ms access 根据组合框的值将结果表动态显示到子窗体中,ms-access,vba,Ms Access,Vba,我在Microsoft access应用程序中有表单 在这个表单中,我有两个组合框,一个显示日期,一个显示查询名称 此外,我还有一个子表单,我希望根据用户在组合框中选择的内容动态显示表 我试图实现的目标示例: Private Sub Form_Load() Select Case comboBoxQueries.value Case comboBoxQueries.value = query1 MySubForm.SourceObject = Select * from Table_Emp

我在Microsoft access应用程序中有表单

在这个表单中,我有两个组合框,一个显示日期,一个显示查询名称

此外,我还有一个子表单,我希望根据用户在组合框中选择的内容动态显示表

我试图实现的目标示例:

Private Sub Form_Load()

Select Case comboBoxQueries.value

Case comboBoxQueries.value = query1

MySubForm.SourceObject = Select * from Table_Employee where Table_Employee.date = ComboBoxDates.Values  


Case comboBoxQueries.value  = query2

 MySubForm.SourceObject = Select * from Table_School where Table_School .date = ComboBoxDates.Values  
               ...

End Select 


 End Sub
这样做的最佳方式是什么


谢谢

我不相信您可以将表用作子表单,但我一直在使用基于表的子数据表来完成这类工作。请尝试以下操作:

  • 在主窗体的加载事件中,通过设置MySubForm.SourceObject=“”清除子窗体
  • 在ComboQueries组合框的更新后事件中,将MySubform.Sourceobject设置为正确的子数据表
  • 将子数据表的.RecordSource设置为从组合框生成的sql字符串
  • 下面是它的大致外观:

    Private Sub Form_Load()
        Me.MySubForm.SourceObject = ""
    End Sub
    
    Private Sub ComboQueries_AfterUpdate()
    
        Dim sql As String
    
        Me.MySubForm.SourceObject = Me.ComboQueries.Column(1)
    
        sql = "SELECT * FROM " & Me.ComboQueries.Column(0) & " WHERE Date = " & Me.Combo2.Value
    
        Me.MySubForm.Form.RowSource = sql
    
    
    End Sub
    

    此外,尽量不要在表中使用保留关键字(如“DATE”)作为字段名,这肯定会在以后造成不必要的麻烦

    我认为这不起作用,因为记录源中的字段名将更改,然后子表单控件源将与记录集不匹配。我没有使用关键字date,我只是用它来说明我的问题。谢谢你很乐意帮忙。我这么做很快,是出于记忆,所以如果有什么不清楚或不适合你的地方,请随时发表评论。