【发布时间】:2016-05-27 16:54:54
【问题描述】:
我一直在使用 Access 2013 数据库,但有点卡住了。
我的数据库基于登录。登录后,您可以查看所有游戏、物品等。
我已经制作了一个登录表单,当正确输入用户名和密码时,您会转到主表单。它还会在主表单上设置一个带有登录用户名的标签。
对于有关用户的数据,我构建了查询,这些查询按用户名作为参数检索信息。
我的问题是如何使用此查询(例如 - 所有用户的游戏),并以表格形式显示信息?
我想到的是使用代码中的参数运行查询:
Dim dbs As DAO.Database
Dim qdf As DAO.QueryDef
Dim rst As DAO.Recordset
Set dbs = CurrentDb
'Get the parameter query
Set qdf = dbs.QueryDefs("Get User's Games")
'Supply the parameter value
qdf.Parameters(0) = Me.txt_UserName <- This is the user name from the main form
'Open a Recordset based on the parameter query
Set rst = qdf.OpenRecordset()
这段代码完成了检索所需数据的工作,但我不知道如何将其注入表单?我已经建立了相应的表格
我尝试过使用以下内容:
Forms![My Games].RecordSource = qdf.SQL
DoCmd.OpenForm "My Games"
但是 sql ,没有参数,所以它不起作用。也许可以将参数替换为它的值以使其工作?
我已经尝试过,但无法编译:
Dim q As String
q = Replace(qdf.SQL, "[Enter User Name]", Me.txt_UserName)
Forms![My Games].RecordSource = q
有什么想法吗?另外,如果有更好的方法可以做到这一点,我愿意接受建议
【问题讨论】: