0

複数のサブフォームを含むフォームがあります。現在、2 つのコンボ ボックスがあります。1 つはサプライヤーごとにサブフォームをフィルターで除外し、もう 1 つは表示されるサブフォーム (価格レベル) を決定する価格レベルを選択します。私はその部分がうまく機能しています。ただし、価格レベルの選択に基づいてメッセージ ボックスも表示したいと考えています。

特別な顧客価格を含む別のテーブルがあります。たとえば、コンボボックスの価格レベルが選択されている場合、その価格レベルに特別価格の顧客がいるかどうかを確認し、特別価格の顧客のメッセージボックスを表示することは可能ですか.

お客様が2名の場合「お客様名」と「お客様名」は特別価格となります。

ここに私のテーブル関係があります

ここに画像の説明を入力

価格レベルコンボボックスの現在のコードは次のとおりです

Option Compare Database

Sub ShowSubform()

'Save unsaved changes to currently open subform
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

'Display appropriate subform based on cboPriceLevel chosen
If cboPriceLevel = "J6" Then
    J6_All_subform.Visible = True
    J7_All_subform.Visible = False
    J8_All_subform.Visible = False


    ElseIf cboPriceLevel = "J7" Then
    J6_All_subform.Visible = False
    J7_All_subform.Visible = True
    J8_All_subform.Visible = False

    Else
    J6_All_subform.Visible = False
    J7_All_subform.Visible = False
    J8_All_subform.Visible = True

End If

End Sub

Private Sub Form_Current()

'Call subroutine to display appropriate subform based on template type
ShowSubform

End Sub

Private Sub cboPriceLevel_AfterUpdate()

'Call subroutine to display appropriate subform based on template type
ShowSubform

End Sub

助けてくれてありがとう。意味が分からず、より良い説明が必要な場合はお知らせください。

4

1 に答える 1

0

価格が選択されたときにトリガーされる On_Click イベント (またはフォーカスが失われたときなど) を作成できます。たとえば、「name」列と「specialPricing」列を含む「Customers」という名前のテーブルがある場合、SQL クエリを実行して特別価格設定を行っているユーザーを見つけ、そのデータをユーザーに表示できます。アルゴリズムは次のようになります。

  • ユーザー選択後、コンボボックスから価格を取得
  • ストアド SQL クエリを使用して、価格値を文字列に追加します。
  • クエリからの戻り値をレコードセットに格納します。
  • RS が空の場合は、MsgBox をユーザーに「この価格レベルで特別価格の顧客はいません」と表示します。それ以外の場合: レコードセットをループして、特別価格の顧客を含む文字列を作成し、このリスト/文字列をユーザーに MsgBox します。
于 2018-04-07T02:31:27.813 に答える