[發問] ADO - SQL 取得欄位內 不重覆值 並排除 空值
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
[發問] ADO - SQL 取得欄位內 不重覆值 並排除 空值
本帖最後由 暗黑 於 2010-6-11 17:06 編輯
請教各位大大
ADO SQL 的語法
資料表 A
欄位名稱:1 ,2 , 3
我下的SQL語法 如下
1. 不理會空值
Select Distinct 2 Form A
結果:返迴值 為-1
2. 排除空值
2.1 Select Distinct 2 Form A Where 2<>''
結果:錯誤
2.2 Select Distinct 2 Where 2<>'' Form A
結果:錯誤
請問各位大大,指導一下,語法要如何下,我確定資料庫內是有資料的,就是無法篩出,請指導
我查了一下ado 回覆
1. underlyingVale:目前提供者不支援重新整理基底值
2. LockType:adLockReadOnly (可是我是下LockType:adLockPessimistic)
3. OriginalValue:目前的資料錄集不支援更新。這可能成為提供者或所選定類型的限制
可是 我還是不知道問題在那,請各位先進指導一下 |
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
2#
發表於 2010-6-14 11:31
| 只看該作者
本帖最後由 暗黑 於 2010-6-14 11:40 編輯
剛剛 用 excel 2003 一模一樣 的程式 下去執行,結果 資料是有回傳的
請問各位大大:
myDbSqlSpcIqc.theRST.RecordCount 應該是回傳資料筆數(88筆),結果回傳值是-1,這是什麼問題呢,是我ado模式有問是 還是...
ps: ado程式段我是寫模組的模式,這個ado 已被執行多次,只有 sql 下 Distinct 時有問題
傳遞值:
strCMn="select Distinct 加工廠商 from 託外_半成品"
ado 程式段
Dim theCON As ADODB.Connection
Public theRST As ADODB.Recordset
Sub subConn(strFullName As String)
Dim strDrv As String
Dim IQC_SQLPass$, IQC_SQLID$, IQC_SQLName$, IQC_SQLAdderss$
IQC_SQLPass = "yyyyy"
IQC_SQLID = "yy"
IQC_SQLName = "Spc-Iqc"
IQC_SQLAdderss = "192-168-100-199\SQLEXPRESS"
theCON.Open "Provider=SQLOLEDB.1;Password=" & IQC_SQLPass & ";Persist Security Info=True;User ID=" & IQC_SQLID & ";Initial Catalog=" & IQC_SQLName & ";Data Source=" & IQC_SQLAdderss
End Sub
Sub subOpen(strCMn As String)
theRST.Open Source:=strCMn, ActiveConnection:=theCON, _
CursorType:=adOpenStatic, LockType:=adLockPessimistic, Options:=adCmdText
End Sub
Private Sub Class_Initialize()
Set theCON = New ADODB.Connection
Set theRST = New ADODB.Recordset
End Sub
Private Sub Class_Terminate()
theCON.Close
Set theRST = Nothing
Set theCON = Nothing
End Sub |
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|
- 帖子
- 62
- 主題
- 10
- 精華
- 0
- 積分
- 253
- 點名
- 0
- 作業系統
- xp , win7
- 軟體版本
- office2003
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 人心
- 註冊時間
- 2010-5-21
- 最後登錄
- 2012-8-3
|
3#
發表於 2010-6-14 13:15
| 只看該作者
找到了...
因 使用 Distinct 為回傳態為唯讀值,故 ado LockType 要使用 adLockReadOnly
.theRST.RecordCount ,才會回傳筆數 |
-
1
評分人數
-
-
小誌:
自助而非等待人助,為你的精神加分金錢 + 1
|
是學程式而不是要程式,是進步的基礎
|
|
|
|
|