問題タブ [subforms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
125 参照

ms-access - 複数のタブに入力された固有のラボ エントリ

研究患者を追跡するために、MS Access 2007 (病院が持っているもの...) での 2 週間の経験を使用して、DB をゼロから作成しています。基本的な情報の流れは、開始画面から、新しい患者を入力するか、古い患者を見つけることができるようになります (それぞれボタンから) - それらのパーツを取得します... (患者の人口統計フォームに移動します)

患者を見つけると、コンボボックスから以前の訪問を選択するか (その部分を取得)、新しい訪問を作成することができます (コンボボックスの追加フォームをポップアップ表示するボタンから) - その部分を取得します... (彼らは訪問フォームに行きます)

これが私の問題です。Visit Form で、Lab エントリを生成できるようにする必要があります (各 Lab エントリには、データを格納する複数のテーブルがあります)。フォーム (患者情報領域と、データシート ビューに異なるサブフォームを含む 12 個のタブ (1 つを除く)) を作成し、テーブルに入力した現在の「偽の」結果を取得して、タブに表示することができます。私の問題は、タブのいずれかに新しいラボの日付を入力すると (新しい一意の LabID が生成されます)、他の 11 個のタブ (すべてその一意の LabID に関連付けられている) にその日付が入力されるようにすることです。各ベーステーブルに記録します。訪問にラボが関連付けられていない場合、サブフォームは空白のデータシートで、新しい labID を入力できます。それ以外の場合は、すでに訪問中の場合は、
そうそう....また、結果が利用可能になったときに、それらの他のラボ記録に戻って編集/追加できる必要があります(病理学は他のものよりもはるかに時間がかかります-など)。ただし、LabID と関連する日付が 12 個のタブすべての各フォームに入力されている場合は、その情報が利用可能になったときにその情報を待つ空白のスペースが必要です。そのため、それほど問題ではないかもしれません。

基本的に、一意の患者は複数の一意の訪問を生成します --> 各訪問は、1 つ以上の一意の LabID を生成し、多数のラボ データ ポイントに関連付けることができます (すべてそのラボ ID に対して一意)。まだ混乱していますか?私の頭の中でそれが正しければ、それは1対多対多対1の関係ですか?

これが私のリレーションテーブルの一部です:

訪問フォームは次のとおりです。

訪問フォームのタブにあるサブフォームごとに、'Link master Fields' を VisitID に設定し、'Link Child Fields' を Lab ID に設定しました。驚くほど少量の VBA コーディングでこれらすべてを行うことができましたが、患者の人口統計ページのコンボ ボックスから取得するコーディングは次のとおりです。

現在のところ、私のビルダーには訪問ページ用のコードはありません。サブフォームは、lab グループ テーブルと labID テーブルから取得したクエリに基づいています。

私は 1 週間に 1 回、答えを求めて Web と Access 2007 聖書を探し回っていますが、頭がいっぱいで立ち往生しているときは認めます... スペシャリスト、助けてください! - 必要に応じて、DB へのリンクを提供できます。

0 投票する
1 に答える
178 参照

vba - レコードを循環するときにアクセスの変更イベントが機能しない

現在、2 つのサブフォームを含むフォームがあります。Customer Addresses という名前の 1 つのサブフォームには、住所テーブルの主キーを含むテキスト ボックスがあります。このフォームにボタンを配置して、次または前のレコードに切り替えます。これらのレコードを循環すると、テキスト ボックスで異なる住所 ID が循環しているのがわかります。

addressID が循環しているときに、その値が CustomerContacts という別のサブフォームの別のテキスト ボックスを自動的に更新するようにします。変更イベントと更新イベントにコードを追加しましたが、成功しませんでした。

上記のコードの参照は正しいです。このコードをコンボボックスでテストし、実際にドロップダウン矢印を押して値を選択すると、他のサブフォームの他のテキスト ボックスが正常に更新されました。

したがって、ここで欠けているものがあります。レコードを循環すると、変更または更新イベントがトリガーされないため、これらすべてを回避するにはどうすればよいか疑問に思っています。

0 投票する
1 に答える
405 参照

database - MS Access: フォームを使用して他のサブフォームの他のフィールドに入力するにはどうすればよいですか?

次のテーブルに共通のフィールドがあります。例えば

ブランチ テーブル

  • 小売業者 ID (PK)
  • 販売店名
  • 住所(1
  • アドレス2

内部テーブル

  • 小売業者 ID (PK)
  • 販売店名
  • 内部 ID

銀行口座

  • 小売業者 ID (PK)
  • 販売店名
  • 金融機関コード
  • 銀行の口座番号

ブランチ テーブルを使用して「マスター」フォームを作成し、サブフォームとして内部テーブルと銀行口座のフォームを含めました。私の意図は、同じフィールドの繰り返し手動入力を防ぐために、小売業者 ID および小売業者名フィールドにユーザー タイプを設定することです。プロパティ シートの下で、Link Master Fields と Link Child Fields を使用してフィールドをリンクしました。ただし、フォームが意図したとおりに機能していないようです。

ブランチ テーブル (マスター) のテスト データを入力した後、内部テーブルのフィールドに移動すると、次のエラーが発生します。

「Microsoft Access データベース エンジンは、キーが一致するフィールドを持つテーブル内のレコードを見つけることができません。(エラー 3101)」などと説明されています。 "1" 側に一致するレコードがありません。たとえば、CustomerID フィールドで Customers テーブルと Orders テーブルを結合し、Customers テーブルに存在しない CustomerID を使用して注文を追加すると、このエラーが発生します。

このため、他のテーブルに別のエントリを自動的に追加することはできません。