设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2228|回复: 6

[窗体] 如何设计窗体自定义查询界面?请大家帮助一下

[复制链接]
发表于 2020-1-5 10:43:59 | 显示全部楼层 |阅读模式
关于窗体自定义查询问题:
各位老师,我现在有一个问题:关于窗体自定义查询问题
如果不允许使用者打开后台,进行查询设计器的使用,只能在窗体中进行查询:
附件是我刚刚在论坛里找到的一个小例子,想改改,请大家给改改
首先使用"表名称"选取相应的表或者查询,然后在"表字段未选"中显示相应的字段名称,然后进行选取
点击"加入条件"命令按钮将选中的字段加入条件语句中生成sql语句,然后点击"生成结果"命令将查询出来的值显示到"ListDisplay"列表框中

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2020-1-5 11:20:10 | 显示全部楼层
首先
把list0的行来源类型设置为字段列表,
然后,在表名称更新后,将表名称作为list0的行来源
最后,你应该懂得..........
 楼主| 发表于 2020-1-5 19:28:46 | 显示全部楼层
Henry D. Sy 谢谢老师提供的建议!我慢慢试着做一下
发表于 2020-1-7 00:04:13 | 显示全部楼层
  1. Private Sub 表名称_AfterUpdate()
  2.     If Not IsNull(Me.表名称) Then
  3.         Me.List0.RowSource = Me.表名称
  4.     End If
  5. End Sub

  6. Private Sub ToResuit_Click()
  7.     Dim Qdf As DAO.QueryDef
  8.     Dim sSQL As String
  9.     Dim str As String
  10.     Dim varItem
  11.     For Each varItem In Me.List0.ItemsSelected
  12.         str = str & Me.List0.ItemData(varItem) & ","
  13.     Next
  14.     If str <> "" Then
  15.         str = Left(str, Len(str) - 1)
  16.         sSQL = "SELECT " & str & " FROM " & Me.表名称
  17.         Me.TextWhere = sSQL
  18.         Set Qdf = CurrentDb.QueryDefs("A")
  19.         Qdf.SQL = sSQL
  20.         Me.A_子窗体.SourceObject = "查询.A"
  21.     Else
  22.         MsgBox "请选择字段"
  23.     End If
  24. End Sub
复制代码




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2020-1-7 20:42:10 | 显示全部楼层

老师谢谢您的帮助,有个问题请教您,请问如何点击多个字段到条件语句中,能不能把两个以上的表或者查询的字段,根据需要添加进条件语句中?同时您的例子报错,请看看图片,再次感谢您的帮助,这个问题是看到我公司刚刚上线的ORACLE的一个外挂工具的启发,看看access能不能实现?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2020-1-7 21:37:39 | 显示全部楼层
两个表,别想了。很复杂。例如,left join,right join还是inner join?然后选择不同的字段之后,条件如何添加,如果有having时,条件又该如何处理?印象中,论坛有人做过这样的例子,不过找不到了。现在只剩下李寻欢这个例子。
http://www.office-cn.net/thread-18201-1-1.html
 楼主| 发表于 2020-1-8 12:07:43 | 显示全部楼层
roych谢谢您的链接,看来只能前期需要什么查询都做出来,然后去调用,不再做自定义了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-19 03:11 , Processed in 0.098929 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表