Board logo

標題: 執行出錯~找不到資料或資料型態錯誤 [打印本頁]

作者: shenfu    時間: 2010-6-27 18:51     標題: 執行出錯~找不到資料或資料型態錯誤

本帖最後由 shenfu 於 2010-6-27 18:52 編輯

Sub PopulateOneField()
    Dim cnn As ADODB.Connection
    Dim MyConn
    Dim rst As ADODB.Recordset
    Dim i As Long, j As Long
    Dim Rw As Long
    Dim sSQL As String
    Dim sID As Long
  
    Sheets("sheet1").Activate
    Rw = Range("A65535").End(xlUp).Row

    Set cnn = New ADODB.Connection
    MyConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=D:\db.mdb;"


    With cnn
        .Provider = "Microsoft.Jet.OLEDB.4.0"
        .Open MyConn
    End With

    Set rst = New ADODB.Recordset
    rst.CursorLocation = adUseServer
   

    For i = 2 To 100
        sID = Cells(i, 1).Value
        sSQL = "select * from abc where abc.ID = " & sID
        
     
        rst.Open Source:=sSQL, ActiveConnection:=cnn, _
                 CursorType:=adOpenKeyset, LockType:=adLockOptimistic
         

            rst(Cells(1, 2).Value) = Cells(i, 2).Value
            rst(Cells(1, 3).Value) = Cells(i, 3).Value
            rst(Cells(1, 4).Value) = Cells(i, 4).Value
            rst(Cells(1, 5).Value) = Cells(i, 5).Value
           
            
            rst.Update
            
   
        rst.Close
    Next i


    cnn.Close
    Set rst = Nothing
    Set cnn = Nothing

End Sub

以上程式執行會出錯
準則運算式的資料類型不符合
可是我都把id型態改為文字或全改數字都沒用也..
請問有何辦法嗎
我的id都是access中有的
而如果改成 ' " & sID & " '
也是會出現
=>可能是 bof 或 eof 的值為 true 或目前的資料錄已被刪除
作者: Min    時間: 2010-6-27 21:33

本帖最後由 Min 於 2010-6-27 21:35 編輯

試試看
sSQL = "select * from abc where abc.ID = '" & sID & "'"




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)