| 
    
     |  | よろしくお願いいたします 
 ファイルサーバー上のMDBに
 各ローカルPCからエクセルマクロを実行し
 アクセスにレコード書き込みを実行しています
 数台のPCからの同時書き込み?(せいのでマクロ実行)
 では不具合はありませんでした
 
 以前どこかでmdbへの同時接続、同時使用?の制限があるような
 記述を見たことがあったのですが
 ・同時に開いて使用するのが5人?
 ・同一レコードへの書き込みはロックがかかる
 (同時にTBLを開いて同一レコードを操作した場合になるは体験済み)
 とかよく理解できていません
 
 実際には下記のコードでレコード追加しているのですが
 多分一瞬のことで同時に実行されることは少ないと考えていますが
 よくわかりません
 
 下記Qの他、適正なコード等アドバイスありましたらよろしくお願いいたします
 
 ・同時書き込みが生じた場合
 Q1)アクセス側で発生する書き込み不可のメッセージ等は、ローカルPCに出るのでしょうか
 Q2)エクセルマクロは途中で停止するのでしょうか
 Q3)エクセルのメッセージで再実行とか出るのでしょうか
 
 同時書き込みのテスト方法わかりませんでした
 テストコードご教授頂けるとうれしいです
 
 最悪、アクセス側の書き込みレコードを見れば、未書き込みPCは把握できるので
 再度、実行してもらえばいいのではと考えています
 
 
 エクセル側マクロ
 参照設定 Microsoft DAO 3.6 Object Library
 
 Public Sub Add2DT(C_ROW As Long) 'C_ROW As Long
 
 Dim Wsp As Workspace
 Dim Db As Database
 Dim Rst As Recordset
 Dim intCount As Integer
 
 Dim C As Integer
 
 Const strDBName As String = "\\hoge\fuga\KIKI_ROG.mdb"
 
 Set Wsp = Workspaces(0)
 Set Db = Wsp.OpenDatabase(strDBName)
 Set Rst = Db.OpenRecordset("T03_KIKI_LOG", dbOpenTable)
 
 'For intCount = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
 'For intCount = 1 To ActiveSheet.Cells.SpecialCells(xlLastCell).Row
 
 Rst.AddNew
 
 For C = 0 To 22
 
 Rst(C) = Cells(C_ROW, C + 1).Value
 
 Next
 
 Rst(23) = Now()
 
 Rst.Update
 
 'Next intCount
 
 Rst.Close
 Set Rst = Nothing
 
 Db.Close
 Set Db = Nothing
 
 Wsp.Close
 Set Wsp = Nothing
 
 
 End Sub
 
 
 関連Q
 【59481】ローカルPCからのデータ取得
 ://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=59481;id=excel
 
 |  |