• 締切済み

アクセス:フォームを閉じずにデータ更新するには

みなさん、おはようございます。 データベースアクセスについて質問させていただきます。参考書やこちらの質問等もしらべましたが回答が得られなかったので質問致します。 現在、アクセスで病院のベッドを管理するアプリを開発中です。 ひとつのフォームに全病棟のベッドを表示するため500以上のコントロールを配置しておりますが、 すべて非連結にして、フォームを開くときのイベントプロシージャーにクエリを開いてすべてコントロールにテーブルのデータをはめていくように設計しています。 で、問題はこのフォームを開いたまま最新のデータに更新させたいのですが、再クエリーではうまくいきませんでした。 なぜうまくいかないのか理由はわかっていません(プログラマーの方ならうまくいかなくて当然とおっしゃるかもしれませんが) で、仕方なく、一定間隔の時間ごとにフォームを閉じて開くという方法を取っています。 この方法では遅いマシンだと再表示に時間がかかるのできっとほかにスマートなよい方法があるとおもっているのですがプログラミングのスキルが乏しいため詰まっております。 お知恵をお借りできれば幸いです。

みんなの回答

  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

>>すべて非連結にして、フォームを開くときのイベントプロシージャーにクエリを開いてすべてコントロールにテーブルのデータをはめていくように設計しています。 これでは、フォームを開いたときだけしか、データ設定のプロシージャが実行されません。一定時間ごとの再表示が必要なら、タイマーを使って、定期的に、データ設定のプロシージャを実行させる必要があります。 URLを参照してください。 なお、病院でのマルチユーザ環境のアプリケーションですと、ACCESSでは細かな操作が必要な時、つらい局面があるような気がします。Visual BasicもしくはVC#などのほうがいいと思うんですけどね。まあ、この例のようなアプリなら許容範囲でしょうけど・・・

参考URL:
http://72.14.235.104/search?q=cache:icbVk0qRVdAJ:www.tsware.jp/tips/tips_208.htm+access+timerinterval&hl=ja&gl=jp&ct=cln
stockman
質問者

お礼

>>lv4uさん フォームを開いたときに記述した内容のコードをそっくりタイマーイベントに記述すればいよいとおもったのですが、そうすると修正する場合、2箇所も変更する必要があるので、汎用モジュール化して、それをフォームを開くときとタイマーイベントに設定すればよいと思いましたがいかがでしょうか? おっしゃるとおり、アクセスでの運用は正直怖いのですが、そこまで病院全体がシステムを使いこなせるようになったら、本格的にオーダリングや電子カルテを導入するようになると思います。いつのことやらですが。

