• 締切済み

Accessで自動採番の方法がわかりません。

今月より弊社工場で、私が生産管理システムの構築を担当することになりました。 Accessでの構築です。また、Accessは初心者です。 質問は、受注登録時に受注登録フォーム(F_受注登録)で管理番号を自動採番したいのですが、やり方がわかりません。また、管理番号の自動採番実現のためにテーブルの手直し等ありましたらご教授願います。 管理番号の構成 MSSF-10001-1 MSSF→自社番号です。T_自社にMSSFとMSSTを登録しています。 10001→顧客番号と部署番号を結合しています。上3ケタが顧客番号、下2ケタが部署番号です。また、部署番号は顧客の部署になります。 1→枝番号です。1から順にカウントしていきます。例)MSSF-10001-1、MSSF-10001-2、MSSF-10002-1、MSSF-20001-1、MSST-30001-1 質問部分のフローと現在の進捗状況を記載します。 フロー F_受注登録を開く→受注内容を入力→受注内容登録時、管理番号を自動採番し、登録を完了する 現在作成済のテーブル、フォーム T_顧客、T_自社、T_ 受注一覧、T_部署、F_顧客登録、F_受注登録、F_受注一覧 T_顧客→顧客番号、顧客名 T_自社→自社番号、自社名 T_受注一覧→管理番号、顧客名、部署名、担当者、状態、工番、No、品番(図番)、品名、数量、納期、確定納期、出荷日、送り状番号、加工先、材料、材質、備考 T_部署→部署番号、部署名 F_顧客登録→T_顧客へ登録ができます。 F_受注登録→T_受注一覧へ登録ができます。 F_受注一覧→T_受注一覧の閲覧ができます。 ご不明な点等ありましたら、ご連絡ください。 よろしくお願いします。

みんなの回答

回答No.1

Q、自動採番の方法? A、私的には、採番テーブルを利用します。 が、 MSSF-10001-1 MSSF-10001-2 などという管理番号を自動採番することはないと思いますよ。また、かかる管理番号を生成し利用するって発想そのものに疑義ありですね。

konpipikon
質問者

補足

