
No.4
- 回答日時:
おはようです。
すみません。Upするときに、DCountをDMaxに変更したため、思惑通り動作してませんでした><
申し訳ありません。
変更した理由が「1,2,3」とあって、「2」を削除後「1,3」とした時、Countだと3を追加、連続番号ではなくなるので、Maxに変更してみたんですが・・・。
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Me.受付番号子.Value) Then
If IsNull([Forms]![フォーム1]![受付番号親]) Then
Me.受付番号子.Value = 1
Else
If DCount("[受付番号子]", "サブフォームに使用しているテーブル名", _
"[サブフォームに使用しているテーブル名]![受付番号親] =" & [Forms]![親フォーム名]![受付番号親]) = 0 Then
Me.受付番号子.Value = 1
Else
Me.受付番号子.Value = _
DMax("[受付番号子]", "サブフォームに使用しているテーブル名", _
"[サブフォームに使用しているテーブル名]![受付番号親] =" & [Forms]![親フォーム名]![受付番号親]) + 1
End If
End If
End If
End Sub
多分これで^^;
単に連続する番号を振りたいのであれば、テーブルにフィールドを作成する必要もなくなるのですが、フィールドを作った理由を深読みしすぎてますか?
おはようございます。回答くださった方法で試してみましたが全て"1"が代入されてしまいます。
社内販売の管理として使用したく、依頼者が複数の方に商品を発送する際の管理番号として付番したかったので、レコードに保存します。
もう一度考えてみます。
No.3
- 回答日時:
サブフォーム内での連番でしたら、「CurrentRecord」の代入でやるのが楽です。
既存のデータに割り当てるのでしたら、
1)メインフォームで先頭レコードに移動
2)サブフォームで先頭レコードに移動(念のため)
3)サブフォームの「受付番号」にCurrentRecordを代入したら、
次のレコードに移動
4)同様に、サブフォームの最後のレコードまで繰り返し
5)メインフォームで次のレコードに移動
6)上の「2)~5)」を、メインフォームの最後のレコードまで繰り返し
となります。
新規レコードの場合は、「レコード挿入時」イベントでCurrentRecordを代入するのがよいでしょう。
一応、既存レコードへの代入については、以前の回答でサンプルを作成してますので、よければそちらも参考に。(→参考URL)
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1575853
回答ありがとうございます。
基本的に新規レコードのみに適用します。
ただし、結構ド素人なもんでCurentRecordの使い方がよくわかりません
もう少し詳しく教えていただくと幸いです。
No.2
- 回答日時:
結構、フォームで行おうとすると、難しいですね^^;
サブフォームの更新前処理で、
Private Sub Form_BeforeUpdate(Cancel As Integer)
If IsNull(Me.受付番号子.Value) Then
If IsNull([Forms]![親フォーム名]![受付番号親]) Then
Me.受付番号子.Value = 1
Else
Me.受付番号子.Value = DMax("[受付番号子]", "サブフォームに使用しているテーブル名", _
"[サブフォームに使用しているテーブル名]![受付番号親] =" & [Forms]![親フォーム名]![受付番号親]) + 1
End If
End If
End Sub
で、サブフォームに使用しているテーブルの「受付番号子」の既定値を0を削除し、Nullに変更してます。
更新前処理まで「受付番号子」を空欄で置いてあるのですが、レコード移動時にすればカーソールがレコードに移った時にも数値が入れられますが・・・ESC等でデータを消された際、やはり更新後にも必要になってきます。
受付番号子(数値)を演算として、テーブルに保管せず、裏でサブフォームにオートナンバー型のインデックスを取り付け、表の表記だけ、子の連番を取り付けるって考えたのですが・・・。こちらの方だと新規の時にもレコードに受付番号子に値が入ってくるように何とかなるかな~っと^^;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Access サブフォームに連番を入れたい
その他(プログラミング・Web制作)
-
Accessフォームに行番号を自動的に付与するには
Access(アクセス)
-
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
-
4
アクセスのフォームに連番を表示するには?
Access(アクセス)
-
5
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
6
ACCESSのサブフォームからメインフォームへの移動
Access(アクセス)
-
7
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
8
アクセスのフォームで自動連番を既定値で入力したいのです
Access(アクセス)
-
9
Accessのサブフォームから値を参照する方法について
その他(データベース)
-
10
ACCESSでタイトルバーを非表示にする方法
Access(アクセス)
-
11
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
12
Accessのレポートでグループごとに改頁とページ数のクリア
Access(アクセス)
-
13
サブフォームを利用したクエリーの抽出条件について
その他(データベース)
-
14
テキストボックスに入れた内容をAccessのテーブルに登録する方法を教えてください。
Visual Basic(VBA)
-
15
ACCESSのテーブルからデータを抽出する方法
Access(アクセス)
-
16
主キーはオートナンバー型のIDを使った方が良いのか
Access(アクセス)
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
ACCESS2013でバーコードリーダーを使用し、簡略化したい
Access(アクセス)
-
19
Accessについてです。
Access(アクセス)
-
20
AccessのDMax関数の複数条件式に関して
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(ACCESS)条件に応じて、テキ...
-
2回目に画面のレコードセットの...
-
サブフォームが見えなくなる。
-
Access2000 サブフォームのReco...
-
Access サブフォームでの選択行...
-
メインフォームとサブフォーム...
-
Access 複数フォームを...
-
access2000のサブフォーム同士...
-
Accessでのフォーム表示がうま...
-
サブフォームのデータを保存す...
-
Access2000、これはいったい・...
-
初心者です。accessで請求書を...
-
Accessのサブフォーム内で連続...
-
動画編集アプリvllo抽出エラー
-
エクセルで、抽出したデータだ...
-
帳票フォームでのあるコンボボ...
-
Accessのコンボボックスでリス...
-
ACCESSのクエリー抽出条件にIIF...
-
Accessでデータを更新したらそ...
-
AccessVBAの値によっ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access サブフォームでの選択行...
-
Access2000、これはいったい・...
-
access サブフォームにリストを...
-
Access 複数フォームを...
-
(ACCESS)条件に応じて、テキ...
-
初心者です。accessで請求書を...
-
サブフォームでのダブルクリッ...
-
ACCSESS2013VBA フォームのレコ...
-
サブフォームが見えなくなる。
-
Access2000 サブフォームのReco...
-
Accessで、一覧からクリックし...
-
Accessのサブフォームから値を...
-
サブフォームのデータを保存す...
-
AccessのFormのみをスクリーン...
-
レコードセットで得た結果をサ...
-
2回目に画面のレコードセットの...
-
複数項目でのサブフォームとの...
-
Access レイアウト変更したサブ...
-
アクセスで サブフォームの表...
-
Accessで、サブフォームのある...
おすすめ情報