表单中的Microsoft Access 2010相互依赖性(填写一个单元格,自动填充另一个单元格)

时间:2016-01-22 12:18:37

标签: vba ms-access access-vba

在excel中,我知道这是VLOOKUP函数,但是,作为Access的初学者,我不知道如何做到这一点。

我有大厅(从A到H),他们都有自己的团队领导者(例如A - > Ben,B - > Michael,C - > Dave等)。我想只选择大厅,团队领导者将自动显示在表格的下一个字段中。最后,所有人都将在表格中注册。

我目前已经构建了这个等式来填充单元格中的特定值(取决于另一个单元格的值),但是它给出了一条错误消息。我做错了什么?

Option Compare Database 

Dim db As DAO.Database 
Dim rst As DAO.Recordset

Private Sub Hal_AfterUpdate() 
    Set db = CurrentDb    
    'SELECT Voormannen.Voorman, Voormannen.Hal 
    'FROM Voormannen 
    'WHERE (((Voormannen.Hal)=[Formulieren]![DSM formulier]![Hal]));

    strSQL = "SELECT Voormannen.Voorman, Voormannen.Hal FROM Voormannen WHERE [Voormannen]![Hal]=[Forms]![DSM formulier]![Hal]" 
    Set rst = db.OpenRecordset(strSQL)
    rst.MoveFirst
    Me.Tekst304 = rst![Voorman]
    rst.Close 

    Set rst = Nothing 
    Me.Refresh 
End Sub

1 个答案:

答案 0 :(得分:1)

假设您的SQL字符串返回正确的数据集,请尝试替换它:

Me.Tekst304 = rst![Voorman]

用这个:

Me.Tekst304.Text = rst(“Voorman”)

如果您的SQL字符串未返回正确的数据集,请尝试将其更改为:

strSQL = "SELECT Voorman, Hal FROM Voormannen " & _
"WHERE Hal = '" & Forms![DSM formulier]!Hal.Text & "'"

您需要用&符号围绕您的控件参考(&),否则VBA不知道您正在引用控件。