SQL2005バックボーンを備えたAccess2007でVBコードを使用しています。私のSQLサーバーは別のマシンにあり、以下のコードはクライアントで実行されます。問題は、以下のUPDATEコマンドを実行すると、「操作には更新可能なクエリを使用する必要があります」というエラーが表示されることです。私はこれが一般的であることを知っていますが、インターネットでの私のすべての調査は私の状況に似たものを生み出しませんでした。
Dim MyDB as DAO.Database
Dim sSQL as String
sSQL = "UPDATE tblBMS_Batch SET Status = 70 WHERE Batch_ID = 108582"
MyDB.Execute sSQL
設定されたテーブルは以下のとおりです
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[tblBMS_Batch](
[Batch_Id] [int] IDENTITY(1,1) NOT NULL,
[SDetail_Id] [int] NULL,
[Destination_Id] [int] NULL,
[Batch_Number] [smallint] NULL,
[Line_Number] [smallint] NULL,
[Packing_Number] [smallint] NULL,
[Start_Time] [datetime] NULL,
[End_Time] [datetime] NULL,
[Status] [smallint] NULL,
[Batch_Note] [varchar](1000) NULL,
[Employee_Number] [smallint] NULL,
[PLC_BatchNumber] [smallint] NULL,
[Packing_BatchLetter] [varchar](3) NULL,
[Number_Bags] [smallint] NULL,
[Abort_Status] [bit] NULL,
[Return_Bags] [smallint] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
実行時にエラーが発生します。混乱を招くために、まったく同じUPDATEがSQLで直接機能します。また、同じマシン上の別のアプリケーションで他のVBコードのそのテーブルを更新することもできます(ただし、ADODB接続を使用します)。
何か案は?私はここでかなり困惑しています。前もって感謝します。
ジェイソン