ACCESSで連番を振りなおす方法を教えてください

このQ&Aのポイント
  • access初心者です。行番号というテキスト型のフィールドがあり、連番を入力してあるのですが、チェックの過程で一時的に同じ番号を入力する事があります。それを最終的に、フォーム上のボタンを押して連番に戻したいのですが、どうすればいいかわかりません。
  • この記事では、ACCESSで連番を振りなおす方法について説明します。行番号というテキスト型のフィールドがあり、同じ番号を一時的に入力することがある場合、フォーム上のボタンを押して連番に戻すことができます。
  • ACCESS初心者の方に向けて、連番を振りなおす方法を解説します。行番号というフィールドに同じ番号を一時的に入力することがある場合、フォーム上のボタンを押すことで連番を修正することができます。
回答を見る
  • ベストアンサー

ACCESSで連番を振りなおす

access初心者です。 行番号というテキスト型のフィールドがあり、連番を入力してあるのですが、チェックの過程で一時的に同じ番号を入力する事があります。 それを最終的に、フォーム上のボタンを押して連番に戻したいのですが、どうすればいいかわかりません。 ご回答よろしくお願いします。 [行番号][商品名]   1    あ   2    い   3    う   4    え 上記のデータがチェックの過程で下記になります。 [行番号][商品名]   1    あ   2    い   2    いい   3    う   4    え 上記の状態を、ボタンを押すと下記になるようにしたいのです。 [行番号][商品名]   1    あ   2    い   3    いい   4    う   5    え

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

  • ベストアンサー
回答No.2

サブフォームを埋め込んでいるコントロール名が、「埋め込み1」とします。 With Me.埋め込み1.Form.RecordsetClone   .MoveFirst   Do Until .EOF     .Edit     !行番号 = .AbsolutePosition + 1     .Update     .MoveNext   Loop End With

takoten77
質問者

お礼

ありがとうございます、無事に解決できました! 大変助かりました。 また、機会がありましたらよろしくお願いいたします。

その他の回答 (1)

回答No.1

並び替えをどのように設定しているかに依存しますが、 とりあえず、現在フォームに表示されている並び順で、連番にしたいのなら、 ボタンのクリック時のイベントプロシージャに下記のコードを設定します。 With Me.RecordsetClone .MoveFirst Do Until .EOF .Edit !行番号 = .AbsolutePosition + 1 .Update .MoveNext Loop End With

takoten77
質問者

補足

素早い回答ありがとうございます。 テスト用のDBを作って試したところ、希望通りの動きをしてくれました。 しかし説明不足で申し訳ありませんが、実際のDBはコマンドボタンは親フォームにあり、行番号はサブフォームにあります。 まだvbaはほとんど勉強していないので、調べながら勘でコードを変えてみたのですが、アクティプレコードの行番号が1になるくらいしかできませんでした。 2度手間になってしまい、大変申し訳ありませんが、親フォームからサブフォームの行番号をふり直すにはどうすれば良いでしょうか?

