首页 文章

使用DoCmd.Openform设置表单记录源

提问于
浏览
0

我有一个表单,可以从我的Access 2013应用程序中的多个位置访问 - 根据打开表单的位置,记录源应该是不同的 - 例如,如果打开表单来搜索记录,表单记录源是一个用户输入记录ID作为参数的参数查询 - 但是如果从其他地方打开表单,则记录源是一个选择查询,并且使用VBA传递记录ID .

如果可能的话,我想避免使用两个表单 - 我只需要一个表单并且能够在表单打开时设置记录源...是否可以在打开表单时设置表单记录源(而不是在表单打开后)?

1 回答

  • 1

    有一些VBA重写您的表单从中读取的查询 . 试试这个:

    Set db = CurrentDb()
    DoCmd.DeleteObject acQuery, "myFormQuery"
    Set q = db.CreateQueryDef("myFormQuery")
    
    
    q.Sql = "SELECT * FROM mytable WHERE 1=1;"
    DoCmd.OpenForm "myForm", acNormal
    

相关问题