
No.7ベストアンサー
- 回答日時:
新規追加したとき、あるいは、途中のレコードを削除したときも、含めて、常にサブフォームの明細IDが1から始まる連番になるコード例です。
'削除後確認
Private Sub Form_AfterDelConfirm(Status As Integer)
If Status <> acDeleteOK Then Exit Sub
If Me.NewRecord Then Exit Sub
With Me.RecordsetClone
.Bookmark = Me.Bookmark
Do Until .EOF
.Edit
!明細ID = .AbsolutePosition + 1
.Update
.MoveNext
Loop
End With
End Sub
'更新前処理
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Me.NewRecord Then Me.明細ID = Me.CurrentRecord
End Sub
「サブフォーム 連番を維持する」をキーワードにググるといろいろサンプルコードが見つかると思います。
hatena1989様
ご回答ありがとうございます。無事注文IDごとの子IDを作成する事ができました。
ググってはみたのですが、なかなか思い通りのページに当たるのは難しかったです。
また何かありましたらよろしくお願いいたします。
No.5
- 回答日時:
No4のような事だとします。
サブフォームのレコードソースはNo3と同じT明細にします。
T明細に明細ID以外に品名というフィールドがあるとします。
つまり、
明細ID 品名 他のフィールド1 他のフィールド2
のようになっているとします。
サブフォームの品名の更新後処理に以下を設定していください。
Private Sub 品名_BeforeUpdate(Cancel As Integer)
Dim i As Long
i = DMax("明細ID", "T明細") + 1
Me!明細ID = i
End Sub
piroin654様
この度はご回答ありがとうございました。
私の説明不足により、何度もお手数をおかけしてしまい大変申し訳ありませんでした。
また、出張によりお返事が遅れてしまい大変申し訳ありませんでした。
hatena1989様の方法にて無事に解決いたしました。
本当にお世話になり、ありがとうございました。
また何かありましたらよろしくお願いいたします。
No.3
- 回答日時:
サブフォームのレコードソースをT明細とします。
T明細はテーブルで、フィールドの明細IDは数値型
とし、主キーを設定しません。
なお、以下はDAOを使っているので、コード表の
参照設定から、
Microsoft DAO xx Object Library
にチェックを入れ↑ボタンで上げられるところまで
あげてください。xxは3.6のような数字です。
以下はフォームを開くときのイベントです。
Private Sub Form_Open(Cancel As Integer)
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("T明細", dbOpenDynaset)
If rs.RecordCount = 0 Then
rs.AddNew
rs!明細ID = 1
rs.Update
End If
rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
Me.埋め込み0.Requery
End Sub
なお、上記の最後の
Me.埋め込み0.Requery
の埋め込み0とはサブフォームを表示するコントロールで
サブフォームそのもではありません。初期値では
埋め込み0のような名前になっていますが、
分からないときはフォームのデザインビューで
サブフォームの縁を右クリックしてプロパティ
で確認してみてください。
No.2
- 回答日時:
サブフォームのレコードは、たとえば
伝票処理ごとにデータを他のテーブルに
移動させるのですか。
新たな伝票処理のときはサブフォームの
中は空にしておくのでしょうか。
No.1
- 回答日時:
普通は、サブフォームの開くときの
イベントに、
Private Sub Form_Open(Cancel As Integer)
DoCmd.GoToRecord , , acFirst
End Sub
で、一番最初に移動するはずですが。
この回答への補足
piroin654様
早速のご回答ありがとうございました。
私の書き方が悪くて申し訳ありません。
一番最初のレコードへの移動ではなく、明細IDに1番からの連番を振りたいと考えております。
もし、方法が解るようでしたらご回答いただければと思います。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessでのフォームの連携について 2 2022/06/14 00:45
- Access(アクセス) access レポート 請求書について 2 2022/07/04 22:52
- Access(アクセス) Access DLookup vbaで条件を2件設定したい場合どうすればよいでですか? 現在 If( 1 2023/06/28 14:28
- Access(アクセス) Accessで独自メニューバーまたはリボンを作成したい 1 2022/12/02 14:31
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessに関する質問です。 クエリーQ出勤 からフォームF出勤を作成 フォームは分割フォームで作 1 2023/05/26 08:57
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
親フォームからサブフォームの...
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
Access サブフォームのレコード...
-
ACCESSにて
-
アクセス2003のサブフォームの...
-
親・子リンクフィールドの設定...
-
アクセスの住所録
-
access vba サブフォームに条件...
-
アクセスのサブフォーム
-
ACCESS VBA メインフォーム及び...
-
Access フォームで条件抽出し...
-
皆さん使っているブラウザを教...
-
ACCESSのサブフォームコピーに...
-
サブフォームを非表示させる方...
-
Access2007 ラベルの削除がで...
-
Access メインフォーム サブフ...
-
サブフォームに変数を代入し、R...
-
Access:データシート形式表示...
-
ACCESSサブフォームにデータ反...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
サブフォームに対してGoToRecor...
-
クエリで出来た表にチェックボ...
-
親フォームからサブフォームの...
-
サブフォームを非表示させる方...
-
ACCESSにて
-
ACCESS──メインフォームでサブ...
-
Accessで埋め込んだサブフォー...
-
ACCESSのフォームで列固定?
-
皆さん使っているブラウザを教...
-
サブフォームのあるフォームか...
-
ACCESS VBA メインフォーム及び...
-
親・子リンクフィールドの設定...
-
Access2007 ラベルの削除がで...
-
ACCESSで条件によってサブフォ...
-
access vba サブフォームに条件...
-
Accessでセレクタをダブルクリ...
-
ACCESSのサブフォームコピーに...
-
Access 登録ボタンからサブフォ...
-
Access フォームで条件抽出し...
-
access フォーム上で複数行の...
おすすめ情報