• ベストアンサー

Accessで、数字を入れたら、別のボックスに品物名が出るように

Accessで、フォームに数字を入れたら、別のボックスに品物名が出るようにすることは難しいのでしょうか。 1~5を入力するとAの商品名、6~8はB商品が自動で入力される、という感じです。 数字も商品名も印刷に必要です。 わかりにくい質問で申し訳ありません。

質問者が選んだベストアンサー

  • ベストアンサー
  • palmmy
  • ベストアンサー率38% (841/2169)
回答No.3

>呼び出すのはクエリででしょうか、マクロでしょうか、それともフォームのデザイン、プロパティで可能なのでしょうか。 VBAのDLookup メソッドで呼べばよいかと思います。 フォームに数字を入力するtxt03と別のボックスtxt04 を用意して、更に tblSALES_ITEM というテーブルを作って [ITEM_CODE]:長整数、キー [SALES_ITEM]:文字列 というフィールドでマスターを作った場合、 Private Sub txt03_AfterUpdate() Dim lngNUM As Long lngNUM = Me.txt03 Me.txt04 = DLookup("SALES_ITEM", "tblSALES_ITEM", "ITEM_CODE = " & lngNUM) End Sub で呼べます。

その他の回答 (2)

  • palmmy
  • ベストアンサー率38% (841/2169)
回答No.2

フォームに数字を入力するtxt01と別のボックスtxt02 を用意して、txt01に入力してtxt02に商品名を出すの なら、txt01の更新後のイベントに Private Sub txt01_AfterUpdate() Select Case Me.txt01 Case 1 To 5 Me.txt02 = "にぎり特上" Case 6 To 8 Me.txt02 = "にぎり上" Case 9 To 11 Me.txt02 = "にぎり並" End Select End Sub と書けば、とりあえず決めうちで出来ます。 ところで数字と商品名の関係が分からないのですが? 場合によっては、テーブルで 1,"にぎり特上" 2,"にぎり特上" 3,"にぎり特上" 4,"にぎり特上" 5,"にぎり特上" 6,"にぎり上" … と持っておいて呼び出した方が良いかもしれません。 更に、印刷をどのようにするか分からないのですが、 1,3,7,2,9,11,2… と入力した値を履歴として持っておけば、商品名の テーブルとクエリーを作れば印刷可能かと思います。

nisey1
質問者

お礼

教えていただいたところより、もっと簡単なところで詰まっているのだと思います。 1,"にぎり特上" 2,"にぎり特上" 3,"にぎり特上" 4,"にぎり特上" 5,"にぎり特上" 6,"にぎり上のようなテーブルは作っているのですが、呼び出すのはクエリででしょうか、マクロでしょうか、それともフォームのデザイン、プロパティで可能なのでしょうか。

  • palmmy
  • ベストアンサー率38% (841/2169)
回答No.1

1~5の数字とAの商品名、 6~8の数字とBの商品名の関係はどうなっているのでしょう? 1~5だったらボックスに"握りの上" 6~8だったらボックスに"握りの並" と決めうちで出るようにはするのは簡単かと思います。

nisey1
質問者

お礼

早速の回答ありがとうございます。 決めうちで出る簡単なやり方と、最初だけ1~5、次から6~8、9~11というように永久に3ずつなのですが。 よろしくお願いします。