関連するQ&A

  • ACCESS2010 フォーム最新画面とレコード

    ACCESS初心者です。 電話相談の管理を作っています。 フォームの画面で、ボタンを作り、押すと最新入力フォームが出るようにしたのですが、 何も入力しなくても、閉じるたびに、管理番号(連番)が更新されます。 値数値を「はい」にすると、更新せず閉じられるのですが、 こんどは、前番号のフォームに移動が出来なくなります。 「○○フィールドに値を入れてください」となり、保存できませんで閉じると、 連番は更新されませんが、それ以前の入力したフォームに戻れません。 上記の両方を満たす設定は、出来るのでしょうか? 参考:Windouws7  Access2010

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

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

  • ACCESS2000でグループごとに連番を振りたい

    ACCESSで登録フォームを作成し、 そこで、下記のようなテーブルを作ろうとしてます。 伝票番号 明細番号 商品   1   1   りんご   1   2   みかん   2   1   すいか   2   2   かき   1   3   なし   3   1   くり 伝票番号ごとに連番を振って行きたいのですが、 オートナンバー型にしてしまうと、伝票番号に 関係なく、連番を振ってしまいます。 この場合の解決方法を教えていただけないでしょうか。

  • Access2003での入力済のフィールドに対しての連番について。

    Access2003での連番について。 T_商品 ID:オート CODE:数値型6桁 その他何項目かのフィールドがありCODEの部分に000001~003000くらいまで入力がされています。 003001番から自動で+1していくにはフォームでどのように指定したらいいでしょうか?? 既に003000まで入力されているので最大値を求めてやってみたりしているのですが 中々うまくいきません。 よろしくお願いいたします。

  • 【続続】Access2002で連番のついた納品書を出力したい

    1. http://oshiete1.goo.ne.jp/qa5243829.html 2. http://oshiete1.goo.ne.jp/qa5257035.html 上記のように、質問してまいりまして、後一歩まで参りました。 これまでの経緯は下記のとおりです。 1.複数の注文をまとめ、それにユニークな連番を振って納品書を作りたい(これが大元の要望でした) 2.上記質問の中でいただいた回答で、フォームを使って納品書番号をオートナンバーで振ることは成功(私の理解不足で回答者様を振り回してしまいましたが、思うような連番(納品書番号)を自動的に振ることに成功しました) 3.フォームのサブウィンドウ(?)を用いて、納品対象の注文を選択したい(ここでとまっています) テーブルは下記のとおりです。(計4つ) 1.従業員マスタ(データ投入済み) ・従業員コード(テキスト) ・従業員名(テキスト) ・従業員名カナ(テキスト) 2.納品書番号(データはフォームから自動生成) ・納品書番号(オートナンバー) ・納品日付(日付) ・従業員コード(テキスト) 3.注文情報(データ投入済み) ・注文番号(テキスト) ・従業員コード(テキスト) ・商品ID(テキスト) ・数量(数値) ・納品書番号(数値) 4.商品マスタ(データ投入済み) ・商品ID(テキスト) ・商品名(テキスト) ・単価(数値) 以上の4つのテーブルでテストDBを作っています。 上述したとおり、フォームで、 1.新規レコードの作製 2.納品日付入力 3.コンボボックス(従業員名、カナ)をコンボボックスで選択 という手順を踏み、納品書番号が自動的に振られるフォームまで作成できました。(画像添付) 次の段階ですが、フォームの中にサブフォーム(?)を作成し、「どの注文で発生した商品を」納品するのか、注文情報テーブルから選択し、レポートにして打ち出したいのです。 納品書の基本単位は従業員ごとですが、納品がバラバラに行なわれることが多く(例:Aさんが1、2、3と注文したとしても、2、だけ先に納品され、1、3が別の日に納品される)、注文情報から「注文番号」で選択できれば。。。と思っています。 前の質問でもお答えはいただいたのですが、私の知識不足でうまく実現できませんでした。 他に、必要な情報がございましたら提示いたしますので、よろしくお願いします。 何卒よろしくお願いします。

  • エクセルの連番について

    例えばA列が商品コード番号を入力する行でB列が伝票番号を入力する行だとします。A列に入力すると自動的にB列に連番が入るようにしたいのですが・・・   A  B 1 11  1 2 23  2 3 54  3 こんな感じですが。

  • ACCESS 宛名ラベル(レポート)の連番の書式を設定したい

    ACCESS初心者です。 「符号」-「連番」順の住所一覧テーブルから、 クエリで「符号」別にわけ、「符号」別に分けたクエリから 「符号」別に宛名ラベルを作っています。(符号は10種類) 2000件ほどの連続番号を振っているので、連番のラベル表記を 『A-0001』のように4桁で統一したいのですが、 テーブルやクエリでは4桁で表示されるのに、 ラベルではうまく表示されません。(1ならA-1となってしまいます) フィールドは、符号と連番は別フィールドで、 連番の書式は、書式設定で4桁の0を入力して設定しています(『0000』) レポートを作成する際に、「符号」と「連番」を連結して 表示させています。 できれば、レポートの設定で上記を実現したいのですが、 どうすればいいのでしょうか? よろしくお願いしますm(_)m

  • Access2000 単票フォーム上のボタンを押すと、同じIDを持つフォームが開くよういしたい

    Accessの初心者です。 本当に超がつく初心者ですので、解説もしてくださるととても嬉しいです。 宜しくお願いします。 請求書番号連番を取得するフォーム(テーブルも)があります。 請求書番号は特殊な為、現時点ではじか打ちで作成しています。 それとは別に、顧客ごとに請求データを入力するフォーム(テーブルも)があります。 その二つは、請求書番号でひもづけています。 <請求書番号連番取得フォーム/帳票> ・請求書番号 ・請求日 ・顧客ID <請求データの入力フォーム_A社/単票> ※これがB社、C社と複数存在します。 ・顧客ID ・請求書番号 ・商品CD <請求書番号連番取得フォーム/帳票>上にボタンをつくり、そのボタンを押すと、 同じ顧客IDを持つ<請求データの入力フォーム/単票>が開けたらな・・・と思っているのですが、 わかりますでしょうか・・・・。 どうか、宜しくお願い致します。 <請求書番号連番取得フォーム/帳票> _________________________________________________________________ 請求書番号|請求日 |顧客ID|  _________________________________________________________________ 09BB87ZZ1|2009/04/01|0001 |■(ボタン) -------------------------------------------- 09BS87AA2|2009/04/10|0003 |■(ボタン) -------------------------------------------- ↑この1行目の■(ボタン)を押すと、顧客ID「0001」の請求書番号「09BB87ZZ1」の単票フォームが開き、 (請求書番号欄に「09BB87ZZ1」が入っている。) 2行目の■(ボタン)を押すと、顧客ID「0003」のフォームを開く・・・というような動きです。 説明が下手で申しわけありません。 お願いします。

  • Access DCountでの連番について

    DCountで連番を追加したいのですが演算対象条件の記述方法が良く分かりません。 調査用品別販売データクエリの商品コードフィールドに対して連番を振りたいです。 商品コード、連番 00110 1 00110 2 00120 1 00120 2 上記のようにしたいのですが 式1: DCount("商品コード","調査用品別販売データ","商品コード=" & [調査用品別販売データ]![商品コード]) これではエラーが出てしまいます。

  • Accessの連番(文字+日付+文字)

    フォームで新規入力をする際に自動で連番を振りたいです 初心者でいろいろと調べているのですがうまくいきません 下記のような連番を振る方法を教えてください "Eyymmdd A "E"は固定で yy(西暦2ケタ)mm(月)dd(日)A(Aから始め、同じ日だとB,C,…と最大26(Z)まで)振っていく。日が変わるとまたAから始まる 「テーブル名」連絡文書E 「クエリ名」連絡文書Eクエリ 「フォーム名」連絡文書E 「フィールド名」管理番号(テキスト型) E110105 A E110130 A E110130 B E110130 C E110202 A… と"E"を固定 yy(西暦2ケタ)mm(月)dd(日)Aから始まり、同日であればB,C~と 日が変わるとAからまた始まるという連番をふりたいです 煮詰まってしまい、どうしてよいかわからない次第です 初心者にとても難しい事は承知しておりますが、何卒よろしくお願い致します