• 締切済み

Accessで自動に番号を振る方法

AccessのマクロやVBAにお詳しい方、教えてください。 現在、Access2010を使っています。 たとえば、テーブル1が、 種別  番号 りんご  1 みかん  1 りんご  2 メロン  1 みかん  2 メロン  2 メロン  3 とあります。 フォーム1には、種別と番号のテキストボックスがあります。 新規データ入力で、「種別」テキストボックスに「みかん」と入力し、「番号」テキストボックスをダブルクリックしたとき、「みかん」の番号の最大値の次の番号「3」が自動的に振られるようにしたいのですが、どうしたらいいでしょうか。 なお、 1.「種別」テキストボックスが空欄の場合 または、 2.「番号」テキストボックスに既に数値が入っている場合 は、ダブルクリックしても番号が振られないようにもしたいです。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

こんな感じですかね。。。 If Me!種別 Is Null Then RT = MsgBox("種別が空欄です。",VbOkOnly,"番号取得") Else If Me!番号 Is Null Then Me!番号 = DMax("[番号]","テーブル1","[種別] = '" & Me!種別 & "'") + 1 End If End If

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

うーん。どうお答えしてよいのか。VBAの問題じゃなくて、考え方だけだけど。 主様のレベルがわからん。 新規の場合と既存の場合を分けて、単純に番号を検索すればよいだけだと。 

