|
こんにちわ
▼pon さん:
>で下記、試しましたが、多摩の人だけがうまく動作しません
LANであっても、距離があるので、回線の細さが影響している可能性もあり得ます。
その場合は、多摩から更新をかけてしばらく放置しておけば更新されているという動きをするはずです。原因としては可能性は低いですが、念のため。
>Private Sub xlsApp_WorkbookBeforeSave(ByVal Wb As Excel.Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
ブレークポイントを仕掛けるとしたら、↑の行に置けば、エクセルの保存処理直前にこの行で止まるはずです。
> strSQL = "SELECT DT02_PJ_DT.*, DT02_PJ_DT.IDX FROM DT02_PJ_DT IN '" & LC_get_path & "' WHERE DT02_PJ_DT.IDX=""" & Forms("MF01_JOB選択F").Controls("T02_PJ_DT").Controls("IDX") & """;"
このSQL文、DT02_PJ_DT.IDXをSELECTしてますが、不要ではないかと思います。
それがなければ、dbOpenDynasetではなく、dbOpenTableでRecordsetを開けると思うのですが。
個人的にですが、ダイナセットは追加・更新・削除では使用しないようにしています。
あと、
LC_get_path変数には、ネットワークパス(\\サーバー名\フォルダ名\フォルダ名 という形式)が入っているのでしょうか。その場合、ドライブレターを割り当てる(X:\フォルダ名\フォルダ名 などの形式)に変更した方が無難に思います。IN句でネットワークパスを使用すると、環境によってはうなく参照できない場合があるようです。
その意味では、多摩環境のネットワーク設定が、他と同じになっているかを確認してみるのも良いと思います。
とはいえ、まずはデバッグしてみるのが良いかと。
イベントプロシージャは、例えばボタンをクリックした時の処理を記述するものですが、WithEvents指定した変数のオブジェクトについても、同様にそのオブジェクトでイベントが発生した場合、そのイベント発生時の処理を記述できるようにするものです。
このため、
Private Sub xlsApp_WorkbookBeforeSave(ByVal Wb As Excel.Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
という記述は、ボタンのクリックイベントと同じ用な感覚で、xlsApp変数に格納されているExcel.ApplicationオブジェクトのWorkbookBeforeSaveイベント発生時の処理を記述していることになります。
コードと説明を拝見する限り、WithEventsはExcelのオブジェクトに対して定義しているようなので、LANとの関係は特にないと思われます。
純粋にLAN環境でのDAOの使用に関わる問題ではないでしょうか。
うまく説明できているかわかりませんが。
|
|