• 締切済み

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_受注一覧の閲覧ができます。 ご不明な点等ありましたら、ご連絡ください。 よろしくお願いします。

みんなの回答

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.11

説明の流れがそれますので、こちらにしました。 反応早くなりましたね Accessはナビ機能が良いのでやりやすいです。 もう少し後でと思っていましたが、自分が参考にしているサイトです。 簡単な使用例があり、コピペも可能なのでありがたいです。 サイトは http://www.geocities.jp/cbc_vbnet/top/nyumon.html

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.10

1.ACCESSファイルの新規作成  【ACCESSのアイコンをダブルクリック】→【空のデータベース】  →【ファイル名入力】→【保管フォルダ選択】→【作成】 以上でシステムのファイルの出来上がりです。 この中にテーブル等を定義していきます。 プロフィールという言葉をご存知ですか ここではシステム内で共通して参照する項目とご理解ください。 テーブル1の定義画面になっていますね せっかくですから プロフィールの項目を作成してみましょう →【クリックして追加】→【短いテキスト】→【システム名と入力】 →【クリックして追加】→【短いテキスト】→【〒と入力】 →【クリックして追加】→【短いテキスト】→【会社名と入力】 →【クリックして追加】→【短いテキスト】→【住所と入力】 →【クリックして追加】→【短いテキスト】→【電話番号と入力】 →【クリックして追加】→【数値】→【期初月と入力】 →【テーブル1の右上角の✖】→【はい】→【プロフィールと入力】→【OK】 以上でこの章はは終わりですが、プロフィールの細部はテーブルの章で触れます

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.9

承知しました。 自分は2000年(平成12年)に定年退職し、以降年金生活に入りました。 本も何冊か買いましたが、学習は長続きしませんでしたので我流になります。 よろしければお手伝いさせていただきます。 予定は次のように考えております。 1.ACCESSファイルの新規作成 2.テーブル 3.クエリー 4.フォーム 5.レポート 教材はこのQのシステム構築にします。 このシステムの名前を決めて下さい また お使いのACCESSのヴァージョンを教えてください。 長期になりますので、これだけの内容を一つのQでOKWAVEの事務局で許してもらえません。 途中何回か新規のQを立ち上げて頂くことになります。 では ACCESSファイルの新規作成についてのQを新規に立ち上げて下さい。

konpipikon
質問者

お礼

回答ありがとうございます。 また、ご教示いただけるということで本当に感謝しております。 新規に質問を立ち上げましたので、どうぞよそしくお願いいたしますm(_ _)m

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.8

