MS Access - 自动完成

时间:2016-06-30 00:53:36

标签: combobox access

我是一个Access新手(使用2013年),所以我很抱歉,如果这是一个简单的...我已经尝试从谷歌和YouTube视频中解决这个问题,但我发现自己更多,更加困惑。

我有一个用于输入和查看项目管理数据的表单。表单包含来自2个相关表的数据:1)TblClients,以及2)TblProjects(每个客户端可以有多个项目)。客户可以是"内部"或"外部" ...并且这是通过名为" ExternalClient?"的TblClients中的字段分配的。通过是/否组合框。

在TblProjects中,我有几个字段(例如" QuoteGenerated?"," ServiceContractExecuted?"),用于跟踪外部客户端仅需要的项目特定管理任务。这些字段是包含“是”,“否”或“内部不适用”的组合框。表单中的每个字段当前默认为" No"。

表单正在运行 - 但我必须手动为每个条目分配#34; QuoteGenerated"等

我正在努力解决的问题如下:当我在数据输入表单中添加新记录并为项目选择客户端时(通过clientID组合框),我希望每个" QuoteGenerated?"," ServiceContractExecuted?"等等" N / A内部"如果客户是内部的。这些条目需要存储在TblProjects中。我还想保留组合框,以便每个任务完成后,我可以将其设置为" yes"并存储此值。

预先感谢任何建议......如果我能提供更多信息,请告诉我。

干杯!

编辑:@ M.Nabavi感谢您的回复。虽然有些事情对我不起作用......我添加了以下代码:

 Private Sub ExternalClient__AfterUpdate()
    If ExternalClient.Value = "Yes" Then
        txtAdminQuote = "No"
        txtAdminToLegal = "No"
        txtAdminToClient = "No"
        txtAdminFromClient = "No"
        txtAdminExecuted = "No"
    Else
        txtAdminQuote = "N/A (internal client)"
        txtAdminToLegal = "N/A (internal client)"
        txtAdminToClient = "N/A (internal client)"
        txtAdminFromClient = "N/A (internal client)"
        txtAdminExecuted = "N/A (internal client)"
    End If

其中ExternalClient是包含外部客户端Y / N的组合框的名称(是否需要作为控件源?),AdminQuote,AdminToLegal等是我要填充的字段的名称。
我有什么想法,我做错了什么?感谢。

1 个答案:

答案 0 :(得分:0)

您可以通过VBA处理此问题

1-在设计模式下打开表单并右键单击您的组合框

2-单击“属性”,然后选择“事件选项卡”

3-更新事件后的事件添加类似于以下代码的代码:

Private Sub cmbExternalLink_AfterUpdate() If cmbExternalLink.Value = "Yes" Then txtQuoteGenerated = "Yes Value" txtServiceContractExecuted = "Yes Value" Else txtQuoteGenerated = "No Value" txtServiceContractExecuted = "No Value" End If End Sub

享受它