私はプログラミングの初心者/初心者なので、私の素朴さを許してください。MS Access 2013 には、テーブル 1 とテーブル 2 の 2 つのテーブルがあります。 [テーブル 1].[フィールド 6] に入力された値を [テーブル 2].[フィールド 2] の値と比較する方法が必要です。一致が見つかったら、[表 2].[フィールド 3] の対応する行の値を取得し、[表 1].[フィールド 13] の式で使用します。
「If」ステートメントを使用することを考えましたが、比較される 2 つのテーブルに 10 個の潜在的な値があるため、式が大きくなり、計算に永遠に時間がかかります。特に、表 1 が数百/数千のレコードを取得し始めると。
誰かがこれを行う最も簡単でクリーンな方法を教えてもらえますか?
編集 - リクエストごとに詳細を追加します。
トラック、鉄道車両、トートバッグなどの商品を販売しています。したがって、契約を締結するときは、トラック 2 台、鉄道車両 3 台、コンテナ 10 台などを入力します。これらの輸送方法はそれぞれ重量が異なり、価格/販売方法も異なります ($/ポンド、$/メートルトンなど)。 .) 輸送モードによって異なります。アイデアは、契約が入力されたときに、[テーブル 1].[フィールド 6] に入力された輸送モードを調べ、それをマスター重量テーブル (テーブル 2) と比較して、輸送の数を取得するというものでした。その輸送モードはポンド、トンなど (この変数を「x」と呼びましょう) であるため、その数値 (表 1 の他のフィールドのボリュームと価格と共に) を使用して、新しいフィールドで総収益数を生成できます。 = "x" [ボリューム] [価格]。
例として、3 台のトラックを販売したとします。輸送手段としてトラックが入力された場合、トラックの容積 (46,000 ポンド) を検索し、その数値を式で使用します。46,000 x トラック 3 台 x 0.39 ドル/ポンド = 53,820 ドル。
シェルを作成し、Revenue フィールドに式を作成できます。単純に「If」ステートメントを実行して 10 個すべてを含めずに、変数「x」(比較したテーブルに基づく重み) を式 ="x" [出来高] [価格]に入れる方法がわかりません。交通手段は表現で。式で 10 の異なる論理テストを行う代わりに、テーブルまたはクエリを使用して "x" を返す方法があると思います。