2016-09-07 113 views
1

我試圖在Access中創建一個表單,在那裏我將有一個「搜索鍵入」功能來查找客戶,然後雙擊列表框中的正確匹配以更新客戶信息文本框。我成功了「搜索輸入」部分,但不是列表框雙擊更新表單部分。爲什麼我在此VBA中爲Access代碼獲取錯誤代碼?

我不斷收到以下錯誤RunSQL:「A RunSQL語句需要由SQL語句的參數」

的事情是,在SQL語句中的查詢工作得很好。

下面的代碼:

Private Sub lstClient_DblClick(Cancel As Integer) 
    Dim selectedItem, strSQL, strSQL1 As String 
    Dim i As Integer 

    i = lstClient.ListIndex 
    selectedItem = lstClient.ItemData(i) 
    txtCustName.Value = selectedItem 

    strSQL = "SELECT tblClient.[Addresse] FROM tblClient WHERE tblClient.[Nom] ='" & selectedItem & "';" 

    strSQL1 = "SELECT tblClient.[Addresse] FROM tblClient WHERE tblClient.[Nom] ='Bernache Funeral home';" 

    DoCmd.RunSQL (strSQL1) 
    Text191.Value = strSQL1 
End Sub 

第二條語句(strSQL1)是一個我在查詢試圖以確保它的工作,它做到了。

提前致謝!

+0

'RunSQL'是更新,插入和刪除。您想要打開一個記錄集或使用其他一些機制來選擇數據。 –

+0

通過使用其他人的代碼並刪除RunSQL語句,我現在就開始工作了,謝謝! –

回答

1

試着這麼做

Dim db As Database 
Dim rs As DAO.Recordset 

Set db = CurrentDb 
Set rs = db.OpenRecordset(strSQL1) 
Text191.Value = rs.Fields("Addresse").Value 

Set rs = Nothing 
Set db = Nothing 
+0

我收到一個新的錯誤消息:「Ms Access數據庫引擎找不到輸入表或查詢,請確保它存在並且其名稱拼寫正確」 –

+0

我必須刪除RunSQL行並進行一些修改,但現在它正在工作。非常感謝!這個解決方案在Google上很難找到......我嘗試了許多資源「MS在VBA中訪問SQL」以及類似的東西。 謝謝! –

+0

是不是把值放在「Text191.Value = rs.Fields(」Addresse「)結尾的值。 它現在沒有工作 –

相關問題