• ベストアンサー

指定した文字を検索しそのレコードに移動したい

アクセスのフォーム上のレコードで 会社名 AAA会社 CCC会社 BBB会社 ・ ・ ・ となっていて、 「BBB会社」をvbaで検索しつつ、 そのレコードに移動するにはどうすればいいでしょうか? GoToRecordメソッドを使う事はわかったのですが、 「BBB会社」を検索しつつ、そのレコード番号を取得し・・・ と言う処理がわかりません。 レコード番号さえわかれば、GoToRecordメソッドで 移動できる気がします。 会社名のレコードが入っているフォームは サブフォームとなっています。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

状況が分からないので、 (検索するタイミング・・・ 何かのテキストコントロールの更新後? コマンドボタンから? で、それは何処に配置?) ポイントだけ。 Forms!メインフォーム名!サブフォーム名!Form.Recordset.FindFirst("会社名='BBB会社'") とすれば、BBB会社があればそのレコードに移動しカレントになります。 なければエラーも出ずに先頭レコードになったままなので Dim RS As DAO.Recordset Dim 検索社名 as string 検索社名 = "BBB会社" set RS = Forms!メインフォーム名!サブフォーム名!Form.Recordset RS.Findfirst("会社名='" & 検索社名 & "'") if RS.NoMatch then msgbox "みつかりません" end if set RS = Nothing みたいな感じです。

JTLBLFHBYKRHO
質問者

お礼

ありがとうございました。