2016-08-23 112 views
1

我試圖讓一個VBA代碼來運行查詢,當有人點擊按鈕。VBA運行時錯誤3129非法SQL語句

當我運行它時,它總是顯示標題中的錯誤。有人可以幫助梅斯嗎?我很感謝每一個迴應。

Option Compare Database 
Option Explicit 

Sub btnNamebox_Click() 

DoCmd.OpenForm "F-Smartphone-Hinzufuegen" 
Dim strSQL As String 
DoCmd.RunSQL (strSQL) 

strSQL = "SELECT Nachname" & _ 
"FROM tblPersonal " & _ 
"WHERE Handynummer = " & Forms![F-Smartphone-Hinzufuegen]![FKHandynummer] & ";" 

txtnamebox.Value = strSQL 

End Sub 
+0

有之間沒有空格'選擇Nachname'和'FROM tblPersonal'。 'SELECT Nachname'後面加一個空格。 –

+0

@MartinParkin不起作用。會很容易 – Vanthelost

+0

我不是在暗示這就是答案,只是我在看到你的問題時注意到的,而且確實需要改變。 'SELECT NachnameFROM tblPersonal'是無效的SQL語法。 –

回答

0

你的代碼變得毫無意義 - 你運行一個SQL語句,你定義它之前,你不能RunSQL SELECT語句反正。

使用DLookup()代替:

S = Nz(DLookup("Nachname", _ 
     "tblPersonal", _ 
     "Handynummer = " & Forms![F-Smartphone-Hinzufuegen]![FKHandynummer]), "")