Office中国论坛/Access中国论坛

标题: 将查询语句放到文本框,进行调用查询 [打印本页]

作者: yanwei82123300    时间: 2023-4-11 16:18
标题: 将查询语句放到文本框,进行调用查询
请老师们看看这个例子能否实现,谢谢
将Query_Name里面的语句名称,选择后加入进行TextWhere:条件语句文本框,然后进行查询出结果到ListDisplay中

作者: roych    时间: 2023-4-11 21:28
大概就这样吧。
  1. Private Sub cmdOK_Click()
  2.     Dim qry As DAO.QueryDef
  3.         If Not IsNull(Me.Query_Name) Then
  4.             Set qry = CurrentDb.QueryDefs(Me.Query_Name)
  5.             Me.TextWhere = qry.SQL
  6.             Me.ListDisplay.RowSource = qry.SQL
  7.         End If
  8. End Sub
复制代码

列表框其实并不适合用来展示。当然,如果只显示一列倒是无所谓。
如果需要动态展示列数,建议绑定子窗体(child)控件。
不过它并不支持参数查询。各有优劣吧。
另外,个人不建议把SQL语句暴露在窗体上,毕竟Access的安全性已经够脆弱,这么干就不怕哪天某个同事学了点SQL就拿来练手删库跑路么?
[attach]64523[/attach]

作者: yanwei82123300    时间: 2023-4-12 08:31
本帖最后由 yanwei82123300 于 2023-4-12 12:01 编辑
roych 发表于 2023-4-11 21:28
大概就这样吧。

列表框其实并不适合用来展示。当然,如果只显示一列倒是无所谓。

roych老师谢谢您的指导,新的附件是一个EXCEL版本的学习SQL语言的例子,这个例子的SQL语言是可以修改后再执行的.
ACCESS同时还有个问题,

2.能不能在TextWhere:文本框中修改SQL语句进行,二次查询呢?,

感谢感谢!!

作者: roych    时间: 2023-4-12 14:06
也不是不行。添加一个组合框更改事件,再修改下原来的事件就好了。这是因为如果都绑定在按钮点击事件上,没法判断文本框是否倍修改过。[attach]64525[/attach]

作者: yanwei82123300    时间: 2023-4-12 14:47
roych谢谢您的帮助,我试了例子没有变化,感觉是不是有点向SQL自定义窗体查询,
作者: roych    时间: 2023-4-12 21:08
yanwei82123300 发表于 2023-4-12 14:47
roych谢谢您的帮助,我试了例子没有变化,感觉是不是有点向SQL自定义窗体查询,

不好意思,附件上传错了。[attach]64526[/attach]





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3