0
Access VBAでは、データベースの挿入/更新にパラメータを使用してADODBコマンドを使用する必要がありました。CurrentProject.ConnectionをADODB.Connectionに正しく使用しますか?
挿入するデータベースは常に最新のものなので、CurrentProject.Connectionを使用します。
conn.Openを使用せずにすべて動作すると、オープンしようとするとエラー3705が返されます。オブジェクトが開いているときは操作できません。
接続制限になる重要なものがありませんか?誰かがより良い方法を提案できますか?
Dim sql As String
sql = "INSERT INTO "
sql = sql + "[table]"
sql = sql + "(field1,field2)"
sql = sql + "VALUES (@field1,@field2)"
Dim conn As ADODB.Connection
Set conn = CurrentProject.Connection
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = conn
.CommandType = adCmdText
.CommandText = sql
.Parameters.Append .CreateParameter("@field1", adVarChar, adParamInput, 255, x)
.Parameters.Append .CreateParameter("@field2", adVarChar, adParamInput, 255, y)
.Execute
End With
これを開くことなく接続を使用できます。すでに開いています。あなたは何をしようとしているのですか?あなたのコードは明示的に接続を開くことなく動作しますか? – DataWriter
*すべてはconn.Open *を使わずに動作しますが、ここでは 'conn.Open'を使用しません。投稿されたコードはここで間違っていますか? – Parfait
申し訳ありませんが、私は明確ではありませんでした。すべてがテストの際に完全に機能します。私は生産中に接続を最大限にするリスクがあるかどうか分かりません。同じ接続を使用している複数のユーザーからのエラーの危険性がありますか? – user6788933