1

Excel スプレッドシートのテーブルを更新する従来の ASP Web アプリケーションがあります。

以下を使用してExcelファイルに接続しています

Set rows = CreateObject("ADODB.Recordset")
objConnection.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & Server.MapPath("data.xlsx") & ";" & _
"Extended Properties=" &  Chr(34) & "Excel 12.0 Xml;HDR=Yes" & Chr(34) & ";" 

それは私が実行しているサンプルクエリです

query = "UPDATE [Sheet1$] SET [STATUS] = 'unclaimed', [CLAIMER] = '' ,[SDATE] = '" 
& DATE & "' WHERE [JUR] = '" & in_jur & "' AND [WC] = " & in_wc 
objConnection.Execute query,numRows,adExecuteNoRecords

上記のクエリは、ユーザーがこのように in_jur と in_wc の値を送信する JavaScript 関数を呼び出すボタンをクリックすると、process.asp ページで実行されます。

function sendForProcessing() {
    somejur = //use the document.getElementByID to get selected jur
    somewc = //use the document.getElementByID to get selected wc
    window.location = process.asp?in_jur=somejur&in_wc=somewc
}

アプリケーションはしばらくの間シートを正しく更新し (動作する回数を数えました。1 回目のテスト: 10 回 2 回目のテスト: 16 回変化するだけです)、その後動作を停止します。objConnection.Execute でエラー メッセージが表示されません。

numRows を出力すると、1 が出力されます。

Excel で行を更新するより良い方法はありますか?

4

0 に答える 0