家・車以外で、人生で一番奮発した買い物

access97 or 2000を使って得意先の情報を管理しています。
フォーム上からボタンを押すと、「検索と置換」ダイアログが開くようにしているのですが、このダイアログの「検索条件」の欄は「フィールド全体」が初期値になっているのですが、「フィールドの先頭」を初期値に変更することは可能でしょうか?

A 回答 (3件)

#1,#2です。


回答がおそくなりまして、申し訳ありません。

フォームに、以下のようなコードを書いてみてください。
ただし、コントロールの名前は次のように仮定しています。
 検索用コマンドボタン・・・[コマンド1]
 検索文字列を入力するテキストボックス・・・[txtWhatFind]
 検索対象とするフィールドとリンクしたテキストボックス・・・[txtData1]



Private Sub コマンド1_Click()

Dim strWhatFind As String '検索対象文字列を格納する変数

DoCmd.GoToControl "txtWhatFind"

strWhatFind = txtWhatFind.Text '検索文字列を取得
If strWhatFind = "" Then Exit Sub'検索対象が入力されていないときは、ここで終了

DoCmd.GoToControl "txtData1"
DoCmd.FindRecord strWhatFind, acStart 'acStartが、「フィールドの先頭」の指定と同じことになります。

end sub

※動作検証していません。万一動かなかったら補足してください。
    • good
    • 0
この回答へのお礼

返事が遅れてしまい、申し訳有りませんでした。
大変参考にさせていただきました。ありがとうございました。

お礼日時:2003/06/17 08:24

#1です。



単純に「前方一致検索」を行いたいなら、
検索文字列の最後に「*」をつけることでも可能です。
    • good
    • 0

Access2000で回答いたします。



コマンドボタンのプロパティで、「イベント」-「クリック時」に「イベントプロシージャ」と表示されていると思います。
ここをクリックしたときに右側に表示される、「...」ボタンを押してみてください。

すると、VisualBasicEditorが起動します。
この中を探すと

 DoCmd.DoMenuItem acFormBar, acEditMenu, 10, ,acMenuVer70

という一文があると思いますので、ここを

 Docmd.findrecord・・・

を使った一文に変更してやります。
詳しくはDocmdあたりにカーソルを置いてF1キーを押してみてください。

オプションが多数ありますので、[Find What/検索データ]に適当なコントロールの値、[Match/検索条件]に、[Start Of Field/フィールドの先頭]を指定してやってください。

この回答への補足

回答いただきありがとうございます。
HELP等参考にしながらやってみたのですが、VBE上でのDocmd.findrecordから続くmatch=start of fieldあたりの具体的な記述法がよくわからないのです。
当方、かなりの初心者なのでご伝授いただければうれしいのですが・・。
宜しくお願いします。

補足日時:2003/06/10 11:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報