ADOを使用し、データグリッドでテキストやエクセルを連結し、編集する方法について


初心者A  2004-11-23 11:25:40  No: 117736  IP: [192.*.*.*]

ADOを使用し、テキストやエクセルデータをデータグリッドへは表示できましたが編集できません。どうしたらいいのでしょうか?どなたかお助けください。できれば、取得先への反映方法もお願いします。

編集 削除
Say  2004-11-23 12:14:43  No: 117737  IP: [192.*.*.*]

ふつうに編集できますが・・・
LockType あたりが間違っているのでは?

編集 削除
初心者A  2004-11-23 14:30:35  No: 117738  IP: [192.*.*.*]

LockType = adLockOptimistic  で設定しております。ついでに以下にレコードセットの抜粋を記載いたします。お願いします。
mCn.ConnectionString = _
        "DRIVER=" & _
        "{Microsoft Excel Driver (*.xls)};" & _
        "DBQ=" & Load_Data
        
    ' コネクションをオープン
    mCn.Open
    ' レコードセットをオープン
    Set mRs = New ADODB.Recordset
    mRs.Source = "Select * From " & "sheet1"
    mRs.ActiveConnection = mCn
    mRs.CursorType = adOpenStatic
    mRs.LockType = adLockOptimistic
    mRs.Properties("IRowsetIdentity") = True
    mRs.Open

編集 削除
Say  2004-11-23 18:25:34  No: 117739  IP: [192.*.*.*]

ODBC使う必然性がないのなら、Jetを使っては?

編集 削除
初心者A  2004-11-23 22:41:50  No: 117740  IP: [192.*.*.*]

すみません。本当に初心者なので、Jetを私用したやり方(プログラム)を教えてください。一応自分では、やってみましたが、うまくいきません。

mCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
                             & "Data Source=" & Load_Data
 ' コネクションをオープン
    mCn.Open
    ' レコードセットをオープン
    Set mRs = New ADODB.Recordset
    mRs.Source = "Select * From " & "sheet1"
    mRs.ActiveConnection = mCn
    mRs.CursorType = adOpenStatic
    mRs.LockType = adLockOptimistic
    mRs.Properties("IRowsetIdentity") = True
    mRs.Open

編集 削除
Say  2004-11-23 23:11:01  No: 117741  IP: [192.*.*.*]

たとえばこう。
cn.CursorLocation = adUseClient
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                "Data Source=" & App.Path & "\DBTest.xls;" & _
                "Extended Properties=""Excel 8.0;HDR=NO;"""
rs.Open "Select * from [Sheet1$]", cn, adOpenDynamic, adLockOptimistic, adCmdText

編集 削除