アクセスでフォームとサブフォームの複製をしたいです。
下記の様にコードを作成しましたが動作しません。
確認すると DoCmd.SearchForRecord の部分で、レコードの移動が出来ていませんでした。
DoCmd.SearchForRecord の部分だけ切り抜いて動作させた所、問題なく動きました。
DoCmd.SearchForRecord が動かない時、どんな原因が考えられるでしょうか?
ご回答よろしくお願いします!
下記コードです。
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rl As DAO.Relation
Dim maxnumber As Integer: maxnumber = 0
Dim a As Variant
Dim c As Variant
Dim vsql As String
Dim x As Variant
a = 見積ID
c = Me!Frm見積書明細.Form.Recordset.RecordCount
Set db = CurrentDb
Set rs = db.OpenRecordset("T見積書")
Do Until rs.EOF = True
If rs!見積ID > maxnumber Then
maxnumber = rs!見積ID
End If
rs.MoveNext
Loop
x = maxnumber + 1
DoCmd.RunCommand acCmdSelectRecord 'カレントレコードの選択
DoCmd.RunCommand acCmdCopy '選択レコードのコピー
DoCmd.GoToRecord , , acNewRec '新規レコードに移動
DoCmd.RunCommand acCmdSelectRecord 'カレントレコードの選択
DoCmd.RunCommand acCmdPaste
見積ID = x
↓ここの移動ができません
DoCmd.SearchForRecord , , acFirst, "見積ID ='" & a & "'"
Me!Frm見積書明細.SetFocus 'サブフォームにフォーカスを移動
DoCmd.RunCommand acCmdSelectAllRecords 'すべてのレコードを選択
DoCmd.RunCommand acCmdCopy '[コピー]を実行
DoCmd.SearchForRecord , , acFirst, "見積ID ='" & x & "'"
Me!Frm見積書明細.SetFocus
DoCmd.RunCommand acCmdPasteAppend 'コピーレコードの追加貼り付け
vsql = "update T見積書明細 "
vsql = vsql & " set 見積書ID = '" & x & "'"
vsql = vsql & " where 見積書ID is null"
db.Execute vsql, dbFailOnError
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
このクエリを作るだけで良くないかい?
INSERT INTO T見積書明細 ( 見積書ID )
SELECT Max([見積ID])+1 AS 式1
FROM T見積書;
ご返信遅くなりました!
ご回答ありがとうございます
最終目指しているのはフォームとサブフォームの複製です。
考えてる動きとしては下記の通りです。
①基レコード(フォーム)のコピー
②新レコードの作成
③新レコード(フォーム)のペースト
④基レコードに戻る
⑤基レコード(サブフォーム)のコピー
⑥新レコードに移動
⑦新レコード(サブフォーム)のペースト
フォームのデータ=T見積書、見積IDに紐づけ
サブフォームのデータ=T見積書明細、見積書IDに紐づけ
今回聞きたいのが④のレコードに戻ることが出来ない理由です。
①、②、③は問題なく動くのですが、④が動作しません。
④を動作させるにはどうすればよいかご存じでしたら教えてください!
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
Accessの画面更新を一時的に停止する方法。
その他(データベース)
-
-
4
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
5
親フォームからサブフォームのレコードソースを設定
Access(アクセス)
-
6
Access2000 サブフォームのRecordSet取得法
Access(アクセス)
-
7
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
8
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
9
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
10
Access VBA acCmdSelectRecordについて
その他(データベース)
-
11
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
12
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
13
YES/NO型の値
Excel(エクセル)
-
14
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
15
テキストボックスにコントロールソースの値、プラス文字を一度に表示させたいのですが、どの様な式を組めば
その他(データベース)
-
16
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
17
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
18
Accessの更新前処理について。DoCmd.GoToRecordが動かないのはなぜ?
その他(プログラミング・Web制作)
-
19
ACCESSのBookmarkプロパティの使い方
その他(データベース)
-
20
AccessVBA SetFocusとGoToControlが正常に作動しない
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
Accessで経過日付に応じて色を...
-
access の 最終レコードの判定...
-
ACCESSフォーム入力後の確定
-
accessでオートナンバーを使わ...
-
access2010 特定文字を含むレコ...
-
AccessのRefresh・Requery・Rep...
-
バーコードリーダーを使用してA...
-
Accessでレコードの複製
-
アクセスで複数レコードを1レ...
-
Accessの「Form_AfterUpd...
-
二つ以上あるものだけを抽出し...
-
アクションクエリ DoCmd.RunSQ...
-
DoCmd.SearchForRecord が動か...
-
AccessVBA フィルタとカレント...
-
アクセスのコンボボックスの内...
-
VBAコンパイルエラー
-
アクセエスのレコードの更新をV...
-
Access「レコードの保存」
-
Accessのレコード数をテキスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSフォーム入力後の確定
-
ACCESS 複数のフォームから同一...
-
Accessでレコードの複製
-
Accessフォームで詳細内の任意...
-
AccessのRefresh・Requery・Rep...
-
access の 最終レコードの判定...
-
accessでオートナンバーを使わ...
-
アクセエスのレコードの更新をV...
-
MS.Access でサブフォーム付の...
-
DoCmd.SearchForRecord が動か...
-
ファイルメーカーで重複してイ...
-
Accessの「Form_AfterUpd...
-
Accessで経過日付に応じて色を...
-
Access 指定したレコードへ移動
-
禁止文字をエクセルかアクセス...
-
access2010 特定文字を含むレコ...
-
Accessのレコード数をテキスト...
-
アクセスのフォームで自動連番...
-
ファイルメーカーProでレコード...
-
アクセスのコンボボックスの内...
おすすめ情報