関連するQ&A

  • アクセスのフォームについて

    アクセスのフォームについて2件質問させてください。 その1 クエリーからあるフォームを作っていますが、元になるクエリー(テーブルにも)には項目がなく、ただそのフォームに表示されればいいというデータをそのフォーム上で入力したいのです。 そこで非連結でテキストボックスを作ったのですが、1ヶ所に入力するとどのページにも同じデータが表示されています。 それぞれのページに違うデータをフォームから直接入力するにはどのようにしたらいいでしょうか? その2 大変むずかしい依頼がきて悩んでいます。 フォームでラベルや図形で1ヶ月を3等分した簡単な図を作り、 フォーム上のある日付をその図の中に●や▲で表示したいのです。 イメージは下のような感じですが、このようなことは可能でしょうか?      2002/3       2002/4           ┃  │   │  ┃  │ ● │  ┃   以上2件一緒にして申し訳ございませんが、ご存知の方がいらっしゃいましたらよろしくお願いします。

  • Accessのフォーム

    Access2003を使用しています。 テーブルまたはクエリを元に作成したフォームにはテーブル・クエリに入力されているデータが表示されますよね? それらのデータをフォームから変更出来ないようにする方法はありますか? データ自体を非表示(入力用フォーム)にするのではなく、既存のデータは表示されるけど変更は出来ないという状態にしたいです。 ちなみに新規入力は行えるようにしておきたいです。 よろしくお願いします。

  • ACCESS フォームの表示

    ACCESSでフォームにクエリを付けて記入してます。 そのフォームは、顧客名簿の様な物です。 クエリには顧客名簿一覧と書類提出日を連結させてます。 他にも同様のフォームがありますが、そのフォームには一度入力したデータがフォームを開くと反映されてますが、 今回作ったフォームには記入したデータが反映されません。 フォーム上で右クリック⇒フィルタの削除 を選択すると入力したデータが表示されます。 しかし、一度閉じるとまた何も表示されていない状態です。 このフォームには、何故データが表示されないのでしょうか?? ご存知の方。よろしくお願いいたします。

  • ACCESSフォーム上サブフォーム内データ更新

    サブフォーム単体なた YES/NO型のデータを更新できるのですが フォーム上に張り付いたサブフォームから YES/NO型フィールドをクリックすると 「このコントロールは***フィールドに連結している為 編集できません」と 表示されます。 何が原因か よくわかりません。 どなたか ご教授御願いします。

  • AccessVBA 帳票フォームの非連結コントロールにデータを入力したいが

    AccessVBAの質問です。 フォームを帳票フォームにして、一覧形式でデータを表示しています。 その中に、データ元となるクエリーとは関係なく、非連結のコントロールが一個あります。 そこに、自由に値を入力して、テーブルへ更新したいのですが・・・。 値を入力すると、一覧上の同じコントロールすべてに同じ値が自動的に入ってしまいます。 行ごとに違う値を入力するにはどうしたらよろしいのでしょうか。 よろしくお願いいたします。

  • ACCESSのフォームについて

    いつもお世話になっております。 Accessですでにあるデータベースに新しいマスタを追加し、テーブルに挿入しました。リレーションシップで連結しました。  フォームに新しくそのデータを表示するテキストボックスを作ったのですが、プロパティのコントロールソースに新しいマスタの項目がなく、新しいマスタのデータを表示できません。 新しいマスタを後から追加した場合、もう一度フォームウィザードで作り直す方法しかないのでしょうか? 普通は設計段階でこのようなことがないようにすると思いますが、なにぶん、データベースに関しては初心者なのでこのようなことになってしまいました。 どうぞよろしくお願いします。

  • Access2000 フォームでのデータ入力について

    質問させていただきます。 Access2000で、あるフォームを作りました(帳票フォーム)。フォームの基になるレコードソースはクエリーです。このクエリーは原料伝票テーブルから在庫数が特定の数量を下回った原料を抽出しています。 フォームは以下イメージです。 原料コード 原料名  在庫数  発注数 原料コード~在庫数をクエリーから、発注数を手入力 にしました(発注数のコントロールソースは非連結です)。 で・・・発注数に値を入力すると全部の行が同じ値になってしまします。これを改善したいのですが・・・。 このやり方は根本的に間違っているのでしょうか?

  • アクセスでフォームが消える(3回目)です

    何回もすみません。 アクセスのフォームでデザインビューでは表示されるが、データーシートビューでは表示されないの件ですが、フォームの問題ではなく、元になっているクエリーの問題のようです。 クエリーに追加表示するテーブルによって、クエリーの時点で詳細行が消えることがわかりました。 そのため、フォームでも表示されないようです。 が、解決方法が見つかりません。 よろしくお願いします。

  • access2010 フォームについて

    access2010 フォームについて accessにテーブルを2つ作成しています。 A  ・コード    B   ・コード                 ・内容 一コードに対して内容は複数あります。 コードをリレーションしたクエリを作成し、そのクエリを使用したフォームを作成していて困っています。 あらかじめ作成してあるエクセル表を非連結オブジェクトフレームで貼り付け(お絵かき添付)、左上にコードのコンボボックスを作成して下の欄に内容を表示させたいのですが、内容を複数件表示させる方法がわかりません。 宜しくお願いします。

  • ACCESS97のフォームについて

    アクセス97のフォームについて教えてください。 前にも質問したのですが、アクセスのバージョンの記述を忘れていましたので 再度ご質問させていただきます。 DATAというテーブルがあります。DATAテーブルをフォームに以下のように表示したいと考えています =====================================================================   DATA選択画面 部門 日時 件数 区分 選択 ------------------------------- --- --- --- --- □ ←チェックボックス --- --- --- --- □ --- --- --- --- □ --- --- --- --- --- --- --- --- □ ------------------------------- ==================================================================== 区分が1のものは普通に表示して、区分が2のものは字の色を灰色にしたいと考えています --- の明細の部分(DATAテーブル)を順番に区分を判断しながらフォームに 表示していくということは可能でしょうか? ちなみにクエリオブジェクトは使用しないのが前提です。 SQLクエリはOKです。 アクセス2000であれば条件付き書式でこのようなことが可能だということは 分かっているのですが...97で出来るのでしょうか? かなり切羽詰っています。宜しくお願い致します