Access VBA質問箱 IV

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

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


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

【6287】テーブル間データの重複禁止について 05/9/14(水) 9:58 質問[未読]
【6289】Re:テーブル間データの重複禁止について てっちゃん 05/9/14(水) 13:17 回答[未読]
【6310】Re:テーブル間データの重複禁止について 05/9/17(土) 10:39 お礼[未読]

【6287】テーブル間データの重複禁止について
質問    - 05/9/14(水) 9:58 -

引用なし
パスワード
   複数のテーブルに同じ項目のデータがあります。フィールド名称は[管理番号]です。この管理番号の重複を禁止もしくは、レコード保存の時に”重複あり”のメッセージを出したのですが、一つのテーブルの場合は、主キーの設定とか、インデックスの設定で対応していたのですが、複数となるとわかりません。

管理番号は入力フォームのテキストボックスからコマンドボタンを押すことで、それぞれのテーブルに保存されます。管理番号は文字列としています。例)2005-1234の半角9文字です。

宜しくお願いいたします。

【6289】Re:テーブル間データの重複禁止について
回答  てっちゃん  - 05/9/14(水) 13:17 -

引用なし
パスワード
   ▼爺 さん:
こんにちは

まず、管理番号を一覧できるクエリーを作ります。
(仮に「Q_管理番号一覧」と名付けます)
SELECT 管理番号, "テーブル_1" AS テーブル名 FROM テーブル_1
UNION
SELECT 管理番号, "テーブル_2" AS テーブル名 FROM テーブル_2
UNION
SELECT 管理番号, "テーブル_3" AS テーブル名 FROM テーブル_3
UNION
SELECT 管理番号, "テーブル_4" AS テーブル名 FROM テーブル_4

テーブル名や、その数は適宜変更してください。

> コマンドボタンを押すことで、それぞれのテーブルに保存されます。
この「保存イベント」内に次のコードを組み込みます。

Dim myMSG as String

myMSG = Nz(Dlookup("テーブル名", "Q_管理番号一覧", _
          "管理番号='" & Me.管理番号 & "'"), "")
  'Me.管理番号は、管理番号を入力するコントロール(テキストボックス)名

If myMSG = "" Then
  '〜追加処理〜
Else
  Msgbox myMSG & " で既に登録されています"
  '〜追加処理は中止〜
End If

動作未確認です(^_^;
が、こんな感じで大丈夫だと思います。

それでは

【6310】Re:テーブル間データの重複禁止について
お礼    - 05/9/17(土) 10:39 -

引用なし
パスワード
   返信が遅くなりました。今確認しOKでした。ありがとうございました。

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