設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

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

[Access本身] 這種字符串怎么統(tǒng)計?(已解決,感謝版主)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2009-3-31 15:16:34 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 ghfmac 于 2009-4-1 08:48 編輯

附件中的表,代碼字段請看例子,我想統(tǒng)計下每行里含有Z1的有幾條記錄,含有Z2的幾條,這種統(tǒng)計怎么弄。

本帖子中包含更多資源

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
發(fā)表于 2009-3-31 15:30:48 | 只看該作者
  1. SELECT Sum(IIf(InStr([代碼],"Z1")>0,1,0)) AS 含有Z1記錄數(shù), Sum(IIf(InStr([代碼],"Z2")>0,1,0)) AS 含有Z2記錄數(shù)
  2. FROM 表1
復(fù)制代碼
3#
 樓主| 發(fā)表于 2009-4-1 08:47:44 | 只看該作者
本帖最后由 ghfmac 于 2009-4-1 09:03 編輯

謝謝版主,問題解決!但是在運行中發(fā)現(xiàn)個新問題,如果“z1”項統(tǒng)計時,會把“z11”也統(tǒng)計進(jìn)去,這是為什么,不需要加模糊查詢啊?
4#
發(fā)表于 2009-4-1 09:49:56 | 只看該作者
那么改成這樣就可以了,不管是否有zz1還是z11等情況
  1. SELECT Sum(IIf(InStr("," & [代碼] & ",",",Z1,")>0,1,0)) AS 含有Z1記錄數(shù), Sum(IIf(InStr("," & [代碼] & ",",",Z2,")>0,1,0)) AS 含有Z2記錄數(shù)
  2. FROM 表1
復(fù)制代碼
5#
 樓主| 發(fā)表于 2009-4-1 11:14:47 | 只看該作者
本帖最后由 ghfmac 于 2009-4-1 11:34 編輯

非常感覺版主的熱心!問題徹底解決。 如果能有點注解就好不!
6#
發(fā)表于 2009-4-1 16:21:55 | 只看該作者
那么只能將問題回答到底了,先簡單解釋一下

在[代碼]字段前后各加上一個逗號
"," & [代碼] & ","   

在[代碼]字段前后各加上一個逗號后,用instr()函數(shù)判斷是否含有,z1,
InStr( "," & [代碼] & "," ,  ",Z1," )

如果InStr()>0,就是含有,則IIf(InStr()>0,1,0)=1,否則等于0
IIf( InStr("," & [代碼] & ",",",Z1,")>0  , 1 ,  0)   

含有就是1,不含有就是0,用sum()求和就是需要的結(jié)果
sum( IIf(InStr("," & [代碼] & ",",",Z1,")>0,1,0) )
7#
發(fā)表于 2009-4-1 16:31:03 | 只看該作者
本帖最后由 rjacky 于 2009-4-1 16:38 編輯

具體思路:

對于計算機來說,zz11也包含了z1,所以也算作一條記錄,所以關(guān)鍵問題是要區(qū)分z1和zz11。

1、在[代碼]字段中,Z1的位置有4種
在開頭 z1,……
在中間 ……,z1,……
在結(jié)尾 ……z1
單一個 z1

2、同樣在[代碼]字段中,諸如z11或zz1的位置也有4種
在開頭 zz11,……
在中間 ……,zz11,……
在結(jié)尾 ……zz11
單一個 zz11

3、1和2兩者的區(qū)別是: 真正的z1前面要么是空,要么是逗號,后面要么是空,要么就是逗號,共四種情況,在查詢中來處理比較復(fù)雜,即使用vba編程也得用兩個if來描述

4、要一步就能找出真正的z1,就得切換角度將問題轉(zhuǎn)換一下,所以無論在[代碼]字段中z1的位置如何,如果在字段前后都加上逗號
在開頭 ,z1,……,
在中間 ,……,z1,……,
在結(jié)尾 ,……z1,
單一個 ,z1,

5、這樣 2和4的區(qū)別就非常明顯了 ,z1,zz11 是兩個完全不同的字符串,一步就能準(zhǔn)確區(qū)分開來,所以問題從"是否含有z1"變成"是否含有,z1, "
8#
發(fā)表于 2009-4-1 16:39:46 | 只看該作者
學(xué)習(xí)了。
9#
 樓主| 發(fā)表于 2009-4-3 10:05:19 | 只看該作者
相當(dāng)感謝rjacky 的講解,菜菜們有福了!
10#
發(fā)表于 2009-4-3 10:14:06 | 只看該作者
看不懂,努力學(xué)
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

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

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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