• 締切済み

テーブルからレコードを(在れば)検索し、更新する

テーブルから、指定したレコードを検索し、(存在すれば)フォーム表示し、変更・更新できるようにしたい。存在しない場合は、その旨メッセージを表示し、処理を終える。 レコードの指定は、一意の正数値が入っているnoフィールドを用います。 スタンダードな質問で、初歩的かもしれませんが、悪戦苦闘しています。 Accessだけでは無理でしょうか? VBAでやれるでしょうか? 単体のAccessでは何がやれないのかが、よく分かっていないのです。だれか、HELP!

みんなの回答

noname#192382
noname#192382
回答No.1

アクセスのソフトにあるクエリーを使って、1 クエリーにテーブルを追加 2 問題とするフィールドの抽出条件として たとえば =254 のように条件を指定の後 3 そのクエリーを実行 4 そうすると条件にあったデータだけが示されます

getahage
質問者

補足

有り難うございます。 でも、でも、… 私の欲しいのは、この一連の処理(アクション列)をマクロ化し、メニューボタンから実行させたいのですが。 更新は、表示されている入力フォームに書き込めるように。 なお、もし希望のレコードが存在しない場合は、「指定のレコードはありません」とメッセージ表示して、処理はスルーして欲しいのです。

関連するQ&A

  • テーブル内のレコードを別のテーブルに移す良い方法を教えてください

    SQLサーバー7.0(ADO)とAccess97のVBAでアプリケーションの開発を行っております。SQLサーバー7.0(サーバー側)にあるテーブルの中身(レコード全件)をAccess97(ローカル)にあるテーブル(テーブル名とその中のフィールド名は全く同じだが中身はからっぽ)にまとめて移しかえる良い方法があれば教えてください。いま私はフォームオープンイベントでフィールドとレコードをループでまわして移しかえているのですが、テーブル数も多いため記述も長くなりますし、何よりもパフォーマンスが良くありません。テーブル単位で中身を別のテーブルに移す方法などがあれば是非教えてください。 (例) SQLサーバー(ホスト側)---テーブル名「T_社員マスター」フィールド数100項目、レコード数500件 ↓ ↓ フォームオープン時にそのまま移しかえたい ↓ ↓ Access97(端末側)-------テーブル名「T_社員マスター」フィールド数100項目、レコード数0件 よろしくお願いします。

  • フィルタ後のテーブルのレコード数を取得したい

    アクセスvbaです。 フィルタ後のテーブルのレコード数を取得したいのですが Debug.Print DCount("[フィールド1]", "テーブル1") だと、フィルタ前の数が取得されてしまいます。 フォーム1にテーブル1を紐付けて、 更にフィルタをしているのですが、 元のテーブル1のレコード数が10として、 フィルタ後が3なら、3を取得するVBAコードを教えてください。

  • アクセスのテーブルのレコードをひとつのフォームにすべて表示ししたい

    アクセス2002を使っています。 ひとつのテーブルに登録しているレコードの値(日付順のフィールドにより数値を入力たレコードです)をひとつの単票形式のフォームにすべて表示するようにしたいのですが、できますか? よろしくお願いします。

  • ACCESSのレコード操作で1つ前のレコードの再表示方法をご教授下さい。

    アクセスで1レコードの入力が終わり、次の入力フォームに移行した時、前のレコードのフィールド内容を参照したいのです。 VBAで関数DLastで呼び出す様にしているのですが、 毎回同じデータが表示されます。レコードは順次入力されていて、 スクロールで1つ遡ると最終データが表示されています。 解決方法をご教授お願い致します。

  • Accessでレコードの保存をVBAで

    Access2000です。 入力するとすぐに集計をしたいのですが、 フォームフッターの集計用テキストボックス (=sum([フィールド名])が設定されている) は、レコードを保存しないと、再計算されないようです。 そこで、入力して、フォーカスを喪失するときに DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70 を実行して、レコードを保存しているのですが、 デバッグのとき、エラーが発生しますし、 (デバッグ中は、VBAエディタが表示されるため) また、メニューの実行のコマンドは物足りないので、 指定したフォームのレコードを保存する方法は、 他にないでしょうか? よろしくお願いいたします。

  • ACCESS2007でフォームのレコード検索行を非表示

    ACCESS2007で初期画面にフォームを指定しています。 そのフォームの最下部にレコード検索行(?)が表示されています。 これを非表示にすることはできますか。 できるならば、どのようにすればいいでしょうか。 よろしくお願いします。

  • あるレコードのフィールドだけ入力可能にしたい

    Access 2013 VBA フォームの帳票タイプで あるレコードのチェックボックスにチェックを入れた時だけ、そのレコードにある特定のフィールドのテキストボックスを入力可能にしたいです。 どのようにしたら良いでしょうか? 誰かお分かりの方おられましたら、よろしくお願いします (お正月でまだ誰も見る暇がないようですが・・・)

  • ACCESS フォームで抽出条件の違うレコード表示

    宜しくお願いします。 ACCESSでレコードソースをQ_Bとするフォームに、ヘッダー部分に別のクエリ(Q_Aとします)のデータを表示させようと思っています。 Q_Aのデータを元にフォーム内でnoごとに表示するテキストボックス(リストボックスなどでも可)を変えて表示させたいのですがうまくいきません。 Q_Aは No 日付 1 1/15 2 2/1 3 2/5 4 3/12 ・・・レコード数は10あります。 Q_Aの日付フィールドのみ一定期間ごとに変更します。 ですので、一つのテキストボックスには例えば Noのフィールドの「1」のレコードが表示されるようにしたいのです。 Q_Aを元に、レコード数10が個別に表示されるテキストボックス等を、VBAなど?で抽出条件を指定しておきフォームを開いた際に表示できるようにしておきたいのですが、どのような方法があるかご教授願えますでしょうか? よろしくお願い致します。

  • 「フォーカスのあるレコード」に色付けしたい

    「フォーカスのあるフィールド」ではなく「フォーカスのあるレコード」に色付けしたい アクセス2007です。 フォームの条件付き書式には「フォーカスのあるフィールド」と言う条件で色付けできますが 「フォーカスのあるフィールドと同じレコードのフィールド」に色を付けたいです。 図をご覧いただければわかりやすいと思いますが、 IDフィールドの3にフォーカスがある場合は、フィールド1のCも色を変えたいです。 IDフィールドには、「フォーカスのあるフィールド」で条件付き書式設定をしました。 VBAでも大丈夫なので教えてください。

  • Access更新クエリの「レコード更新」をフォームから指定する方法

    お世話になっています。 早速ですが質問があります。 テーブルにあるフィールドの値を全て変更する更新クエリを作成したのですが、出来ればフォームから指定したいのです。 どうやったら「レコードの更新」の値をフィールドから指定出来るのでしょうか? 以上、よろしくお願いします