• 締切済み

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

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

みんなの回答

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

なんか丸投げに近い質問ですね 一応回答しますがひょっとすると規定違反で削除されるかもよ 仕様がぜんぜん書かれていないのでその辺も適当に書いときます 何かした後、新規レコードの規定値に番号が表示されるというものです レコードの削除後、更新後。フォームを開いた時に次のようなコードを書きます Private Sub Form_AfterDelConfirm(Status As Integer) Me.txt番号.DefaultValue = "'" & "A" & Format(Nz(Right(DMax("番号", "テーブル名"), 3), 0) + 1, "000") & "'" End Sub Private Sub Form_AfterInsert() Me.txt番号.DefaultValue = "'" & "A" & Format(Nz(Right(DMax("番号", "テーブル名"), 3), 0) + 1, "000") & "'" End Sub Private Sub Form_Open(Cancel As Integer) Me.txt番号.DefaultValue = "'" & "A" & Format(Nz(Right(DMax("番号", "テーブル名"), 3), 0) + 1, "000") & "'" End Sub

関連するQ&A

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

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

  • 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"にしたりしましたが、 請求番号はエラーが発生します。 原因がまったくわかりません。 よろしくお願いします!

  • Accessのオートナンバーを1から始めないには

    Accessのオートナンバーを設定すると1から自動的に始まるのですが、最初に4桁の数字入力して始めることは可能でしょうか。 それとも、この最初の番号を指定して、ひとつずつ数字が自動的に増える設定はオートナンバー意外でおこなうのでしょうか。

  • MS-ACCESSにてテーブルのレコード番号(追番)の付け方

    MS-ACCESS97にてテーブルを作成し、そのレコード番号(1から始まる追番)を付けたいのですが、何か良い方法はありませんでしょうか? オートナンバーは、初期値の設定が自動化できないので、使いたくありません。 また、VBAなども難しいのでできれば使いたくないのですが、何か良い方法はありませんでしょうか?

  • MYSQLでコード番号を自動でつける。

    初心者です。 ユニークキーでここのレコードにコード番号をつけたいのですが、AUTO_INCREMENTでは数字しか対応してもらえず、A101.A102のようなコード番号を自動でつけることができません。 最終的にはAテーブル Bテーブルというかたちで作っていき、場面場面でグループ化などしたいので、アルファベットがほしいのですが、そういう場合はどのようなやり方をするのが主流なのでしょうか?

    • ベストアンサー
    • MySQL
  • IDの採番について

    こんばんわ。 現在、MSDEとC#でアプリケーションを考えていますが、 Accessだと自動採番のオートナンバー型がありますが、 MSDEではIDなどの通し番号の採番をどのように行うのが定番なのでしょう? 自動採番の仕組みをストアドプロシージャなどで組むのでしょうか? よろしくお願いします。

  • アクセスで、通し番号を付けるには。

    アクセスで、データを蓄積する度にレコード毎に通し番号付けれればと思っています。 商品テーブル 商品id:オートナンバー型 商品:テキスト型 数量:数値型 検査No.:数値型 検査No.のフィールドに通し番号を使えればと思っています。 10個のレコードがあれば、最初が1で最後が10と言う風に通し番号が自動で付けばと思います。 宜しくお願いします。

  • accessでの自動入力

    ACCESS初心者です。テーブル作成において、記号をつけた数字を自動入力 したいのですが、方法がわかりません。 データ型をオートナンバー型にすると、数字しか自動入力されませんか? 例えばA-01、A-02のように、「A-」は定型として、あとの数字は、 自動で入力できるようにしたいのです。 知っている方、教えてください。

  • ACCESS2000 レポート作成 自動で番号を振りたい

     ACCESS2000 ウィンドウズ98です。  レポートを出すときに、レコードに自動で番号を振ることは出来ますか? レポートの中身はパラメータークエリーで、毎回毎回抽出レコード数が変化します。レポートにした時に、その左端に番号を振ってくれると(オートナンバー) 非常にありがたいのですが。よろしくお願いします。

  • エクセル VBA 飛ぶセルの自動連番のつけ方

    エクセル VBA で添付画像のように1枚に30までの自動連番、 セルに1~150と入力すれば自動採番で5枚印刷できるような VBAをご教示下さい。 番号は001のような3ケタの場合でお願いします。

専門家に質問してみよう