質問された管理番号を質問内容に沿って取得するようにしてみました。 少し、T_受注一覧のありように疑問の点がいくつかあったり、ほかにも いくつかありますが、それはさておいて以下の設定で確認してみてください。 新規でフォームを用意します。F_受注登録というものがあるようですが どのような構造のフォームなのかわからないので、ここでは一応管理番号の取得の仕方についての説明としています。 コードの内容はコード中にコメントしてあります。 (1) フォームに、T_自社、T_部署、T_顧客をもとにコンボボックスを設定します。 以下はそれぞれ三つのコンボボックスの主なプロパティの内容です。列幅 については適当にその幅を調整してください。 なお、コンボボックスの値集合ソースに設定するテーブルのフィールドの 並びは、最初に自社番号、部署番号、顧客番号がそれぞれのテーブルの 最初にくるものとします。理由はコード中にMe!cob自社.Column(0)のように コンボボックスに設定しいるデータを取り出すのに最初のフィールドの データを取得するためです。(わかりにくいかもしれませんが) 名前      cob自社 値集合ソース  T_自社 列数      2 列幅      1cm;4cm 連結列     2 名前      cob部署 値集合ソース  T_部署 列数      2 列幅      1cm;4cm 連結列     2 名前      cob顧客 値集合ソース  T_顧客 列数      2 列幅      1cm;4cm 連結列     2 (2) フォームにテキストボックスを一つ設定します。管理番号を表示するので 幅は適当にとってください。 名前      tx管理番号 ラベルは管理番号とでもしておいてください。 なお、F_受注登録に管理番号を入れるテキストボックスが あると思いますが、この回答はそのままテキストボックスの 名前を変えれば管理番号が設定できます。 (3) フォームにボタンを一つ設定します。 名前     cmd管理番号設定 標題     管理番号設定 としておきます。 (4) 標準モジュールに以下を貼り付け保存してください。 Function funcReturnKey(ByVal strTarget As String) As String funcReturnKey = Left(strTarget, Len(strTarget) - Len(Split(strTarget, "-")(2))) End Function Function funcReturnEdaban(ByVal strTarget As String) As String funcReturnEdaban = Mid(strTarget, InStrRev(strTarget, "-") + 1) End Function (5) フォームのボタンのクリック時のイベントで以下を設定します。 なお、DAOを使いますのでコード表のツール、参照設定から DAOを参照するために    Microsoft DAO XXXObject Library にチェックが入っているか確認してください。XXXは数値でそれぞれの Accessのバージョンによって違いますが。これにチェックが入っていないと エラーが生じます。チェックをいれたらOKボタンを押してください。 Private Sub cmd管理番号設定_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String Dim strKanri As String Dim strNum As String If IsNull(Me!cob自社) Then MsgBox "自社の選択がされていません" Exit Sub End If If IsNull(Me!cob部署) Then MsgBox "部署の選択がされていません" Exit Sub End If If IsNull(Me!cob顧客) Then MsgBox "顧客の選択がされていません" Exit Sub End If 'フォームのコンボボックスで選択されたものをつなげています。 'strKanriは"MSSF-10001-"のようなかたちの文字列になります。枝番のみの除いたようなかたちです。 strKanri = Me!cob自社.Column(0) & "-" & Me!cob顧客.Column(0) & Me!cob部署.Column(0) & "-" ''少し面倒ですが、枝番のみを取り出しその最大値を取得するという方法。 strSQL = "SELECT Max(funcReturnEdaban([管理番号])) AS 最大枝番 FROM [T_ 受注一覧] WHERE (([T_ 受注一覧].[管理番号]) Like '" & funcReturnKey(strKanri) & "*');" Set db = CurrentDb Set rs = db.OpenRecordset(strSQL, dbOpenDynaset) If rs.RecordCount > 0 Then If Not IsNull(rs!最大枝番) Then Me!tx管理番号 = strKanri & CStr(CLng(rs!最大枝番) + 1) Else Me!tx管理番号 = strKanri & "1" End If Else Me!tx管理番号 = strKanri & "1" End If rs.Close: Set rs = Nothing db.Close: Set db = Nothing End Sub わからないことがあれば補足してください。

konpipikon
質問者

補足

質問内容に沿って、丁寧なご回答本当にありがとうございます。 Access初心者のため、また理解力不足もあり、頭の中がぐちゃぐちゃになってしまい、何から手を付けていいのかわからなくなってしまいました。Accessでのシステム作りは本当に難しいです。心が折れそうです・・・ ご無礼を承知で一から、システムの構築をご教示いただけませんか(;O;)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.7

回答No.6のテーブル構成で T_顧客をレコードソースとして顧客登録 フォーム T_部署をレコードソースとして顧客登録部署サブ フォーム T_お客様をレコードソースとして顧客登録お客サブ フォーム を作成し、2段のサブフォーム持つフォームを作成しました。 いかがですか? ・顧客名は読み順になっています ・ID及び○○IDが画面に見つかりません。  IDのデータ型をオートナンバーにし、リレーションシップ定義で  No.の管理から解放されました。 

konpipikon
質問者

補足

回答ありがとうございます。 テーブル構成や顧客登録フォームの作成本当にありがとうございます。 他の回答者様のご意見等も一通り読ませていただきましたが、理解力不足もあり、頭の中がぐちゃぐちゃになってしまい、何から手を付けていいのかわからなくなってしまいました。Accessでのシステム作りは本当に難しいです。心が折れそうです・・・ ご無礼を承知で一から、システムの構築をご教示いただけませんか(;O;)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.6

