0
excel vbaでSQLを書くのが初めてで、vbaコードと同じブックにある特定の値を更新しようとしています。ただし、「操作で更新可能なクエリを使用する必要があります」と表示されるエラーが発生しました。誰かが私にこれを解決するのを助けてくれますか?以下は、私が書いたコードされています更新クエリがvbaコードと同じファイル内のデータベースでは機能しません
ます。Public Sub OperationOnCn()
Dim rs As Recordset
Dim conn As Connection
Dim strsql As String
Dim strConn As String
strFile = ThisWorkbook.FullName
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";"
Set conn = CreateObject("ADODB.connection")
Set rs = CreateObject("ADODB.recordset")
wksInput.Range("A1").CurrentRegion.Name = "rngInput"
conn.Open strCon
strsql = "Update rngInput set Salary=10000 where Branch='Delhi'"
rs.Open strsql, conn
wksOutput.Range("A1:Q1000").ClearContents
For i = 1 To rs.Fields.Count
wksOutput.Range("A1").Offset(0, i - 1).Value = rs.Fields(i - 1).Name
Next
wksOutput.Range("A2").CopyFromRecordset rs
rs.Close
conn.Close
End Subの
こんにちはOratom ..あなたの時間を取り出して応答してくれてありがとう。 range.copyを使用してデータを1つのシートから別のシートに配置することはできますが、SQLを使用する理由はExcelをSQLで使用する方法を学ぶことです。私がここでやろうとしているのは、レコードセットの給与列を更新し、それをwksOutputに貼り付けることです。私が不明な場合は教えてください。 –
は、http://www.codeproject.com/Tips/705470/Read-and-Write-Excel-Documents-Using-OLEDBでご覧になれます。ここでは、OleDBを使用してExcelドキュメントを読み書きするための完全なサンプルを提供しています。 – oratom