アクセスでフォームとサブフォームの複製をしたいです。
下記の様にコードを作成しましたが動作しません。
確認すると 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も見ています
-
これまでで一番「情けなかったとき」はいつですか?
これまでの人生で一番「情けない」と感じていたときはいつですか? そこからどう変化していきましたか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
【選手権お題その2】この漫画の2コマ目を考えてください
サッカーのワンシーンを切り取った1コマ目。果たして2コマ目にはどんな展開になるのか教えてください。
-
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
サブフォームの新規レコードに移動したい アクセス
Access(アクセス)
-
-
4
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
5
Docmd.Findrecordで空白の検索方法
その他(データベース)
-
6
Access VBA コントロールの参照が上手く行かない
その他(プログラミング・Web制作)
-
7
Access VBA acCmdSelectRecordについて
その他(データベース)
-
8
Microsoft Access 2016でエラーが出る
Access(アクセス)
-
9
Access 昇順・降順で並び替えできない
その他(データベース)
-
10
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
11
Accessのフォーム上にレコード数とレコード番号の表示
その他(データベース)
-
12
2つ目のレコードの値を取得するには?
Access(アクセス)
-
13
Excelで数値→文字列変換で指数表示になったものをいっぺんに直したい
Excel(エクセル)
-
14
Accessのテーブルのフィールドに式を入れる方法
Access(アクセス)
-
15
「RunSQL」と「Execute」の違い
Access(アクセス)
-
16
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
-
17
フィルタ後のフォームの件数の取得の仕方
Access(アクセス)
-
18
Access 指定したレコードへ移動
Access(アクセス)
-
19
access マクロでのフィルタの解除の方法
Access(アクセス)
-
20
親・子リンクフィールドの設定は、どうすればよいのでしょうか。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
docmd.gotorecordを起動するには
-
Accessフォームで詳細内の任意...
-
AccessのRefresh・Requery・Rep...
-
ACCESS 複数のフォームから同一...
-
MSAccess ロック状態かどうかを...
-
ACCESSフォーム入力後の確定
-
エクセルで、抽出したデータだ...
-
Access サブフォームでの選択行...
-
Accessでデータを更新したらそ...
-
Access2000、これはいったい・...
-
ACCSESS2013VBA フォームのレコ...
-
「パラメータが少なすぎます。3...
-
X-Ripperというフリーウェアに...
-
インデックスまたは主キーにはn...
-
Accessのコンボボックスでリス...
-
【AccessVBA】レコードセットOp...
-
Access2000 サブフォームのReco...
-
エクセル VBA メール本文に指定...
-
access別のテーブルを参照して...
-
Access 複数フォームを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 複数のフォームから同一...
-
Accessでレコードの複製
-
ACCESSフォーム入力後の確定
-
Accessフォームで詳細内の任意...
-
AccessのRefresh・Requery・Rep...
-
accessでオートナンバーを使わ...
-
Accessで経過日付に応じて色を...
-
アクセエスのレコードの更新をV...
-
access の 最終レコードの判定...
-
MS.Access でサブフォーム付の...
-
DoCmd.SearchForRecord が動か...
-
Accessの「Form_AfterUpd...
-
アクセスで複数レコードを1レ...
-
ファイルメーカーで重複してイ...
-
禁止文字をエクセルかアクセス...
-
ファイルメーカーProでレコード...
-
二つ以上あるものだけを抽出し...
-
AccessVBA フィルタとカレント...
-
アクセスのフォームビューの帳...
-
MSAccess ロック状態かどうかを...
おすすめ情報