1
场景:我正在为访问数据库创建高级搜索表单。他们已经有了单一的搜索表单来运行访问查询并在查询窗口中打开。MS-Access在查询窗口中打开VB构建的查询
问题:我想模仿此功能,但我期待在代码中创建查询作为字符串,然后在查询窗口中打开它。这可能吗?我搜索谷歌,但没有找到任何东西。如果它不可能有任何替代品?
在此先感谢。
场景:我正在为访问数据库创建高级搜索表单。他们已经有了单一的搜索表单来运行访问查询并在查询窗口中打开。MS-Access在查询窗口中打开VB构建的查询
问题:我想模仿此功能,但我期待在代码中创建查询作为字符串,然后在查询窗口中打开它。这可能吗?我搜索谷歌,但没有找到任何东西。如果它不可能有任何替代品?
在此先感谢。
您可以打开它看起来像一个查询窗口数据表视图形式,但你需要创建一个表单控件添加到它,然后将记录来源
例如
Dim rst As DAO.Recordset
Dim rsField As DAO.Field
Dim control As Access.TextBox
Dim frm As Form
Set frm = CreateForm()
frm.Visible = False
Dim sql As String
sql = "Select * from MSysObjects"
Set rst = CurrentDb.OpenRecordset(sql)
For Each rsField In rst.Fields
Debug.Print rsField.Name
Set control = CreateControl(frm.Name, acTextBox, acDetail)
With control
.Width = 100
.Height = 100
.Top = 100
.Left = 100
.ControlSource = rsField.Name
.Name = rsField.Name
End With
Next rsField
Set rst = Nothing
frm.Visible = True
frm.RecordSource = sql
DoCmd.OpenForm frm.Name, acFormDS
这有几个问题。
诚实地修改一个querydef可能是一个比较简单的方法。
查询数据表是一个血腥的糟糕的用户界面。你为什么会选择比这更好的东西? –
@ David-W-Fenton,我从其他3个已经创建的搜索页面(不是我的设计)复制UI。这只是一个高级搜索页面,可以将其他3个选项相结合,再加上一些额外的选项。 – Gage
那么,你继续使用糟糕的用户界面,因为糟糕的用户界面已经到位了?这听起来像是一个很好的长期战略吗? –