プロが教える店舗&オフィスのセキュリティ対策術

Accessで
T_aテーブルとT_bテーブルがありそれぞれのフィールドが以下のようになっているとします。
T_a:フィールド名 データ型
   ID  オートナンバー型
   商品番号 テキスト型 主キー

T_b:フィールド名 データ型
   ID  オートナンバー型 主キー
   商品番号 テキスト型

このときフォームから入力したデータをそれぞれのテーブルの商品番号に追加したいのですがどのようにすればよいのでしょうか。
 よろしくお願いいたします。

A 回答 (3件)

まずT_aテーブル


商品番号が主キーであればそれだけでレコードを特定できるわけですから
オートナンバー型のIDは不要です

次にT_bテーブル
T_aテーブルを参照しているものであるなら
T_aに登録後でなければT_bへの登録は出来ません
T_aのレコード追加イベントで追加クエリを走らせることになります

でも、自動的にレコードの追加をしてもいいものなんですか?
    • good
    • 0

ということであれば、


追加クエリを二つ作って、ボタンを押したときに両方実行させればよいと思います。 フォームは非連結のものでよいと思います。
    • good
    • 0

これは、完全な丸投げですな。


ですから、入力された商品番号を次々と登録するサンプルコードのみを示します。

Private Sub コマンド0_Click()
  Dim StopNow    As Boolean
  Dim strGoodsNumber As String
  
  Do
    strGoodsNumber = InputBox("商品番号を入力して下さい")
    StopNow = CBool(Len(strGoodsNumber) = 0)
    If Not StopNow Then
      If XXXXX("*", "T_a", "商品番号='" & strGoodsNumber & "'") = 0 Then
        XXXXXX "INSERT INTO T_a (商品番号) VALUES ('" & strGoodsNumber & "');"
        XXXXXX "INSERT INTO T_b (商品番号) VALUES ('" & strGoodsNumber & "');"
      Else
        MsgBox "'" & strGoodsNumber & "' は、既に登録されています。"
      End If
    End If
  Loop Until StopNow
End Sub

少なくとも、自分なりのコードを書いて躓いている箇所を提示して質問されたがいいです。
でないと、回答が質問者の求めるものかどうか判らんですよ。
回答ってものは、コードのレベルじゃないです。
ニーズとの相性が一番肝心ですからね・・・。

なお、この場合、 INSERT文を実行する関数が主なテーマです。
まあ、ここまで示唆するのがギリギリです。

しかし、この示唆もニーズとあっているか判ったもんじゃないですよね。
上記サンプルを参考にされて、自分なりのコードを書かれたし。
    • good
    • 0
この回答へのお礼

大変失礼いたしました。
Accessは、初心者でコードはよく知りません。
クエリやフォーム作成時の設定でできると思っていました。
ありがとうございます。
参考にさせていただきます。(勉強させていただきます。)

お礼日時:2007/08/24 16:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す