Qの内容を参考にしてテーブル構成のモデルを作成しました。 図で各テーブルに主キーのIDがついています。 ・テーブル作成時にACCESSから提言されるものです。  これを「はい」で受け入れます  リレーションの主になる項目です ・各テーブルに○○IDがありますがこれはリレーションの副になる項目です  データ型を主キーと同じ数値型にします  必ず主テーブルをフィールドの第2プロパティーのルックアップでコンポボックスにします  流れは 【○○ID】→【ルックアップ】→【表示コントロールの右端】 →【コンポボックス】→【値集合ソースの右端】→【○○】→【列数を2】 →【表示幅を0】→【リスト行数任意】 ・各テーブルのフリガナはコンポボックスのプルダウンリストを  読み順にするための用意です。  テーブルデザイン時にフリガナの右端クリックで作成します ・このテーブル構成でお客様が確定すると顧客部署、顧客のフィールドを  芋づる式に参照出来ます  ----------------------------------------------------------------------------------- T_自社の自社名のMSSFとMSSTは製造ラインのことですか

回答No.5

【追加補足】今のテーブル設計ではシステムは開発不能。 テーブルですが、3つのグループに分けて設計します。 グループ1、システム・テーブル。 グループ2、マスター・テーブル。 グループ3、データ・テーブル。 で、マスターテーブルですが、現状では、ほとんど未完ですね。 【顧客台帳】 ID・・・・・01(主キー) 区分・・・・・01 名前・・・・・鈴木 一郎 読み・・・・・すずき いちろう 備考・・・・・顧客番号等 ※区分名は、システム・テーブルを参照 ※顧客番号で【顧客台帳】を検索・参照する仕組みは不要。  【顧客台帳】の検索・参照は、[読み]で行う。 【社員】 ID・・・・・01(主キー) 昇順・・・・・01 社員コード・・01 名前・・・・・田中 健一 読み・・・・・たなか けんいち ※社員コードではなく主キーでリレーション ※列[ID]ではなくて列[昇順]で昇順表示する  質問者の設計には、【顧客台帳】【社員】のマスターテーブルにはリレーションシップを実現するための主キー列[ID]がありません。Accessは、リレーショナル・データベースでのので、この不具合は致命的ですよ。 【受注台帳】(主表) ID・・・・・・・・01(主キー) 受注日・・・・・・・2018/01/01 顧客台帳_ID・・・01←顧客名は【顧客台帳】参照 社員_ID・・・・・01←社員コードではなく【社員】.[ID] 【受注明細】(従表) ID・・・・・・・・01(主キー) 受注台帳_ID・・・01 行番号・・・・・・・01←サブフォームの表示順を制御する列 明細データ1 明細データ2 ・・・・・  データ・テーブルも未完ですよ。通常は、このように主表と従表とで設計します。また、そこには[顧客名]とか[担当者]とかの列はありません。その代わり[顧客台帳_ID][社員_ID]とかが存在します。 《【受注台帳】と顧客情報の入力要領》   顧客名:[01][鈴木 一郎]  こういう入力フォームを仮定すると。[01]が未入力あるいは消去されると《顧客入力フォーム》を開きます。そして、顧客の読みを入力して【顧客台帳】より[ID]を入手。確定ボタンを押すと受注入力フォームの[顧客台帳_ID]を更新します。受注入力フォームは、顧客名表示欄に[顧客台帳.名前]を参照・表示します。 と、つらつら書きましたが、これで木で鼻を括ったような自動採番に関する答えの意味をご理解下さい。つまり、管理番号云々という発想は、そもそも必要ないということです。  まあ、IT業界とは無縁のド素人の意見。適当に流し読みされて下さい。

konpipikon
質問者

補足

回答ありがとうございます。 ご指摘の通り、管理番号自動付番という発想に難があるのかもしれませんね・・・ 数日間、皆さんの回答と睨めっこしましたが、理解力不足で、さらに頭の中がぐちゃぐちゃになってしまいました。Accessでのシステム作りは本当に難しいです。心が折れそうです・・・ ご無礼を承知で一から、システムの構築をご教示いただけませんか(;O;)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.4

