2016-01-22 129 views
-2

在excel中,我知道這是VLOOKUP函數,但是,作爲Access的初學者,我不知道如何執行此操作。表單中的Microsoft Access 2010依賴關係(填寫一個單元格,自動填充另一個單元格)

我有大廳(從A到H),他們都有自己的teamleader(例如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 
+0

您可以使用_DLookup_來做到這一點。查看在線幫助。 – Gustav

+0

指出生成錯誤消息的代碼行真的很重要。我敢打賭,錯誤是由於> WHERE [Voormannen]![Hal] = [Forms]![DSM formulier]![Hal]「<我認爲你需要:> WHERE [Voormannen]![Hal] ='」 &[Forms]![DSM formulier]![Hal]&「'」<如果該字段爲字母數字,則需要在該值周圍引用引號(或單引號)。 –

+0

感謝古斯塔夫和韋恩! – Thijsk

回答

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不知道您正在引用控件。

相關問題