VBでのデーターベースレコード検索方法

このQ&Aのポイント
  • VB6.0を使って顧客データーベースを作成する方法や基本的な操作について解説します。
  • 顧客データーベースの作成順序やレコード作成方法、顧客フォームの表示方法などを詳しく説明します。
  • フォームを開いた時に自動的に顧客コードを空欄にする方法や、顧客データの検索方法、レコードの削除と新規入力の処理について解説します。
回答を見る
  • ベストアンサー

VBでのデーターベースレコード検索方法

VB6.0を使って顧客データーベースを作っているのですが質問させてください。 まず作成した順序として ・ビジュアルデーターマネージャーを使ってレコードを作成しました。 ・顧客コード、フリガナ、名前、住所・・・あと何点かありますが・・ ・データーフォームウィザードで顧客フォームを表示できるようにしました。 ここからが質問ですが、 1.フォームを開いた時点では顧客コードに1番が割り振られるのでそれをまず空欄にしておきたい。 2.例えば23を顧客コードフォームに入力しエンターキーを押せば23の顧客データーを検索し各フォームに表示されるようにしたい。 3.23番の顧客を表示後、削除ボタンをおすとそのレコードが削除されるが、23番を2.のように入力するとレコードがない為自動的に新規入力となり保存すると23番目のレコードに挿入されるようにしたい。 以上の3点です。ど素人的な質問ですがどうかよろしくお願いします

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

  • ベストアンサー
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

>・ビジュアルデーターマネージャーを使ってレコードを作成しました。 この方法ではテーブルとリンクしたフィールドしか作成できませんね。 非連結フォームでフィールド作成し、データの更新や削除/挿入はプログラムで行うようにすれば出来ます。 よって、ここで簡単にお答えできるご質問ではありません。申し訳けありませんが、書籍などでまずは御勉強をお願いしますね。

bakusui
質問者

お礼

ご回答ありがとうございます。 ということは、ビジュアルデーターマネージャーでのmdbファイルが使えないということですか? もしくはビジュアルデーターマネージャーで作ったmdbファイルは使えるが、ウィザードで自動的にフォームを作成してはいけないということですか?

その他の回答 (1)

  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.2

>ウィザードで自動的にフォームを作成してはいけないということですか? そういう事です。ウィザードで作成するとフィールドの情報はDBより取得し、どうしても連結フォームになってしまいます。 非連結フォームを作成して、VBAプログラムミングで対応するしかないですね。

