自动插入值的 MS Access 表单

MS Access form with value inserted automatically

在要填写 2 个条目的 MS Access 表单上,从 2 个表中存在的值,我想转到以下内容: 前 2 个条目具有从组合框中检索的值,我希望在第 3 个条目中,使用前一个条目的信息自动插入值,可能按下与宏关联的按钮(或其他方式)

TABLE CITIES   
-----------------------------
Town        |   Abbreviation   
------------+---------------- 
New York    |   NY    
Los Angeles |   LA


TABLE COUNTRIES    
-----------------------------   
Country |   Abbreviation   
--------+--------------------   
France  |      FR
Italy   |      IT

示例:

第一次进入 --> 城镇:纽约

第二次参赛 --> 国家:意大利

第 3 个条目 --> NY-IT

如何实现?我怎样才能放置一个与查询关联的按钮,而不是组合框(在这种情况下,这是最好的方法)

使用组合框的第 属性 列。例如:

第一个组合

 SELECT Id, Town, Abbreviation

第二个组合

 SELECT Id, Country, Abbreviation

您现在需要为每个组合创建一个 AfterUpdate 事件,比如说

 Me.3rdText = Me.1stCombo.Column(2) & "-" & Me.2ndCombo.Column(2)

列从零开始计数,但是,ColumnCount 属性 在这两种情况下都是 3(即 0,1,2=3)。您必须确保列数和列宽正确。

只是扩展@Fionnuala 提到的内容。我会把它放在验证中,因为你不想要像 NY--IT 这样的值,所以只有当两个组合框都被填充时,代码才会有 NY-IT

Private Sub firstCombo_AfterUpdate()
    updateCombo
End If

Private Sub secondCombo_AfterUpdate()
    updateCombo
End If

Private Sub updateCombo()
    If Me.firstcombo.ListIndex = -1 Or Me.secondCombo.ListIndex = -1 Then
        Me.thirdcombo = vbNullString
    Else
        Me.thirdCombo = Me.firstcombo.Column(2) & "-" & Me.secondCombo.Column(2)
    End If
End sub

我很确定纽约不在意大利,所以可能需要进行适当的验证。还有为什么第三个需要是 ComboBox?它不能是一个简单的文本框吗?

除此之外,您可能还想查看 Cascading CombobBoxes,这样处理此类情况会更加顺利。