Office中国论坛/Access中国论坛

标题: [求助]模糊查询和不在列表两个问题 [打印本页]

作者: lyyggb    时间: 2005-6-3 22:42
标题: [求助]模糊查询和不在列表两个问题
[attach]10971[/attach]



请看附件的问题,谢谢
作者: 海狸先生    时间: 2005-6-3 23:34
1、按钮事件Me.FilterOn = True

Me.Filter = "company like '" & text34 & "*' And name like '" & text37 & "*'"2、在另一贴中不是有网友给你很好的例子了吗?
作者: sgrshh29    时间: 2005-6-4 00:16
凑个热闹

第一个问题:

Me.Filter = "[Name] Like '*' & forms![contact]![text37] & '*' AND [Company] Like '*' & forms![contact]![text34] & '*'"

Me.FilterOn = True

第二个问题:

Private Sub 组合框_NotInList(NewData As String, Response As Integer)

Dim db As Database

Dim strSQL As String

strsql = "Insert Into 表名 (字段名) Values  & "(" & """" & NewData  & """" & ")"                                                   

    if MsgBox( "没有此内容,是否添加到字段列表中?", vbYesNO, "添加新内容")=vbYes Then

        Set db = CurrentDb

        db.Execute strSQL

        Response = acDataErrAdded

        Set db = Nothing

    Else

        Response=acDataErrDisPlay

    End If

End Sub

[此贴子已经被作者于2005-6-3 16:16:24编辑过]


作者: lyyggb    时间: 2005-6-4 01:05
问题一:我是想通过对company和name的模糊查询后,将查询结果在列表中显示出来
作者: lyyggb    时间: 2005-6-4 01:18
以下是引用sgrshh29在2005-6-3 16:16:00的发言:



凑个热闹

第一个问题:

Me.Filter = "[Name] Like '*' & forms![contact]![text37] & '*' AND [Company] Like '*' & forms![contact]![text34] & '*'"

Me.FilterOn = True

第二个问题:

Private Sub 组合框_NotInList(NewData As String, Response As Integer)

Dim db As Database

Dim strSQL As String

strsql = "Insert Into 表名 (字段名) Values  & "(" & """" & NewData  & """" & ")"                                                   

    if MsgBox( "没有此内容,是否添加到字段列表中?", vbYesNO, "添加新内容")=vbYes Then

        Set db = CurrentDb

        db.Execute strSQL

        Response = acDataErrAdded

        Set db = Nothing

    Else

        Response=acDataErrDisPlay

    End If

End Sub

问题二:按你的代码,改了相应的表名和字段名,但好像不行哦,按enter后没反应
作者: 海狸先生    时间: 2005-6-4 01:22
列表中?可以把列表的行来源直接写成SELECT Contact.编号, Contact.Company FROM Contact WHERE company like text34 & '*' And name like text37 & '*'; 然后在按钮中写List16.Requery
作者: lyyggb    时间: 2005-6-4 01:53
问题二基本可以了,只是例如,我输入“广”字,广州光亚展览贸易有限公司,广州优一动画多媒体有限公司 都可以搜出来但我输入“优一”,就什么也找不到了。同样的,我输入“Messe”,可以找到Messe Frankfurt(HK) Ltd,但如果输入“Frankfurt”则找不到。也就是说模糊查询只能查找第一个字/字母/单词??这是Access本身的缺陷还是有办法解决的?
作者: 海狸先生    时间: 2005-6-4 01:57
SELECT Contact.编号, Contact.Company FROM Contact WHERE company like '*' & text34 & '*' And name like '*' & text37 & '*';
作者: lyyggb    时间: 2005-6-4 02:17
实在太好了,问题二解决,谢谢
作者: lyyggb    时间: 2005-6-4 16:51
又发现了一个问题,例如,有产品5 slide light和25 slide light,要找出所有5 slide light的报价。于是输入5 slide,但结果得到的是5 slide light和25 slide light都出来了,但我只想要5 slide light,可以解决问题吗?
作者: 海狸先生    时间: 2005-6-4 17:14
但是这样一来,模糊查询不是变成精确查询了吗?

[此贴子已经被作者于2005-6-4 9:21:35编辑过]


作者: lyyggb    时间: 2005-6-4 17:20
什么意思?不明白
作者: 海狸先生    时间: 2005-6-4 17:25
刚刚没写好,你就回了
作者: lyyggb    时间: 2005-6-4 17:27
以下是引用海狸先生在2005-6-4 9:14:00的发言:



但是这样一来,模糊查询不是变成精确查询了吗?



那倒是,呵呵




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