2016-08-11 3 views
-1
Private Sub cmdSave_Click() 

'CHECKING FOR VALID QUANTITY ENTERED BY USER' 

If IsNull(Me![INCOMING_QTY]) And IsNull(Me![OUTGOING_QTY]) Then 
MsgBox "Must Enter Valid Quantity." 
Me!INCOMING_QTY.SetFocus 

'VERIFYING THAT WORKORDER IS NEW' 

ElseIf DCount("BASE_ID", "DBO_Paint_Room", "BASE_ID = '" & Me!BASE_ID & "' AND PART_ID = '" & Me!PART_ID & "'") = 0 Then 

'INSERTING NEW WORKORDER INTO SQL TABLE FROM FORM FIELDS' 

CurrentDb.Execute "INSERT INTO [DBO_Paint_Room] ([BASE_ID],[PART_ID],[DESCRIPTION],[USER_1],[DESIRED_QTY],[DESIRED_WANT_DATE],[RECEIVED_QTY],[CURRENT_QTY],[LAST_UPDATE_DATE]) " _ 
& "VALUES ('" & Me![BASE_ID] & "','" & Me![PART_ID] & "','" & Me![DESCRIPTION] & "','" & Me![USER_1] & "'," & Me![DESIRED_QTY] & "," & Nz(Me![DESIRED_WANT_DATE], "Null") & "," & Me![RECEIVED_QTY] & "," & Nz(Me![INCOMING_QTY], "Null") & ",NOW())" 

これは、SQL Serverテーブルにデータを挿入するSubの上部です。私はこのコードをAccess 2010とSQL Server Express 2014でオフサイトで構築しました。その環境で正常に動作しますが、Access 2007の新しいインスタンスにコードをコピーすると、何もしません。エラーも挿入も、何もない。私は保存された "SQLstr"とDoCmd.RunSQLを使用するように修正しましたが、型の不一致エラーがスローされます。誰かが私が間違っていることについて私にいくつかの洞察を与えることができますか? SQLテーブル設計のソースコードは、テストバージョンとまったく同じです。 ODBC接続は標準のSQL Server Driverを使用します。VBAを使用したSQL Serverテーブルへの挿入は、Access 2007およびSQL Server 2008では実行されません。

答えて

0

ちょうどDoCmd.OpenQueryと保存されたAccessの挿入クエリを使用しました。それは今働く。

関連する問題