Ms access 基于组合框选择显示消息框

Ms access 基于组合框选择显示消息框,ms-access,ms-access-2010,Ms Access,Ms Access 2010,我有一个包含多个子表单的表单。目前我有两个组合框。一个按供应商筛选出子表单,另一个选择价格级别,该价格级别确定哪个子表单(价格级别)可见。我的那部分工作得很好。但是,现在我还想显示一个基于价格级别选择的消息框 我有另一个表,其中包含特殊的客户定价。是否可能例如,当选择组合框价格级别时,它会检查该价格级别是否有具有特殊定价的客户,并显示具有特殊定价的客户的消息框 如果有两个客户:“客户名称”和“客户名称”有特殊定价 这是我的桌子 这是我当前的价格级别组合框代码 Option Compare Da

我有一个包含多个子表单的表单。目前我有两个组合框。一个按供应商筛选出子表单,另一个选择价格级别,该价格级别确定哪个子表单(价格级别)可见。我的那部分工作得很好。但是,现在我还想显示一个基于价格级别选择的消息框

我有另一个表,其中包含特殊的客户定价。是否可能例如,当选择组合框价格级别时,它会检查该价格级别是否有具有特殊定价的客户,并显示具有特殊定价的客户的消息框

如果有两个客户:“客户名称”和“客户名称”有特殊定价

这是我的桌子

这是我当前的价格级别组合框代码

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

谢谢你的帮助。如果我讲不通,请告诉我,您需要更好的解释。

您可以创建一个点击事件(或聚焦丢失事件或您喜欢的任何事件),当选择价格时将触发该事件。例如,如果您有一个名为“Customers”的表,其中包含“name”和“specialPricing”列,那么您可以运行SQL查询来查找谁有特殊定价,并向用户显示该数据。算法如下所示:

  • 用户选择后,从组合框中获取价格
  • 使用存储的SQL查询并将价格值添加到字符串中: 从客户中选择c.[name]作为c,其中c.[specialPricing]=“&comboBoxPrice.value&”;"
  • 将查询的返回值存储在记录集中
  • 如果RS为空,则向用户显示MsgBox“没有在此价格级别具有特殊定价的客户”否则:循环遍历记录集以创建包含具有特殊定价的客户的字符串,并向用户显示MsgBox此列表/字符串

是的,但您没有提供足够的详细信息来提供具体的答案。如果希望在选择时触发,您需要将代码添加到组合框的Got Focus事件中。如果您想提供更多详细信息,基本上可以假装您不熟悉您的项目,阅读您所说的内容,看看您是否理解。例如,我该怎么做知道客户是否处于具有特殊定价的价格水平吗?我已经添加了有关我的表和关系的更多详细信息。我不会将Get focus事件用作消息框。这将使通过表单进行tab操作变得非常乏味。我想在更新cboPriceLevelif后,可能可以在现有的if语句中添加一些内容要提醒某人定价,我建议使用一个文本框,对于J8不显示任何内容,对于J7或J6客户使用一些明亮的字体-尤其是如果您将其放置在客户名称之后,因为他们已经在该区域查看了