VBA Access 2016. Работа с Recordset
Формулировка задачи:
Доброго времени суток, в общем передо мной стоит задача: есть таблица с данными (lab3) из неё надо сделать запрос SELECT
и записать его результат в другую таблицу (lab3_1). Условие для запроса берется из текстового поля формы. Набросал код, но не работает SELECT. Составлен вроде правильно, но не работает. Исходная и конечная таблицы одинаковы.
Листинг программы
- Dim rs As DAO.Recordset, fld As Field
- selectSQL = "SELECT * FROM lab3 WHERE rnd1 = '" & Me.exp & "'" ' exp - переменная из формы
- Set rs = CurrentDb.OpenRecordset(selectSQL)
- Dim myDb As Database
- Set myDb = CurrentDb()
- Dim myTab As TableDef
- Set myTab = myDb.CreateTableDef("lab3_1")
- Dim myF As Field
- Set myF = myTab.CreateField("ID", dbLong)
- myTab.Fields.Append myF
- Set myF = myTab.CreateField("rnd1", dbText)
- myTab.Fields.Append myF
- Set myF = myTab.CreateField("rnd2", dbText)
- myTab.Fields.Append myF
- myDb.TableDefs.Append myTab
- Application.RefreshDatabaseWindow
- If rs.EOF And rs.BOF Then 'Проверка на пустоту
- MsgBox ("Пусто")
- End If
- Do Until rs.EOF
- 'DoCmd.RunSQL "INSERT INTO lab3_1 (ID, rnd1, rnd2)" & "VALUES ('" & rs("ID") & "','" & rs("rnd1") & "','" & rs("rnd2") & "');"
- 'For Each fld In rs.Fields: Debug.Print rs(fld): Next fld
- rs.MoveNext
- Loop
Пишет, что Recordset пуст, хоть записи там точно должны быть (попадают под условия запроса)
Решение задачи: «VBA Access 2016. Работа с Recordset»
textual
Листинг программы
- selectSQL = "SELECT * FROM lab3 WHERE rnd1 LIKE '" & Me.exp & "*'"
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д