Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


788 / 2272 ツリー ←次へ | 前へ→

【10115】エラーなしで更新されない ふくたん 07/12/22(土) 9:00 質問[未読]
【10116】Re:エラーなしで更新されない Gin_II 07/12/23(日) 2:24 回答[未読]
【10119】Re:エラーなしで更新されない VBWASURETA 07/12/25(火) 9:43 発言[未読]

【10115】エラーなしで更新されない
質問  ふくたん  - 07/12/22(土) 9:00 -

引用なし
パスワード
   はじめまして。
ふくたんと申します。
早速ですが質問させてください。
現在、データベースを三つ使用した状態でそれぞれ更新する部分を私が作成しています。
データベースはLAN上の3つのパソコン上にあり、
マスタ、データ1、データ2、のように別れておりまして、それぞれ更新があります。
現在のソースを抜粋したものが以下になります。

------------------------------------------------------
▼標準モジュールにて以下のように設定

Public pdbWS As DAO.Workspace  ' ワークスペース
Public pdbDB As DAO.Database  ' データベース
Public pdbDM As DAO.Database  ' データベース(マスタ)
Public pdbDE As DAO.Database  ' データベース(他会社)

  ' ワークスペースを定義
  Set pdbWS = DBEngine.Workspaces(0)
  ' データベースを開く
  ' データ用データベース
  Set pdbDB = pdbWS.OpenDatabase(pstrDao_Conn_D)
  ' マスタ用データベース
  Set pdbDM = pdbWS.OpenDatabase(pstrDao_Conn_M)
  ' 他会社用データベース
  Set pdbDE = pdbWS.OpenDatabase(pstrDao_Conn_Etc)


▼各フォームにて以下のように書込
    strSQL = ""
    strSQL = strSQL & " INSERT INTO M_コントロール ("
    strSQL = strSQL & "    コントロール区分"
    strSQL = strSQL & "   , コントロールキー"
    strSQL = strSQL & "   , データ3"
    strSQL = strSQL & "   , データ4"
    strSQL = strSQL & ") VALUES ("
    strSQL = strSQL & "    '" & コントロール区分CB.Value & "'"
    strSQL = strSQL & "   , '" & コントロールキーCB.Value & "'"
    strSQL = strSQL & "   , '" & pfnc文字列カット(データ3TX.Value, 100) & "'"
    strSQL = strSQL & "   , '" & pfnc文字列カット(データ4TX.Value, 100) & "'"
    strSQL = strSQL & ")"
    pdbDM.Execute strSQL
  End If
---------------------------------------

ここで問題がありまして、
登録される場合と、されない場合があるのです。
しかも二重キーのような場合はエラーが発生するのですが、
エラーもなく実際のデータベースを見に行くと書込されていないという状態が起きているのです。
登録されない状態になると、どのデータベースもエラーが出ず、登録されないという状態になります。
いったんアクセスを終了させてもだめな場合もあれば、正常に登録できるようになる場合もあり不安定です。

当方の環境は
・WinXP Pro
・ACCESS2000
です。
どこをどうしたら良いのかさっぱりわからず、
エラーにもならないため、対策が建てられないでおります。
どなたか同様の現象が発生し、解決された方がいらっしゃれば
どうかアドバイスをお願い致します。

【10116】Re:エラーなしで更新されない
回答  Gin_II  - 07/12/23(日) 2:24 -

引用なし
パスワード
   > Public pdbWS As DAO.Workspace  ' ワークスペース

ワークスペースを使っているってことは、トランザクションとかも利用していますか?


> ▼各フォームにて以下のように書込

各フォームというのもよくわからないですが・・・^^;


> エラーにもならないため、対策が建てられないでおります。
>     pdbDM.Execute strSQL

    pdbDM.Execute strSQL, dbFailOnError

で、実行したら、何かわかるかも。

【10119】Re:エラーなしで更新されない
発言  VBWASURETA  - 07/12/25(火) 9:43 -

引用なし
パスワード
   ▼ふくたん さん、Gin_II さん:

こんにちは。

Gin_IIさん指摘のエラー確認でわかりそうなのですが、後気になるのは

>    strSQL = strSQL & "    '" & コントロール区分CB.Value & "'"
>    strSQL = strSQL & "   , '" & コントロールキーCB.Value & "'"
>    strSQL = strSQL & "   , '" & pfnc文字列カット(データ3TX.Value, 100) & "'"
>    strSQL = strSQL & "   , '" & pfnc文字列カット(データ4TX.Value, 100) & "'"
>    strSQL = strSQL & ")"

の値が全てstrSQLの変数にセットされてますか?
何となくですが、入る場合と入らない場合があるというところから
そこが気になりました。

788 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078200
(SS)C-BOARD v3.8 is Free