自动插入值的 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,这样处理此类情况会更加顺利。
在要填写 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,这样处理此类情况会更加顺利。