2016-09-07 3 views
1

Я пытаюсь создать форму в Access, где у меня будет функция «поиск по мере ввода», чтобы найти клиента, а затем я дважды щелкнул правильное совпадение в списке, чтобы обновить текстовые поля информации о клиентах , Мне удалось выполнить «поиск по мере ввода», но не часть формы с двойным щелчком по списку.Почему у меня есть код ошибки в этом коде VBA для доступа?

Я получаю следующее сообщение об ошибке: RunSQL «Оператор 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

Я получаю сообщение об ошибке msg: «Ms Access DB engine не может найти входную таблицу или запрос. Убедитесь, что она существует и что ее имя написано правильно» –

+0

Мне пришлось удалить строку RunSQL и внести некоторые изменения, но теперь она работает , Большое спасибо! Решение было так сложно найти в Google ... Я пробовал много ресурсов «MS Access SQL в VBA» и тому подобное. Спасибо! –

+0

Неправильно не ставить. Значение в конце «Text191.Value = rs.Fields (« Addresse »). Значение« ?? Работает прямо сейчас –