#vba #ms-access
#vba #ms-access
Вопрос:
Мой код:
Public Sub ImportCommonFields()
Set rs1 = CurrentDb.OpenRecordset("Imported Table" amp; " " amp; TableCtr)
Set cf = CurrentDb.OpenRecordset("CommonFields")
cf.AddNew
cf("FieldNames") = rs1.Fields
cf.Update
Set fld = Nothing
End Sub
В настоящее время я получаю имена столбцов (полей) из таблицы в rs1 и хотел бы импортировать их в существующую таблицу «CommonFields» в столбце «Имена полей».
Комментарии:
1. Не совсем понятно, что вы хотите сделать. Вы хотите добавить запись в
cf
для каждого поля вrs1
? Если это так, то вам нужно перебратьrs1
поля и вызватьcf.AddNew
для каждого поля.2. Вы хотите сохранить имена полей одной таблицы в одном столбце другой таблицы? Почему — какова конечная цель?
3. Я думаю, что OP просто хочет добавить записи из таблицы определенного столбца в другую таблицу.
4. Привет, ребята, правильно. Таблица Импортированная таблица всегда будет меняться, и я хотел бы сохранить все имена столбцов всех таблиц, которые были импортированы
Ответ №1:
Цикл сбора полей:
Public Sub ImportCommonFields()
Dim fld As DAO.Field
Set rs1 = CurrentDb.OpenRecordset("Imported Table" amp; " " amp; TableCtr)
Set cf = CurrentDb.OpenRecordset("CommonFields")
For Each fld In rs1.Fields
cf.AddNew
cf("FieldNames").Value = fld.Name
cf.Update
Next
cf.Close
rs1.Close
Set fld = Nothing
End Sub