Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


782 / 2272 ツリー ←次へ | 前へ→

【9942】GoToRecord きき 07/10/25(木) 12:53 質問[未読]
【9943】Re:GoToRecord Gin_II 07/10/25(木) 16:01 回答[未読]
【9944】Re:GoToRecord きき 07/10/25(木) 17:30 質問[未読]
【9945】Re:GoToRecord Gin_II 07/10/25(木) 17:43 回答[未読]
【9946】Re:GoToRecord きき 07/10/26(金) 11:35 お礼[未読]
【10143】Re:GoToRecord VBWASURETA 08/1/11(金) 15:19 発言[未読]

【9942】GoToRecord
質問  きき  - 07/10/25(木) 12:53 -

引用なし
パスワード
   ききと申します。
レコードの移動についてお教え下さい。
サブフォームで得意先一覧のデータを表示していますが、カーソルを任意のレコードに移動したいのですが上手く出来ません

MAINフォーム名:F_選択一覧
SUBフォーム名:F_得意先一覧

 DoCmd.GoToRecord acDataForm,"F_得意先一覧",acGoTo,1(先頭レコードに戻りたい)

で実行すると「フォームが開かれていない」のエラーが出ます。

 SUBフォームにはテーブル(T_得意先一覧)を対応付けしています。
 得意先No、得意先名・・・だけでレコードNo.等はありません。

1.SUBフォーム名の指定はできないのですか。(MAINフォームではエラーになりませんが先頭へもどりません)
2.テーブルにレコードNo等の項目が要るのですか

どうぞ宜しくお願いします。

【9943】Re:GoToRecord
回答  Gin_II  - 07/10/25(木) 16:01 -

引用なし
パスワード
   > DoCmd.GoToRecord acDataForm,"F_得意先一覧",acGoTo,1(先頭レコードに戻りたい)
>
>で実行すると「フォームが開かれていない」のエラーが出ます。

メインフォーム側にコードを記述する場合、まず、サブフォームコントロールに
フォーカスを移す必要があります。

Me!サブフォームコントロール名.SetFocus
DoCmd.GoToRecord 〜略〜

のように記述してください。
サブフォームコントロール名は、メインフォームをデザインビューで見て、
サブフォームのプロパティに表示される、名前プロパティに設定してある内容に
なります。

【9944】Re:GoToRecord
質問  きき  - 07/10/25(木) 17:30 -

引用なし
パスワード
   ▼Gin_II さん:
早速のご返事有難うございます。

実は、質問の時には記述していませんでしたがご指摘の通りサブフォームにコントロールを移すコードは書いていました
Me.[F_得意先一覧].SetFocus
のような書き方ですが他にチェックすることがあればお教え下さい。

【9945】Re:GoToRecord
回答  Gin_II  - 07/10/25(木) 17:43 -

引用なし
パスワード
   >指摘の通りサブフォームにコントロールを移すコードは書いていました

ということであれば、

> DoCmd.GoToRecord acDataForm,"F_得意先一覧",acGoTo,1(先頭レコードに戻りたい)

先頭レコードであれば、

DoCmd.GoToRecord Record:=acFirst

のように、オブジェクトの指定を省略するとどうですか?
任意のレコードへということであれば、

FindRecord メソッドを使ってみてください。

【9946】Re:GoToRecord
お礼  きき  - 07/10/26(金) 11:35 -

引用なし
パスワード
   ▼Gin_II さん:

ご返事有難うございます。省略すると先頭レコードに戻りました。

何故、フォーム名をしていするとエラーになるか分かりませんが取敢えず教えて頂いたコードでやって見ます。

有難うございました。

【10143】Re:GoToRecord
発言  VBWASURETA  - 08/1/11(金) 15:19 -

引用なし
パスワード
   ▼きき さん、Gin_II さん:

こんにちは。
ちょっと気になったので記載します。

> DoCmd.GoToRecord acDataForm,"F_得意先一覧",acGoTo,1(先頭レコードに戻りたい)
>何故、フォーム名をしていするとエラーになるか分かりませんが取敢えず教えて頂いたコードでやって見ます。

このエラーですが、データを持っているのはサブフォームですよね?
指定しているのはメインフォームではデータを持っていないからでは
ないでしょうか?


解決されてますが気になりましたので記載しました。

782 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free