Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

12下一頁(yè)
返回列表 發(fā)新帖
查看: 7503|回復(fù): 17
打印 上一主題 下一主題

[模塊/函數(shù)] [已解決]請(qǐng)教:如何用查詢得出兩個(gè)給定日期之間的所有日期列表?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2013-5-30 09:06:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
如題,希望用查詢的方式得出結(jié)果,不用表。
比如:
給定日期  2013-4-23、2013-5-26
通過查詢得出:
2013-4-23
2013-4-24
2013-4-25
...
2013-5-26

解決辦法總結(jié):
http://www.access-cn.com/info/3696-cn.html
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2013-5-30 12:40:39 | 只看該作者
function datelist(byval d1 as date,byval d2 as date) as string
  '功能:為組合框或列表框提供數(shù)據(jù)源(值列表)
  dim str as string
  dim d as date
  d=d1
  do while true
     if d>d2 the exit do
     str=str & d & ";"
     d=dateadd("d",1,d)
  loop
  datelist=left(str,len(str)-1)
end function
3#
 樓主| 發(fā)表于 2013-5-30 13:10:26 | 只看該作者
todaynew 發(fā)表于 2013-5-30 12:40
function datelist(byval d1 as date,byval d2 as date) as string
  '功能:為組合框或列表框提供數(shù)據(jù)源 ...

謝謝版主的回復(fù)。
我的用途不是解決組合框或列表框的數(shù)據(jù)源,而是解決“查詢指定時(shí)間段內(nèi)所有日期的營(yíng)業(yè)收入,如果某天沒有營(yíng)業(yè),也就沒有收入的記錄,但是又需要體現(xiàn)那天的收入為零”這樣的需求。
是不是只有用臨時(shí)表來列出所有的日期,然后才能用查詢得出結(jié)果?
4#
發(fā)表于 2013-5-30 14:36:27 | 只看該作者
aslxt 發(fā)表于 2013-5-30 13:10
謝謝版主的回復(fù)。
我的用途不是解決組合框或列表框的數(shù)據(jù)源,而是解決“查詢指定時(shí)間段內(nèi)所有日期的營(yíng)業(yè) ...

將缺少的日期追加到收入表中即可。
5#
發(fā)表于 2013-5-30 18:29:37 | 只看該作者
用查詢可以實(shí)現(xiàn),兩個(gè)查詢即可。
第一步,任意選擇一個(gè)表(數(shù)據(jù)足夠多,能夠唯一排序,有自動(dòng)編號(hào)最好),然后就生成所需記錄條數(shù)(結(jié)束時(shí)間-開始時(shí)間)的查詢1。
第二步,利用以上查詢1,很容易得出如下結(jié)果的查詢2:
2013-4-23
2013-4-24
2013-4-25
...
2013-5-26
第三步,利用查詢2就可以做很多事了,
6#
 樓主| 發(fā)表于 2013-5-31 09:06:54 | 只看該作者
本帖最后由 aslxt 于 2013-5-31 09:12 編輯
cgsilicone 發(fā)表于 2013-5-30 18:29
用查詢可以實(shí)現(xiàn),兩個(gè)查詢即可。
第一步,任意選擇一個(gè)表(數(shù)據(jù)足夠多,能夠唯一排序,有自動(dòng)編號(hào)最好), ...


數(shù)據(jù)足夠多,是指多到保證明天都有記錄嗎?
如果是那樣就好辦了,數(shù)據(jù)沒有多到那種程度!
如附件,“營(yíng)業(yè)報(bào)表”是數(shù)據(jù)源,“查詢結(jié)果”是需要的查詢結(jié)果示意。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x
7#
發(fā)表于 2013-5-31 15:37:06 | 只看該作者
aslxt 發(fā)表于 2013-5-31 09:06
數(shù)據(jù)足夠多,是指多到保證明天都有記錄嗎?
如果是那樣就好辦了,數(shù)據(jù)沒有多到那種程度!
如附件,“ ...

我不能處理你的附件,請(qǐng)檢查附件。
數(shù)據(jù)足夠多的意思是,如果你要得到2013-1-1至2013-12-31的連續(xù)日期,數(shù)據(jù)庫(kù)中表的數(shù)據(jù)需要達(dá)到356條無重復(fù)數(shù)據(jù)。對(duì)這個(gè)要使用的表是沒有太多限制的,只需要記錄條數(shù)夠(不重復(fù)),不管字段有多少,是什么字段。
8#
 樓主| 發(fā)表于 2013-5-31 17:56:11 | 只看該作者
cgsilicone 發(fā)表于 2013-5-31 15:37
我不能處理你的附件,請(qǐng)檢查附件。
數(shù)據(jù)足夠多的意思是,如果你要得到2013-1-1至2013-12-31的連續(xù)日期, ...


達(dá)不到你說的數(shù)據(jù)量,就像自動(dòng)編號(hào)被刪了一樣,不連續(xù)

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x
9#
發(fā)表于 2013-6-1 10:45:54 | 只看該作者
本帖最后由 cgsilicone 于 2013-6-1 11:49 編輯
aslxt 發(fā)表于 2013-5-31 17:56
達(dá)不到你說的數(shù)據(jù)量,就像自動(dòng)編號(hào)被刪了一樣,不連續(xù)

我沒有講清思路,請(qǐng)看看附件,很容易實(shí)現(xiàn),效率也高。
表中數(shù)據(jù)的多少,決定了查詢“第2步查詢2”中“union” 的多少。數(shù)據(jù)夠多,就不用“union“。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x
10#
發(fā)表于 2013-6-1 22:26:53 | 只看該作者
本帖最后由 netguestcn 于 2013-6-2 08:12 編輯

供參考:
1、建一臨時(shí)表:日期表
2、利用自定義函數(shù)將營(yíng)業(yè)起止日期間的所有日期追加到“日期表”
3、生成查詢:無營(yíng)業(yè)額日期
4、利用聯(lián)合查詢得到最終結(jié)果

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號(hào)?注冊(cè)

x
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2024-10-23 08:23 , Processed in 0.122711 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表