#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] ...