- 締切済み
ASCCESSのDB検索について
今 フォームでカード型DBを作成し コード呼び出し機能をつけて編集作業をしたいのですが、 やり方を教えて下さい 現在は編集→検索→入力の順でやっていますが 検索画面が出てくるとうれしいです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ARC
- ベストアンサー率46% (643/1383)
※Access2000対応のやり方です。 Access97 及び、Access97 SR-1をお使いの場合、バグのため正常に動作しません。このときは補足してください。 ・「得意先T」テーブルを表示するフォーム(得意先F)があって、同テーブルには「得意先ID」というフィールド(長整数型)があるものとします。 ・フォーム「得意先F」には[検索]ボタンがあり、それをクリックすると検索フォーム(検索F)が開くものとします。 ・検索Fにはテキストボックス(得意先ID検索)とボタン(検索)が配置されているものとします。 1:上記仕様に添った形でフォーム「検索F」を作成します。 2:得意先Fの[検索]ボタンを押した時の処理(検索F)を記述します。 ボタンをフォームに貼り付ける時に、ウィザードを使用すれば、この項目は飛ばしても良いですね。 3:検索Fをデザインビューで開き、検索ボタンを右クリックし、[イベントのビルド]-[コードビルダ]と操作します。 4:出てくるウインドウに、以下のように記述します。 Private Sub 検索_Click() Dim RS As Recordset '検索の準備 On Error Resume Next Set RS = Forms![得意先F].RecordsetClone 'まず、次を検索する RS.FindNext "[得意先ID] = " & Me.得意先ID検索 If RS.NoMatch = True Then '見つからなかったら、最初から検索する RS.FindFirst "[得意先ID] = " & Me.得意先ID検索 End If '条件に該当するレコードが発見できたら、そのレコードに移動 If RS.NoMatch = False Then Forms![得意先F].Bookmark = RS.Bookmark Else MsgBox "発見出来ませんでした。" End If End Sub 5:上書き保存して終了
- shigatsu
- ベストアンサー率26% (511/1924)
カード型ですか・・・・うーむ・・・ いわゆるテーブルが1つだけって事ですかね? だとするととんでもないデータベースができてそうですね。あとで大変な目にあいそうです。 検索ウィンドウをつけることはそれほど面倒な事じゃありませんが、VBAを使ったりすると思うので、その辺の知識も必要になります。 メインのフォームに検索ボタンを付けて、そのクリックイベントで検索フォームを表示するようにするんですが、良くある方法だとクエリーを使うんですが、多分『クエリーってナニ?』って感じだと思うので、まずはACCESSの入門書を一冊購入されて、一通り入力して実際に試された方がいいと思います。 データベースって最初の設計がかなり重要です。エクセルのようにとりあえず作っちゃえでやると絶対失敗します。