- ベストアンサー
レコードの検索・移動
こんにちは。 先日、レコードの検索・移動で、お尋ねしたのですが、 やはり、解決できません。Q&Aで、"レコード" "検索"で調べましたが、 ヒットした53件の中には、ちょうどいいのがありませんでした。 もう一度、質問させていただきたいと思います。お願いします。Access2000です。 現在あるフォームを利用して、 フォームヘッダにテキストボックスを作成し、 その中に、[ID]の番号を入力したら、検索して、 その番号のレコードに移動し、欲を言えば、 その後に、[フィールド1]にカーソルが移動して欲しいのです。 [ID]のデータ型は、テーブルのデザインビューにて、 オートナンバー型でなく、数値型にしています。 フィールドサイズは、整数型。書式:数値、小数点以下桁数:0、 値要求:いいえ、インデックス:はい(重複なし)。です。 お願いできませんでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
検索は、 Me.RecordSource = "テーブル" Me.RecordsetClone.FindFirst "[ID] = '" & [テキストボックス] & "'" Me.BookMark = Me.RecordsetClone.BookMark カーソルの移動は、 Me![フィールド1].SetFocus でできませんか?
その他の回答 (2)
- MovingWalk
- ベストアンサー率43% (2233/5098)
こんばんは。 >しかし、実行時エラー '3464': 抽出条件でデータ型が一致しません。 #2の方が既に回答されていますね。 比較するフィールドの方によって右辺の書き方が変わります。 文字列型の時は、"'"(シングルクォート)で囲みますが、数値型だった様ですね。 両端のシングルクォートをはずせばOKだと思いますよ。 それでは。
お礼
MovingWalkさん、こんばんは。お世話になります。 文字列の場合も、今後使えるようになりそうです。 ご丁寧にありがとうございました。
- tomotomo0906
- ベストアンサー率63% (7/11)
こんにちは "ID"フィールドは数値型のようですので 以下のように直してみてください。 Me.RecordsetClone.FindFirst "[ID] = '" & [search] & "'" ↓ Me.RecordsetClone.FindFirst "[ID] = " & [search] & "" ([search]の前後の「'」を削除)
お礼
tomotomo0906さん、ありがとうございました。 仰るとおりです。上手くいくようになりました。
お礼
MovingWalkさん、ありがとうございます。どうぞ、お願いします。 searchと言う名前のテキストボックスを作成しました。更新後のイベントに、 Private Sub search_AfterUpdate() Me.RecordSource = "01月" Me.RecordsetClone.FindFirst "[ID] = '" & [search] & "'" Me.Bookmark = Me.RecordsetClone.Bookmark Me![フィールド1].SetFocus End Sub としました。テーブル名が01月ですので、上のようにしました。 しかし、実行時エラー '3464': 抽出条件でデータ型が一致しません。 となりまして、デバッグを押下すると、 Me.RecordsetClone.FindFirst "[ID] = '" & [search] & "'" を示します。 データ型といわれても、テキストボックス「search」の書式は、 数値にしていますし、小数点以下桁数は0にしています。 Me![フィールド1].SetFocusに付いては、仰るとおりに、 カーソルが移動しています。ありがとうございました。 何処を確認したらいいのですか?どうぞ、お願いします。