関連するQ&A

  • Access2000 フォームからレコード検索

    Access2000で質問です。 「顧客テーブル」を作ります。 顧客テーブルには以下のフィールドを設けます。 顧客ID(主キー) 名前 TEL 住所 変更住所 顧客IDから住所まではすでにデータが入っています。 「変更住所」に新しくデータを入れていきます。 その際に、フォームを利用したいと思っていますが、 新規フォーム(何もデータが入っていない)に顧客IDを入れたら、すでに顧客テーブルに入力されている名前、TEL、住所がパッと表示され、変更住所だけが空欄で表示されるようなフォームを作りたいと思います。 どのような方法がありますでしょうか? ぜひお知恵を貸してください。よろしくお願いいたします。

  • 検索フォームの検索結果。毎回先頭のレコードを表示させたい。

    こんにちは。 顧客データベースを作成しています。 当方初心者なもので、調べながらですがようやく顧客検索フォームができあがりました。 【Q検索】を作成し、それを元に【F検索】を作りました 顧客名の一部をキーワードとし、【F検索】内に配置したテキストボックスにキーワードを入力し検索ボタンを押すと、【F検索】内に埋め込んだサブフォームに該当顧客データが単票フォームで表示されるようにしました。誰でも使えるように、サブフォーム内に【前のレコードへ】と【次のレコードへ】という2つのレコード移動ボタンを配置しました。検索処理はうまく動いたのですが、一度検索をして、続けて検索をした時、先頭のレコードからの表示になりません。 例えば、「東」をキーワードにして検索し、検索結果が30件あったとします。一度目の検索では、検索結果は先頭のレコードが表示されます。【次のレコードへ】ボタンで10番目のレコードまで移動した後、今度は「西」をキーワードにして検索をすると10番目のレコードが表示されてしまいます。「西」の検索結果が5件しかなかった場合は新規レコードが表示されてしまいます。 ネットで調べていろいろ試してはみたのですが どのタイミングでどう記述すればいいのかわかりません。 説明に不備がありましたら追記していきますので よろしくお願いします。

  • VBで任意の複数レコードを追加・削除するには?

    VBで作成するアプリについて質問があります。 処理としては、追加するレコード数が実行毎に違っているデータを、 フォームの入力エリアに入力し、そのデータを使用してデータベースに データを登録する処理を想定しています。 上記を踏まえて、下記条件を同時に満たす操作を作成したいと思っています。 (1)「追加」ボタンをクリックすると、表示されている入力エリアが1行追加される (2)レコード毎に作成された「削除」ボタンをクリックすると、  任意の入力済みの行を削除出来る 最後の行に入力エリアを追加・削除することは出来たのですが、 (2)の「任意の行を削除する」処理が作成できていない状況です。 VBの経験が2週間で、下らない質問かもしれませんがよろしくお願いします。

  • access 現在のレコードが先頭から何番目?

    お世話になります access97ですがそれ以降のバージョンとしても回答でも助かります テーブルAを基に作成したフォームがあり、テーブルAの各データに対応するフォームとなっています テーブルのレコードが例えば3番目のデータを表示するフォームであれば そのフォームのテキストボックスに 3 と 表示されるようにしたいのですが、 あらかじめ用意されている関数には なさそうです エクセルではmatch関数などあるようですがaccessではVBAで作成しないとならないでしょうか もしそうだとしましたら どのようなコードになりますか 例えば学生さんの履修科目の試験の成績を入力したテーブルがあるとして 各学生さんに対応するフォームが1枚ずつできるイメージです 各人のID番号を先に作成して それをフォームに表示するのではなくて テーブルのなかの第何番目かの数値をフォームに表示したいのですが どのようにしたら よいものでしょうか フォームの下のほうにレコードカウントが アクセスには デフォルトでありますが その数字を 自動的に フォーム上に表示したいというわけです 要は新規に入力するデータが 第何番目かを自動的に判別して 新しい帳票フォームの あるテキストに自動で表示したいというわけです わかりにくくて すみませんが お知恵をお貸しくださいませ 宜しくお願い致します

  • Accessでデータベースからレコードを削除するには?

    Accessについての質問です。 データベースへのデータの登録はフォームを使って行なうようですが、データの削除はどうやってやるんでしょうか? レコード単位で削除したいです。

  • フリガナ検索について

    同じような質問があったらすみません。 過去質問も見ましたが、あまりよく理解できなかったので質問させていただきます。 顧客名簿のフリガナ検索をしたいのです。 テーブルには顧客情報に必要な、名前 フリガナ 住所 電話番号 とあり、フォームもそのテーブルを元に作成しています。 そして、そのフォームにテキストボックスをつくり、コマンドボタンで 実行をしたいのです。表示方法はフォームで・・・・。 例えば「サトウ」とテキストボックスに入力し、コマンドボタンを押すごとに、「サトウ」の苗字の人がフォームで次々と表示されるようなのが理想です。 お時間があるときに、教えていただけないでしょうか? 宜しくお願い致します。

  • Access2000でのレコードの削除と移動

    ccess2000で テーブルがA と Bあり テーブルAは一時保存用で最終的にBに保存しようとしてます。 まず、データをフィールド1が空欄でAに保存して、後にそのデータをフォームで呼び出し、フィールド2を入力後テーブルBに保存その呼び出したカレントレコードのみ削除したいのですが、どうすればいいのでしょうか> フォームは連結されていません。 可能であればサンプルコードをいただくと助かります。 お願い致します。

  • Accessフォームの検索画面作成について

    ご存知の方、教えてください。 ・会員情報の単票フォームを作成し、同フォームのフォームヘッダーにテキストボックスとボタンを作成しました。 ・テキストボックスにフリガナの頭文字を入力し、ボタンを押すと、該当する会員のレコードが表示されるようにしました。 (VBAのFindRecordで作成) ここからが分からないのですが・・・。 ・フリガナに同じ頭文字を持つレコードが複数ある場合、「次へ」というボタンを押すと上部レコードから順に次のレコードが表示されるようにしたいのです。また、同じ頭文字のレコードがない場合は「検索が終了しました」というメッセージを表示したいのです。 VBAでどのような記述をすればいいのか、教えてください。よろしくお願いします。

  • アクセス2000でフォームに入力したレコードを表示させたいのです

    初歩の質問ですがよろしくお願い致します。 顧客TBを作成して、それを単票フォームで入力 できるようにしています。 同一フォームにサブフォームを設けて入力したレコードを 登録毎にサブフォームへ一覧表示させるにはどうしたらよいでしょうか サブフォームに直接入力していくと可能なのですが できれば上記のような形で行ないたいのです。 それとサブフォームでは編集できないようにすることは出来ますか? 宜しくお願い致します

  • ACCESS2000でクエリで抽出したレコードをフォームに表示するには

    A顧客テーブルで作成したフォームからコマンドボタン(電話番号検索)押下時に 電話番号入力画面が出て入力した電話番号とマッチした顧客レコードをフォームに 表示させたいのですが上手く出来ません。 現在進めている方法では何がダメなんでしょうか(以下は考え方) A顧客テーブルから作成したフォムに電話番号コマンドを作成してコマンドを 押すとクエリの実行をさせる。クエリはA顧客テーブルのフィールドを全て選択して抽出条件に[電話番号入力]としている。 (結果) ・フォームを開くと先に電話番号入力が出てくる、先にフォームが開かない。 ・電話番号検索コマンドボタンを押すと抽出条件に合ったレコードはデーターシートビューに表示される。 よろしくお願いします

専門家に質問してみよう