Office中国论坛/Access中国论坛

标题: 怎么在当前主窗体中显示查询出的结果?? [打印本页]

作者: dfadfa    时间: 2009-1-3 16:52
标题: 怎么在当前主窗体中显示查询出的结果??
我想在当前窗口中显示出我要查询出来的结果.....也就是不用子窗体能不能查询到结果?

例如我输入一个ID号....后点查询按钮...它就自动显示出我所要查询的内容.....

而不是显示在子窗体中....
作者: Grant    时间: 2009-1-3 16:55
筛选功能可以实现你的要求
Filter 属性
参阅应用于示例特性使用 Filter 属性可以在对窗体、报表 查询或表应用筛选时指定要显示的记录子集。String 型,可读/写。

expression.Filter
expression      必需。返回“应用于”列表中的一个对象的表达式。

说明
在 Microsoft Access 项目 (.adp) 中,如果要为服务器上的数据指定服务器筛选,请使用 ServerFilter 属性。

Filter 属性是一个字符串表达式,它包含了一个不带 WHERE 关键字的 WHERE 子句。例如下面的 Visual Basic 代码定义并应用筛选以只显示来自美国的顾客:

Me.Filter = "Country = 'USA'"
Me.FilterOn = True
作者: Grant    时间: 2009-1-3 16:55
在ID更新后事件中触发筛选条件即可
作者: todaynew    时间: 2009-1-3 16:56
应该可以,搞一个文本框不绑定,用来输入查询值。然后以这个值为条件建立查询,以这个查询为窗体的数据源。

     Dim sql As String
     sql = "select * from  表 where 联系人ID=forms!窗体名称!文本框名称"
     Me.Form.RecordSource = sql

     me.Form.Requery

[ 本帖最后由 todaynew 于 2009-1-3 17:07 编辑 ]
作者: dfadfa    时间: 2009-1-3 17:08
还不是很明白.......我上传附件.....你们看下......

改了哪里....说明下....嘻 ...
作者: todaynew    时间: 2009-1-3 17:26
[attach]34217[/attach]

Private Sub 联系人ID_AfterUpdate()
    Dim sql As String
    sql = "select * from 客户 where [联系人 ID]=forms!客户!联系人ID;"
    Me.Form.RecordSource = sql
    Me.Form.Requery
End Sub

说明:为了不动你其他的设计,目前是查询文本框的更新后事件,也可做按钮事件。

[ 本帖最后由 todaynew 于 2009-1-3 17:28 编辑 ]
作者: dfadfa    时间: 2009-1-3 17:29
不知是哪里出错了...按照4楼说的去做.会出错.....

一查询会出来要输入参数ID
作者: todaynew    时间: 2009-1-3 17:34
不会吧
我测试过,是可以的。

你写的时候可能where [联系人 ID]=forms!客户!联系人ID中“联系人 ID”没用方括弧吧?要么是联系人ID中少了空格,你表中是有一个空格。

[ 本帖最后由 todaynew 于 2009-1-3 17:36 编辑 ]
作者: dfadfa    时间: 2009-1-3 17:35
不好意思....是我粗心了...可以 的...谢谢了...嘻嘻...
作者: todaynew    时间: 2009-1-3 17:38
标题: 回复 9# 的帖子
[:24]

注意,如果还需要全部数据滚动查询的话,需要把数据源换回来。

方法是:

  Dim sql As String
    sql = "select * from 客户;"
    Me.Form.RecordSource = sql
    Me.Form.Requery
作者: ycxchen    时间: 2009-1-3 17:51
todaynew很热心的,可贵!
作者: dfadfa    时间: 2009-1-3 18:01
TODAYNEW  为什么我换了用联系电话做为查询条件..就不行了?  奇怪.....
作者: todaynew    时间: 2009-1-3 18:13
一样吧,可能你把文本框名称该了?如果还是用原来的文本框的话依然是:forms!客户!联系人ID

     Dim sql As String
     sql = "select * from  表 where [联系电话]=forms!窗体名称!文本框名称"   
     Me.Form.RecordSource = sql
     me.Form.Requery

[ 本帖最后由 todaynew 于 2009-1-3 18:17 编辑 ]
作者: todaynew    时间: 2009-1-3 18:18
原帖由 ycxchen 于 2009-1-3 17:51 发表
todaynew很热心的,可贵!


[:50]
作者: dfadfa    时间: 2009-1-5 11:38
todaynew 既然这么热心.....能不能告诉下我你的Q是多少?  还有些问题想问你....哈.




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