受注一覧の管理番号を MSS区分、顧客番号、部署番号、枝番と分解して クエリーで管理番号を定義することは出来ますが 枝番の管理が「MSS区分、顧客番号、部署番号」のグループ毎にしなければならず これを自動にするにはグループ毎の枝番の最大値を計算する仕組みが必要になります 手作業で管理するにはMSS区分、顧客、部署、のグループの管理シートが必要です クエリーに管理番号を次のように追加します 管理番号: [MSS区分] & "-" & [顧客番号] & [部署番号] & "-" & [枝番] 添付図参照 管理番号の目的は何ですか 他の人が仰る通り不要と思います テーブルの組立を1から見直す必要が有ります 例えば、T_受注一覧はT_受注履歴とT_受注履歴明細に分離して、 この二つのテーブルをリレーションシップで関連付けます。 エクセルで作成した仕組みをACCESSに摘要されたのでしょうが リレーションシップとテーブルデザインで、ルックアップをご理解ください

回答No.3

【補足】採番テーブルのフィールドは? 採番.テーブル名_ID こんな感じです。

  • bardfish
  • ベストアンサー率28% (5029/17765)
回答No.2

管理番号は「MSSF-10001-1」で1項目としてテーブルに列をつくるのですか? できれば管理番号-自社番号、管理番号-顧客番号、管理番号-部署番号、管理番号-枝番というように分けたほうがいいかもしれません。 そして、枝番を自動付番したいということですよね? だとしたら、Accessの機能で自動付番をしてしまうと、顧客ごとの枝番を区別することはできなくなるので、管理単位ごとの枝番を管理する自動付番管理テーブルを別途用意したほうがいいかもしれません。 その場合、モジュールでプログラムを作成しないとダメでしょうね。 F_受注登録に枝番を含む管理番号を表示させる。その時管理番号(4項目を連結して表示)、枝番は管理テーブルから現在の値のMAX値+1を表示させる。 そして、受注登録するときにモジュールで自動付番化管理テーブルに顧客番号をキーとして枝番の最新をUPDATEで更新する。 と、私ならそうします。 クエリとかフォームにテーブル/クエリーをリンクさせて各テキストボックスに列を割り当てた作り方だと複雑なことは出来ません。 自動付番というのはGROUP BYごとに別管理ではなくTABLE単位での付番となってしまうはずです。 だから、管理上の区分ごとに1からインクリメントさせたい場合はプログラムを組むしかないはずです。 テーブル設計が雑すぎると後々管理項目が増えたときにものすごく苦労することになります。 最悪イチから作り直しで、今まで入力したデータが使い物にならない可能性もあるのでよ~く考えてください。 一度失敗して作り直す羽目にならないとそのへんは理解しづらいところでもあるんですけどね(笑) で、そのへんのことは有料の講習会とかに参加しても手ほどきしてもらえない部分です。 講習会というのは考え方を学ぶだけと思いましょう。 設計に関するところを教えて貰うくらいなら素直に外部に委託したほうがいいです。

konpipikon
質問者

補足

回答ありがとうございます。 >>管理番号は「MSSF-10001-1」で1項目としてテーブルに列をつくるのですか? そうです。 >>そして、枝番を自動付番したいということですよね? そうです。 >>F_受注登録に枝番を含む管理番号を表示させる。その時管理番号(4項目を連結して表示)、枝番は管理テーブルから現在の値のMAX値+1を表示させる。 管理テーブルのフィールドは、どのようなものになりますか。また、MAX値+1を表示させるにはどうすればよいですか。 >>そして、受注登録するときにモジュールで自動付番化管理テーブルに顧客番号をキーとして枝番の最新をUPDATEで更新する。 どのようなプログラムを組めばよいですか。 よろしくお願いいたします。

関連する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を使うやり方だと表示はされたのですが これだとテーブルの方に反映されませんでした(´・ω・`) ほんとにつたない質問で申し訳ないのですがご指導いただけたらと思います

専門家に質問してみよう