Office中国论坛/Access中国论坛

标题: 多个选项按钮多数据查询同一列 向长辈请教 [打印本页]

作者: uincent    时间: 2009-6-27 15:29
标题: 多个选项按钮多数据查询同一列 向长辈请教
本帖最后由 uincent 于 2009-6-28 10:59 编辑

[attach]38648[/attach]
还有我想在查询后可更改或删除添加 单价表里的数据
可联合查询后就不能改了
<机号转变>没用就是想查询方便用
<价格转>是想把(价格)写回<单价表>的(单价)
<单价表>的(单价)是手工的不一定准...
作者: kelind    时间: 2009-6-27 23:59
不明白你的意思.
作者: uincent    时间: 2009-6-28 10:30
不明白你的意思.
kelind 发表于 2009-6-27 23:59

主要问题我想知道如何让6个选项按钮起作用
如果能不用到(类型)列那就更好...起码可少键一个表..
作者: uincent    时间: 2009-6-28 12:54
没人理我....
作者: luhao    时间: 2009-6-28 14:42
自定义个函数,你想点查也可以
同一列多条件并查,多列多条件查。
Public Function 模糊搜索(数据源 As String, Optional 条件 As String, Optional 关系 As Boolean) As String
''=================================================================================
'' 函数说明:
'' 此函数执行成功则返回一个包含全字段模糊查询条件的查询语句,否则返回一个空字符串。
'' 参数说明:
'' 数据源 参数: 必填 可以是表名、查询名、SQL语句
'' 条件   参数: 可选 可以是任何字符,多个条件用空格隔开
'' 关系   参数: 可选 为真假值,确定多个条件之间的关系,为真关系是"or",为假关系是"and"
'' 使用示例:
'' Me.列表框1.RowSource = 模糊搜索("人员表", Me.文本1)
'' Me.子窗体.Form.RecordSource = 模糊搜索("Select * From 人员表", "张小 大力 001",true)
'
'' 设计:t小宝
'' 创建日期:2007-12-27
'' 更新日期:2007-12-30
''==================================================================================
On Error GoTo Err1
Dim dbs As DAO.Database
Dim r字段 As DAO.Recordset
Dim stsql As String
Dim s数组() As String
Dim s字段 As String
Dim s条件 As String
Dim s关系 As String
Dim i条件 As Integer
Dim i As Integer
Dim i1 As Integer

If Len(数据源) = 0 Then                                                            ' 不输入数据源,退出
    Exit Function
End If

' 转换数据源参数为SQL语句
If InStr(1, 数据源, "select", 1) = 0 Then                                           ' 如果数据源是查询语句
    stsql = "Select * From [" & 数据源 & "] "
Else                                                                                               ' 数据源是表名或查询名称
    stsql = "Select * From (" & 数据源 & ") As a "
End If

s条件 = Trim(条件)
If Len(s条件) = 0 Then                                                                  ' 不输入条件
    模糊搜索 = stsql
    Exit Function
End If

' 清除条件中多余的空格,转换为数组
Do Until InStr(1, s条件, "  ", 0) = 0
    s条件 = Replace(s条件, "  ", " ")                                               ' 用一个空格替换两个空格
Loop
s数组 = Split(s条件)
i条件 = UBound(s数组)

' 循环组合字段条件
Set dbs = CurrentDb
Set r字段 = dbs.OpenRecordset(stsql & " Where False")
With r字段
    For i = 0 To .Fields.Count - 1                                                   ' 循环组合条件字段
        s字段 = s字段 & "[" & .Fields(i).Name & "] & ' ' & "
    Next
    .close
End With
s字段 = Left(s字段, Len(s字段) - 8)                                              ' 去掉后面多余的字符

' 关系字符
If 关系 Then
    s关系 = "*' or "
Else
    s关系 = "*' and "
End If

For i1 = 0 To i条件                                                                           ' 循环条件
    模糊搜索 = 模糊搜索 & s字段 & "Like'*" & s数组(i1) & s关系        ' 组合字段和条件
Next
模糊搜索 = " Where " & Left(模糊搜索, Len(模糊搜索) - 4)               ' 去掉后面多余的字符,加上" Where "
模糊搜索 = stsql & 模糊搜索

Set r字段 = Nothing
Set dbs = Nothing

Exit1:
    Exit Function
Err1:
    模糊搜索 = ""
    MsgBox Err.Description, vbExclamation, "发生错误"
    Resume Exit1
End Function
作者: uincent    时间: 2009-6-28 18:13
我是新手...
具体的例子在哪?
可否传个




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