Ms access 组合框值自动更新

Ms access 组合框值自动更新,ms-access,ms-access-2007,Ms Access,Ms Access 2007,希望有人能帮忙 表格结构如下: tblCompany: compID compName tblOffice: offID, compID, add1, add2, add3 etc... tblEmployee: empID Name, telNo, etc... offID 我有一个表格,其中包含了员工的联系方式,所有工作都可以在更新后使用。 级联组合框cmbComp允许我选择一家公司,并在内部选择适当的办公室cboOff,并正确更新相应的tblEmploye

希望有人能帮忙

表格结构如下:

tblCompany:   
compID
compName

tblOffice:  
offID,
compID,   
add1, add2, add3 etc...

tblEmployee:   
empID
Name, telNo, etc...   
offID
我有一个表格,其中包含了员工的联系方式,所有工作都可以在更新后使用。 级联组合框cmbComp允许我选择一家公司,并在内部选择适当的办公室cboOff,并正确更新相应的tblEmployee.offID字段。地址字段也会自动更新

cmbComp:行源

SELECT DISTINCT tblOffice.compID, tblCompany.compID 
FROM tblCompany 
INNER JOIN AdjusterCompanyOffice 
ON tblCompany.compID=tblOffice.compID 
ORDER BY tblCompany.compName; 
SELECT tblCompany.offID, tblCompany.Address1, 
tblCompany.Address2, tblCompany.Address3, tblCompany.Address4, 
tblCompany.Address5 
FROM tblCompany 
ORDER BY tblCompany.Address1; 
cboOff:RowSource

SELECT DISTINCT tblOffice.compID, tblCompany.compID 
FROM tblCompany 
INNER JOIN AdjusterCompanyOffice 
ON tblCompany.compID=tblOffice.compID 
ORDER BY tblCompany.compName; 
SELECT tblCompany.offID, tblCompany.Address1, 
tblCompany.Address2, tblCompany.Address3, tblCompany.Address4, 
tblCompany.Address5 
FROM tblCompany 
ORDER BY tblCompany.Address1; 
我遇到的问题是,当我加载新记录时,如何检索数据并自动加载cmbComp和文本字段

cboOff组合框正确加载,因为它的控制源是offID

我想一定有办法在打开记录时设置值?但不知道怎么办。我想我不能设置controlsource cmbComp或文本字段,或者可以吗

任何正确方向的帮助/指示都将受到感谢,我们一直在寻找一种方法来实现这一点,但却一事无成

-编辑

我尝试添加以下内容来控制文本字段

=[Forms]![frmAdjPersonalDetails]![cboAdjOff].[Column](2)
这在获取值时起作用,但会导致用于创建级联组合框和更新文本字段的after Update出错

Private Sub cmbComp_AfterUpdate()
Me.cboOff.RowSource = "SELECT ID, Address1, Address2, Address3, Address4, Address5        FROM" & _
 " tblOffice WHERE CompID = " & Me.cmbComp & _
" ORDER BY Address1"
 Me.cboAdjOff = Me.cboAdjOff.ItemData(0)
Me.txtAdd2 = Me.cboOff.Column(2)
Me.txtAdd3 = Me.cboOff.Column(3)
Me.txtAdd4 = Me.cboOff.Column(4)
Me.txtAdd5 = Me.cboOff.Column(5)
End Sub

不确定要做什么???

如果我理解正确,您正在寻找“重新查询”语句。 这将“刷新”组合框或表单中的数据。 你可以放一个

 Me.Requery 
在相关事件处理程序中。如果我没记错的话,可能是“AfterUpdate”。

试试看

组合框中的行源=

“从表中选择不同的表。字段;”


在表中查找所有唯一的值,然后将它们转换为一个长下拉菜单。

不,对不起,不是我。据我所知,重新查询会重新加载整个记录。我想知道的是,;当我在记录之间移动时,控制级联组合框和由它更新的相关字段都是空的。我不知道在表单上打开记录时如何填充这些字段。这有意义吗??不管怎样,谢谢你的回复。我使用form_current()并在那里设置了值。通过Loopo感谢您的帮助。使用Me.NameOfCombo.Requery单独重新查询组合。我不清楚这如何解决实际问题的任何部分。