Ошибка времени выполнения 3265 при получении информации о таблице

#ms-access #vba #ms-access-2010

#ms-access #vba #ms-access-2010

Вопрос:

я получаю ошибку 3265 во вторых формах! строка строки txtpsid работает нормально. Queue, caseid и repwrkdt являются допустимыми полями в таблице….

 Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim sqlstr, sqlstr2 As String

Set db = CurrentDb()

sqlstr = "Select [RepID] From [TblFromRandomizer] Where Isnull ([Status])"

Set rs = db.OpenRecordset(sqlstr)

    Forms![FrmRcsQualityTool]![TXTPsid] = rs.Fields("RepID").Value
    Forms![FrmRcsQualityTool]![CMBQueue] = rs.Fields("Queue").Value
    Forms![FrmRcsQualityTool]![TXTItem] = rs.Fields("CaseID").Value
    Forms![FrmRcsQualityTool]![TXTItemdate] = rs.Fields("RepWrkDt").Value

Call search
  

Комментарии:

1. Каков текст этой ошибки?

2. Ошибка выполнения-tinme ‘3265’: элемент не найден в этой коллекции, я проверил все поля и их написание (фактически скопировав имя поля и вставив в код vba)

3. Прервитесь на этой строке, отметьте правую часть назначения и нажмите Shift F9 или скопируйте его в ближайшее окно, предварите вопросительным знаком и нажмите enter. Что происходит?

Ответ №1:

Поле [Queue] отсутствует в наборе записей, потому что вы не включили его в инструкцию SELECT. Когда вы запускаете свой SQL-код, вы извлекаете только поле [RepID]. Вам необходимо добавить другие поля в список столбцов в вашей инструкции SQL, например,

 SELECT [RepID], [Queue], [CaseID], [RepWrkDt] FROM [TblFromRandomizer] ...