回答ありがとうございます。 >>A、私的には、採番テーブルを利用します。 採番テーブルのフィールドは、今回の質問に当てはめるとどうなりますか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MS Access 入力フォーム:自動採番

    Access2013での自動採番に関して2パターン教えて下さい。 質問(1):"顧客番号"の自動採番 【テーブル名】 顧客情報 【フィールド】 "顧客番号"、"顧客名"、"顧客名かな"、"顧客住所"、"電話番号"、"担当者"、"メール"・・・ <"顧客番号"の採番方法> 顧客名の頭文字を五十音順の「あかさたな」で行ごとに連番をつけて管理している。 例)) 「ABC商事」→エービーシーしょうじ→「あ‐01」 「東京印刷」→とうきょういんさつ→「た-01」 《やりたい事!》 入力フォームに新規で、「東西工業」を入力する際に "顧客名かな"を入力したら、"顧客番号"が自動的に採番されるようにしたい。 顧客名:東西工業 顧客名かな:とうざいこうぎょう 顧客番号:た-02 ←ココを自動採番にしたい ------------------------------------------------ 質問(2)"取引番号"の自動採番 【テーブル名】 取引情報 【フィールド】 "顧客番号"、"取引番号"、"顧客名"、"顧客名かな"、"住所"、"電話番号"、"担当者"、"メール"・・・ <"取引番号"の採番方法> 取引が発生した順で、"顧客番号"ごとに枝番をつけて管理している。 例)) 「ABC商事」→1/10の取引→"顧客番号":あ‐01、"取引番号":01 「ABC商事」→1/31の取引→"顧客番号":あ‐01、"取引番号":02 《やりたい事!》 入力フォームに新規で、「ABC商事」の2/15の取引情報を入力する際に "顧客番号"を入力したら、"取引番号"が自動的に採番されるようにしたい。 顧客名:ABC商事 顧客番号:あ‐01 取引日:2016/02/15 取引番号:03 ←ココを自動採番にしたい 説明がうまくできず、分かりにくいかとは思いますが 何とかお知恵をお借り出来れば助かります。 よろしくお願い致しますm(__)m

  • 自動採番について

    初心者です。 Access2000で銀行管理DBを作っています。 (1)テーブルを入金用と出金用それぞれに作成 (2)データ入力用フォームもそれぞれに作成します。 入力にあたって入力番号を自動採番にしたいと考えてますが、番号の構成は数値10桁で、"年" + "月" + "連番"の組み合わせにしたいのです。例:2003070001 入金用と出金用それぞれ別に入力番号をつけます。 これを実現するために「採番テーブル」を別に作成しなければいけないようですが、 (1)採番テーブルの定義の方法 (2)入力フォームで自動採番するためのVBA記述の方法 についてアドバイスいただけないでしょうか? よろしくお願いします。

  • access 請求番号の自動採番

    まったくわかりません! よろしくお願いします。 仕様環境 WinXP  access2002 顧客管理のシステムを作っています。 テーブル 顧客テーブル(主キーは顧客番号 テキスト型) 請求テーブル(主キーは請求番号 テキスト型) 明細テーブル(主キーは明細番号でオートナンバー ダミーみたいな感じで使っています。) そしてリレーションシップで顧客テーブル(1)→(多)請求テーブル(1)→(多)明細テーブルになっています。 顧客情報を入力するフォームを作りました。 主キーは顧客番号(テキスト型,入力モードON,インデックス いいえ)で 他のテキストボックス(例えば名前)に何かしら文字を入力すると自動で顧客番号を採番してくれます。 例:0001 0002 0003~ そしてそのフォームから請求書作成フォームに飛ぶように 「請求書作成ボタン」を作り、顧客情報も一緒にひっぱっていってくれる 請求書作成フォームを作りました。(入力したばかりの情報も最新の情報で更新してくれます。) ・・請求書作成フォームはサブフォームを使い3つのテーブルからなっています。・・ 親フォーム:顧客テーブルから。 子フォーム:請求テーブルから。 孫フォーム:明細テーブルから。 主キーは請求番号で(テキスト型,入力モードON,インデックス はい(重複なし)) 他のテキストボックス(例えば請求日)に何かしら入力すると自動で請求番号を採番してくれます。 例:A0001 そこで問題なのですが、顧客情報は入力する度、次々自動で採番してくれるんですが、 請求番号は一番最初のレコードの”A0001”だけ採番してくれて、 新しいレコードで請求書を作ろうとテキストボックスに文字を入力すると「型が一致しません」というエラーが出ます。 ○ エラー内容 アクションエラーの実行 条件 true アクション名 値の代入 引数 [請求番号],Format(DMax("請求番号","請求マスタ")+1,"A0001") マクロは・・(参考書を参考にしています、マクロ名:自動採番マクロ) ------------------------------------------------- 条件 : DCount("請求番号","請求テーブル")=0 アクション : 値の代入 アイテム  : [請求番号] 式     :"A0001" ------------------------------------------------- 条件    : ... アクション : マクロの中止 ------------------------------------------------- アクション : 値の代入 アイテム  : [請求番号] 式     : Format(DMax("請求番号","請求テーブル")+1,"A0001") ------------------------------------------------- となっています。 念のため、主キーの入力モードを切り替えたり、式の"A0001"を単純に"1"にしたりしましたが、 請求番号はエラーが発生します。 原因がまったくわかりません。 よろしくお願いします!

  • アクセス 項目ごとに自動採番

    講座名ごとに受付番号を自動採番したいのですが、出来るのでしょうか? テーブル名 セミナー受付(講座名、受付番号・・・) 講座名     受付番号 セミナーA   1001、1002、1003のように連番 セミナーB   2001、2002、2003のように連番 他のサイトを見ても解決できなかったので、ご指導をお願いします。

  • 【Access】区分別の採番方法

    A、B、C区分別の採番方法について なるべくシンプルな方法で出来る方法がありましたらお教えください。 何度かACCESSも作成していますが、初心者に近いので、簡単な方法だと ありがたいです。 今業務管理テーブルと区分マスタテーブルと二つのテーブルがあります。 業務管理テーブルには 【業務管理番号】【A受注番号】【B受注番号】【C受注番号】【区分】【機器名】 【001】【19000】【-】【-】【A】【SIMULATOR】 【002】【-】【-】【19000】【C】【GENERATOR】 【003】【-】【-】【19001】【C】【SIMULATOR】 【004】【19001】【-】【-】【A】【SIMULATOR】 【005】【-】【19000】【-】【B】【AMPLIFIER】 【006】【-】【19001】【-】【B】【AMPLIFIER】 区分テーブルには 【区分コード】【区分名称】 【A】【簡易点検】 【B】【精密点検】 【C】【修理】 業務管理番号は1業務ごと連番で番号を採っています。 A/B/C受注番号は各区分ごとに番号を採ります。 区分はA/B/Cのどれかです。 機器名は点検・修理の対象となる機器名が入ります。 上段の業務管理テーブルを元に入力フォームを作成し、そのフォームから区分Aを入力して登録した時に業務管理テーブルのA受注番号に1が足されるようにしたいです。区分は一つのみしか選択しません。 よろしくお願い致します。

  • Accessで指示書番号の自動採番

    入力フォームで指示書番号が自動採番され、テーブルにも保存されるようにするための方法を教えていただけないでしょうか。 テーブル:T_指示書 フィールド:指示書番号 フィールドはテキスト型で、番号の構成は8桁の番号で "年(二桁)" + "月(二桁)" +"部署番号(一桁、固定の数字)"+ "連番(三桁)" (例:09091001) という感じで、 年月が変われば、連番が001になるようにしたいです。 どなたか、ご教授いただければありがたいです。 よろしくおねがいします。 Access2002 winXP

  • ファイルメーカーでの自動採番

    ファイルメーカー9での質問です。 現在受発注管理を作成しており、それにあたり、 受注IDを自動生成したく、日付+連番とさせたいのですが、 その方法がわかりません。 例えば「受注日」が2008/11/22の場合は、 「20081122+連番」のような採番をしたいのですが、 MAX関数では、最終のものしかとれず、 仮に昨日受注分を入力する際には、不向きです。 この件に関し、おわかりの方がいらっしゃれば、 ご教授よろしくお願いいたします。

  • Microsoft Accessで自動採番をさせたい。

    いつも大変お世話になっております。 アクセスでの質問です。 フィールドに「管理ID」があって、ここに8ケタのコードが自動採番されるようなしくみにしたいと考えています。 この管理IDは8ケタで、採番の仕組みは以下の通りです。 (1)「アイテム分類」というフィールドに入った製品によって頭2桁が決まる。 例)野菜・・・YA   果物・・・KU   鮮魚・・・SE (2)入力しているのが06年07月だったら次の4桁は「0607」になる。 ここまでで、頭の6ケタ「YA0607」などまでが決まる。 最後の2桁は、その月に発生している情報の連番をつけていきたい。 例) 06年07月に1番目に採番されたデータ→YA060701 06年07月に5番目に採番されたデータ→YA060705 という具合に・・・ これにはたくさんの要素がつまっています。 要素(1) 採番するフィールド以外のフィールド(アイテム分類)を見て、頭2文字を決めること。(ただし、規則はありますので、DBで表すことはできます) 要素(2) 現在のDATEから、年と月だけ4桁拾うこと 要素(3) 過去に発生しているレコードを抽出・カウントし、最後の数字の+1になる番号をつける ということです。 上記のようなことが可能なのでしょうか? 分かりましたら、できるだけ具体的に教えてください。よろしくお願いします。m(_ _)m

  • (ACCESS)連番取得について

    アクセスで顧客管理をしています。 DMax関数を用いて、レコードを追加する度に自動で連番を振る設定に したいと思っていますが、上手くいかないため質問させてください。 【テーブル名】T_顧客一覧 【入力用のフォーム名】F_顧客登録 【連番を入力させたい項目(フィールド名)】No(テーブルでは主キーに設定) とし、フォームの”No”の既定値に   =DMax("No","T_顧客一覧")+1 と入力するのですが、フォームには1としか表示されません。 非常に初歩的な質問だとは思うのですが、 何か原因として考えられることがありますでしょうか? 情報が足りないようでしたら補足させていただきます。 よろしくお願いします。

  • accessでキーを入れると自動的に表示させたいのですが

    もうすでに同じような質問があったのですが 直接解決できるようなものが見つからなかったので質問させていただきます(。>_<。) どなたか教えていただけるとありがたいです 今作っているT顧客データというテーブルには[顧客名]と[顧客番号]のフィールドがあります それでそのテーブルを基にして作ったF顧客データというフォームに[顧客名]を入力すると 自動的に[顧客番号]が入るようにしたいんです いろいろネットで調べたりして [顧客番号]の更新後処理に me.[顧客番号] = DLookup("[顧客番号]","顧客データ","[顧客名] = " & Forms![F顧客データ]![顧客名]) といれたのですがうまく表示されません どこがいけないのかご指摘いただけませんでしょうか? なおもう一つのやり方、コンボボックスのCOLUMNを使うやり方だと表示はされたのですが これだとテーブルの方に反映されませんでした(´・ω・`) ほんとにつたない質問で申し訳ないのですがご指導いただけたらと思います

専門家に質問してみよう