関連するQ&A

  • 選択項目移動処理(リストボックス)

    表題の件で、ご質問があります。 excel2003で、VBAのユーザフォームを使っております。 リストボックスが二つあり、左の項目を選択したら右の項目にその選択した値が移動する処理をしたいのですがまったくできません。 <処理内容> ・リストボックス1の内容 りんご text メロン トマト 上記で、りんごをダブルクリックするとリストボックス1とリストボックス2の内容は以下になります。 <選択後結果> ・リストボックス1 text メロン トマト ・リストボックス2 りんご このようにダブルクリックしたらりんごは消えてリストボックス2に移動します。 また逆の処理もしたくたとえばこの状態でリストボックス2を選択したらりんごがリストボックス1に戻る。 <処理内容> ・リストボックス2 りんご ・リストボックス1 text メロン トマト リストボックス2をダブルクリックすると以下のようになります。 ・リストボックス2 ・リストボックス1 りんご text メロン トマト このようになります。 上記二点の処理がしたいと思います。 どなた様か御教授頂けないでしょうか? お手数お掛けしますが宜しくお願いします。

  • コンボボックスで選択した項目を保存する方法

    ダイアログ内にコンボボックスを作り、コンボボックス内の項目には、 TEXT("りんご"),TEXT("メロン"), TEXT("みかん")を表示させました。 先頭項目は、りんご・メロン・みかんの順です。 デフォルトでりんごにカーソルがありますが、 みかんを選択してダイアログを閉じ、再度ダイアログを呼出した時に、 みかんにカーソルがあるようにするには、 どのようにしたら良いのでしょうか? #SDK、Win98、Vc++で作成しています。 宜しくお願いします。

  • コード番号の自動入力

    初めて投稿します。Accessを使用する上で困っていることがあるので相談に乗っていただけると助かります。 クエリなどで、コード番号を入力すると項目が自動入力されるというのが良くあると思うのですが、その逆をやりたいのです。項目をコンボボックスから入力すると該当するコード番号(主キー)が自動入力されるといった具合です。 例えば・・・ NO|項目1|項目2|項目3 1|果物|りんご|青森 2|果物|りんご|長野 3|果物|みかん|宮城 4|果物|みかん|愛媛 5|野菜|大根|長野 見たいなテーブルがあったとします。 項目1~3までをコンボボックスで値入力させ、それに該当するNOを自動入力したいのです。 方法が分かる方、いらっしゃいましたら教えてください。

  • ACCESSでVBAを用いて自動的に番号をふりたいのですが...

    Microsoft ACCESSで、オートナンバー型のように自動的に番号をふりたいのですが、その番号をただの数字ではなく、 「A001、A002、A003...」 のように番号の頭にアルファベットをつけて採番したいと思っています(アルファベットは固定) 自分なりに調べたところ、それを行うには、マクロかVBAを使うというところまではわかったのですが、細かい入力方法まではどうしてもわかりませんでした。 もしわかる方がいらっしゃいましたら、教えていただけないでしょうか? よろしくお願いします。

  • VB2005 ランダムにテキスト出力

    既出でしたら申し訳ありません。 VB2005 EXPRESS Editionにて、テキストボックスに「りんご」と入力しButtonクリックすることで、「りんご」を含むそれ以下の文を別のテキストボックスにランダムに出力したいのです。 「りんご」以下の文は、あらかじめ用意したものを使用します。 例 テキストボックス1に「りんご」と入力後、Buttonクリック ↓ テキストボックス2に「りんごが食べたい」と出力。 「が食べたい」の箇所は数10~100パターンぐらい自分で用意。 (を食べたい、が好きだ、は腐っている、など) 「りんご」以下の文を格納する方法はどのようにしたらよいのでしょうか? データベース(?)などの勉強が必要でしょうか? そしてさらに、「りんご」と「みかん」という2つの単語をテキストボックス1に半角カンマで区切って入力した場合、テキストボックス2に「りんご」と「みかん」が反映されるランダムな文章が作成されるプログラムも作りたいと考えています。 例 テキストボックス1に「りんご,みかん」と入力後、Buttonクリック ↓ テキストボックス2に「りんごかみかんが食べたい」と出力。 こちらも「か」と「が食べたい」の箇所はあらかじめ用意した、数パターンの中からランダムで接続詞や文章を使用したいのです。 ご助力いただければ幸いです。 よろしくお願いいたします。

  • ACCESS VBA フォーム複数条件

    ACCESSフォーム内のテキストボックスが空欄かどうかで条件分岐させる方法を教えてください。 フォーム内に複数テキストボックスがあります。 テキスト1 テキスト2 テキスト3 このテキストボックスの入力があるかどうかで、 エクスポートするクエリを変更したいです。 それぞれのテキストボックスの入力値は、 対応するクエリの抽出条件になっています。 少なくとも、テキスト1には入力があるという条件で、 ・テキスト2が空白なら、クエリ2を出力する ・テキスト3が空白なら、クエリ3を出力する という処理を行いたいのです。 マクロビルダーで、IFを使った処理は作ることができたのですが、 VBAを使って、同じ処理ができるようにしたいです。 どうかご教授のほど、よろしくお願いします。

  • accessで未入力の場合にメッセージボックスを表示したい

    アクセスのフォーム(テキストボックス)が、未入力の場合メッセージボックスを表示したいです。 【追加条件】 1.テーブルで”入力規則”、”エラーメッセージ”は使わない。 2.vbaは使わない。 3.マクロの”条件”のみで処理する。 ---------------------------------------------------- vbaを使っての方法はあるみたいですが、マクロだけで入力判定をして、未入力の場合にメッセージボックスを表示する方法はないでしょうか?

  • ACCESSでの重複箇所

    accessで以下の様なデータがあります 受注番号|商品名|個数|単価|送料|手数料| 1111 |みかん|3 |200 |500 |0 | 2222 |りんご|2 |250 |500 |250 | 2222 |いちご|4 |200 |500 |250 | 2222 |メロン|1 |1000|500 |250 | 3333 |ぶどう|2 |800 |500 |0 | 4444 |いちご|2 |200 |500 |250 | 4444 |メロン|1 |1000|500 |250 | 2222や4444の様に受注番号が同じ場合 2222 |りんご|2 |250 |500 |250 | 2222 |いちご|4 |200 |0 |0 | 2222 |メロン|1 |1000|0 |0 | 4444 |いちご|2 |200 |500 |250 | 4444 |メロン|1 |1000|0 |0 | と、先頭にだけ送料・手数料を残して残りを【0】もしくは 削除する方法はありますか? 手作業では件数が多い為、クエリなど使って自動的に する方法があれば教えてください。 どうぞよろしくお願い致します。

  • 教えてアクセス2007!「在庫管理を求める方法」

    教えてアクセス2007!「在庫管理を求める方法」 アクセス2007を扱うのは初心者ですが在庫管理のデーターを作っていて フォームを開いた時に商品の在庫だけが表示される方法を教えて下さい たとえば 入荷              出荷 商品  日付 入荷数      商品   日付  出荷数 りんご 5/1  10     りんご  5/10  10 いちご 5/5  10     ばなな  5/15  10 ばなな 5/10 10     みかん  5/16  10 みかん 5/11 10 メロン 5/13 10 この場合、いちごとメロンが残ってます フォームを開いた時、残ってる商品だけを表示させたいのですが どうしたら良いでしょうか?教えて下さい。  

  • EXCELで通し番号の行に欠番有りの番号の行を照応させる方法を教えてください。

    WindowsXPのOffice 2003を使用しています。 EXCELで以下のような表があるとします。 001 リンゴ 300円 003 みかん 150円 004 スイカ 500円 006 メロン 900円 008 プラム 400円 009 レモン 100円 一番左の列は品番のようなものです。それぞれに商品名と料金などの付随する情報があります。 現在品番は欠番があって数字が飛んでいます。これに対して、欠番のない通し番号の列を新規に作り、以下のように品番が通し番号と同じ数字の行に自動で並ぶようにしたいのです。 001 001 リンゴ 300円 002 003 003 みかん 150円 004 004 スイカ 500円 005 006 006 メロン 900円 007 008 008 プラム 400円 009 009 レモン 100円 実際には通し番号は6桁になるため、かなり膨大な量の商品があると考えてください。 当方、マクロについては詳しくありません。なるべく簡単な方法で解決できる方法がありましたらご教授ください。マクロを使った方法の場合、お手数ですがどのようにそのマクロを設定したらいいかまで具体的に1からご指導いただけるととても助かります。 よろしくお願いします。

専門家に質問してみよう