No.2ベストアンサー
- 回答日時:
VBAが分からないレベルですとはっきり言って難しいです。
私が行なう場合は「レコード表示」と「新規・編集」の2つのフォームを作成し、[新規・編集フォーム]は非連結にします。
1.[レコード表示フォーム]より[新規追加]ボタンを押すと編集フォームが開く。
2.上記1でフォームを開く際、フォームのOpenArgsプロパティに、新規の場合は0を、既存レコードの編集の場合は1を入れておき、フォームの各コントロールに対象レコードの値を入れる。
3.ユーザーが一通りの編集を追えて[更新]ボタンを押す。
4.新規レコードの場合は以下の処理をすべて行なう。既存レコード編集の場合は以下の処理のうち8・9・10・12を行なう。
5.番号管理テーブルには最終番号を記録したレコードが1つだけあり、そのレコードをレコードセット型の変数で開く。
6.数値型の変数[lngLastNum]に番号を取得。
7.lngLastNumに+1した数値を編集フォームの[番号]テキストボックスに入れる。
8.コネクションオブジェクトのトランザクションを開始。
9.編集フォーム上の各コントロールの値をそれぞれ変数に代入。
10.その変数を使い、SQLのINSERTで新規レコードをテーブルに追加する。またはSQLのUPDATEで既存レコードを更新する。
11.番号管理テーブルのレコードを+1して更新する。
12.トランザクションをコミットする。
※ 途中でエラーが起きた場合はエラーのラベルにジャンプし、トランザクションをロールバックする。
ざっと書くとこんな感じです。(間違ってるかも・・・(^_^;;
私はレコードを単体表示するは非連結のフォームを使うのが好きなのでこんな感じになってしまいます。(なにしろWebアプリを作るのが多いので)
上記手順が理解できないと難しいと思います。
No.1
- 回答日時:
最終番号を管理するテーブルを作ればどうでしょうか。
Form_BeforeInsertイベントやVBAコードから新規レコードを作製したときに番号管理テーブルから値を取得し、+1した値をテキストボックスに設定する。
新規レコードが更新されるタイミングや、VBAコードから新規レコードを保存するときに番号管理テーブルの値を更新する。
こんな感じではどうでしょうか?
早速のご回答有難うございます。
大変恐縮なのですが、なんとなく
意味はわかるのですが、初心者なもんで
具体的にどうすればよいかよく分かりません。
教えていただけますでしょうかm(__)m
Form_BeforeInsertイベント・・・????
これは入力Noのテキストボックスのプロパティに
設定するのでしょうか
VBAコード・・・???
VBAコードから新規レコードを作製したときに・・・???
新規レコードが更新されるタイミング・・・これはフォームで
データを入力し終わったときに、確認ボタンをクリックするので、
ここにマクロを組んでおけばよいわけですよね(^^ゞ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Chrome(クローム) 入力フォームの履歴を消したい 2 2023/06/29 13:02
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- Access(アクセス) アクセス フォームの自動入力 1 2023/03/20 00:18
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- 確定申告 公金受取口座登録後、e-Taxで口座情報を入力する必要はありますか 2 2022/05/09 06:48
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
DoCmd.SearchForRecord が動か...
-
AccessのRefresh・Requery・Rep...
-
ACCESSフォーム入力後の確定
-
新しいレコードへの移動時にト...
-
access の 最終レコードの判定...
-
accessでオートナンバーを使わ...
-
MS.Access でサブフォーム付の...
-
Accessフォームで詳細内の任意...
-
docmd.gotorecordを起動するには
-
アクセスで複数レコードを1レ...
-
Accessでレコードの複製
-
ファイルメーカーで重複してイ...
-
Accessレコードの削除(VBA)
-
access2010 特定文字を含むレコ...
-
アクションクエリ DoCmd.RunSQ...
-
Accessのレコード数をテキスト...
-
ファイルメーカーのレコード複...
-
アクセエスのレコードの更新をV...
-
エクセルで、抽出したデータだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
ACCESSフォーム入力後の確定
-
AccessのRefresh・Requery・Rep...
-
Accessでレコードの複製
-
accessでオートナンバーを使わ...
-
Accessフォームで詳細内の任意...
-
access の 最終レコードの判定...
-
Accessで経過日付に応じて色を...
-
アクセエスのレコードの更新をV...
-
アクセスで複数レコードを1レ...
-
Access 指定したレコードへ移動
-
ファイルメーカーで重複してイ...
-
MS.Access でサブフォーム付の...
-
access2010 特定文字を含むレコ...
-
DoCmd.SearchForRecord が動か...
-
アクセスのコンボボックスの内...
-
ファイルメーカーのレコード複...
-
MSAccess ロック状態かどうかを...
-
ACCESS最終データだけ印刷でき...
-
新しいレコードへの移動時にト...
おすすめ情報