ADOを使用し、テキストやエクセルデータをデータグリッドへは表示できましたが編集できません。どうしたらいいのでしょうか?どなたかお助けください。できれば、取得先への反映方法もお願いします。
ふつうに編集できますが・・・
LockType あたりが間違っているのでは?
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
ODBC使う必然性がないのなら、Jetを使っては?
すみません。本当に初心者なので、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
たとえばこう。
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
ツイート | ![]() |