У меня есть запрос, который содержит нужные мне данные, но мне нужно получить данные из запроса в формате
номер объекта - идентификатор сотрудника
номер объекта - идентификатор сотрудника
номер объекта - идентификатор сотрудника
И так далее... Я пытался написать свой код, как показано ниже, но получаю ошибку компиляции
'Ошибка компиляции:
Несоответствие типов'
Эта ошибка выдается на &
Как правильно получить данные из настройки запроса в нужном мне формате? Полная картина, я хочу получить данные из запроса в формате XXXX - XXXX, чтобы я мог использовать их в теле письма, которое я генерирую в своем коде VBA.
Dim en() As String
Dim ei() As String
Set rs = db.OpenRecordset("qryData")
If Not (rs.BOF And rs.EOF) Then
rs.MoveLast
rs.MoveFirst
While (Not rs.EOF)
en = en & vbCrLF & Space(7) & rs![public systems.entity number]
ei = ei & vbCrLF & Space(7) & rs![public systems.employee id]
rs.MoveNext
Wend
End If
если я добавлю в .ToString - я все еще получаю ошибку компиляции в &
Вы работаете с массивом, не так ли? : en(counter) = vbCrLF & Space(7) & rs![public systems.entity number].ToString. counter = 0 к количеству записей
Используя код, который вы предложили выше, я получаю ошибку отладки ошибки времени выполнения «424»: Object Required on my Set rs = .... line
en(0) = vbCrLF & Space(7) & rs![public systems.entity number].ToString Если вы замените en на en(0), в качестве начала .
Все еще ошибка объекта требуется в строке Set rs.....
Мы говорим о VBA, верно?
Да — доступ к VBA
Сначала сделайте так, чтобы ваш массив работал правильно без набора записей, используя некоторые жестко запрограммированные строки, а затем добавьте набор записей.
I am wanting to get the data from the query in the XXXX - XXXX format so I can use it in the body of an email
Это не массив, поэтому используйте строку:
Dim rs As DAO.Recordset
Dim en As String
Dim ei As String
Set rs = CurrentDb.OpenRecordset("qryData")
If Not (rs.BOF And rs.EOF) Then
rs.MoveLast
rs.MoveFirst
While Not rs.EOF
en = en & vbCrLF & Space(7) & rs![public systems.entity number].Value
ei = ei & vbCrLF & Space(7) & rs![public systems.employee id].Value
rs.MoveNext
Wend
End If
rs.Close
Используя код, который вы предложили выше, я получаю ошибку отладки ошибки времени выполнения «424»: Object Required on my Set rs = .... line
Это невозможно. Я думаю, вы пропустили CurrentDb.
вы добавляете объект набора записей в строковый объект. Не знаю наизусть, но rs![public systems.entity number].ToString невозможен