设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 1495|回复: 15
打印 上一主题 下一主题

[查询] 请帮助看看这种动态条件查询如何做?

[复制链接]
跳转到指定楼层
1#
发表于 2009-4-1 11:23:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请帮助看看这种动态条件查询如何做
我在窗体Totaldemand中的demand文本框中输入一个条件 例如:=[200923]+[200924]+[200925]后
在查询qryTotaldemand的total字段自动将结果算出
请问如何做?谢谢

本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-4-1 11:33:54 | 只看该作者
demand文本框在那里??
3#
 楼主| 发表于 2009-4-1 12:07:18 | 只看该作者
在窗体中,标签名为total
4#
发表于 2009-4-1 12:12:18 | 只看该作者
Dim strArray() As String
    Dim strTemp As String
    Dim strSQL As String
    Dim Qdf As DAO.QueryDef
    Dim i As Integer
    If IsNull(Me.demand) Then Exit Sub
    strArray = Split(Me.demand, "+")
    For i = 0 To UBound(strArray)
        strTemp = strTemp & "Nz(" & strArray(i) & ")+"
    Next
    strTemp = Left(strTemp, Len(strTemp) - 1)
    strSQL = "SELECT Table1.*, " & strTemp & " AS total FROM Table1"
    Set Qdf = CurrentDb.QueryDefs("qryTotaldemand")
    Qdf.SQL = strSQL
    Qdf.Close
    Set Qdf = Nothing
    Me.RecordSource = "qryTotaldemand"

本帖子中包含更多资源

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

x
5#
 楼主| 发表于 2009-4-1 12:30:00 | 只看该作者
老师请问是输入格式或方法Nz([200924])+Nz([200925])+Nz([200926])吗有没有办法直接输入200924 +20025+200926格式自动添加的?
6#
发表于 2009-4-1 13:05:07 | 只看该作者
  1. Dim strArray() As String
  2.     Dim strTemp As String
  3.     Dim strSQL As String
  4.     Dim Qdf As DAO.QueryDef
  5.     Dim i As Integer
  6.     If IsNull(Me.demand) Then Exit Sub
  7.     strArray = Split(Me.demand, "+")
  8.     For i = 0 To UBound(strArray)
  9.         strTemp = strTemp & "Nz([" & strArray(i) & "])+"
  10.     Next
  11.     strTemp = Left(strTemp, Len(strTemp) - 1)
  12.     strSQL = "SELECT Table1.*, " & strTemp & " AS total FROM Table1"
  13.     Set Qdf = CurrentDb.QueryDefs("qryTotaldemand")
  14.     Qdf.SQL = strSQL
  15.     Qdf.Close
  16.     Set Qdf = Nothing
  17.     Me.RecordSource = "qryTotaldemand"
复制代码
直接输入200922+200923
7#
 楼主| 发表于 2009-4-1 13:09:12 | 只看该作者
thank you teacher help me
8#
 楼主| 发表于 2009-4-5 15:10:55 | 只看该作者
6d老师:
我还有一个问题:想在Totaldemand中的demand文本框中输入一个条件:200923 to 200927
怎样编写?
谢谢
9#
发表于 2009-4-5 16:47:18 | 只看该作者
6d老师:
我还有一个问题:想在Totaldemand中的demand文本框中输入一个条件:200923 to 200927
怎样编写?
谢谢
yanwei82123300 发表于 2009-4-5 15:10

  1. Private Sub demand_AfterUpdate()
  2.     Dim strArray() As String
  3.     Dim strTemp As String
  4.     Dim strSQL As String
  5.     Dim Qdf As DAO.QueryDef
  6.     Dim i As Long
  7.     Dim BeginVal As Long, EndVal As Long
  8.     If IsNull(Me.demand) Then Exit Sub
  9.     strArray = Split(Me.demand, "to")
  10.     BeginVal = Val(strArray(0))
  11.     EndVal = Val(strArray(UBound(strArray)))
  12.     For i = BeginVal To EndVal
  13.         strTemp = strTemp & "Nz([" & i & "])+"
  14.     Next
  15.     strTemp = Left(strTemp, Len(strTemp) - 1)
  16.     strSQL = "SELECT Table1.*, " & strTemp & " AS total FROM Table1"
  17.     Set Qdf = CurrentDb.QueryDefs("qryTotaldemand")
  18.     Qdf.SQL = strSQL
  19.     Qdf.Close
  20.     Set Qdf = Nothing
  21.     Me.RecordSource = "qryTotaldemand"
  22. End Sub
复制代码

本帖子中包含更多资源

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

x
10#
发表于 2009-4-6 16:35:10 | 只看该作者
学习了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-24 07:42 , Processed in 0.104784 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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