Я ищу способ создать таблицу при открытии формы. Таблица должна быть создана только один раз. Поэтому, если оно существует, новое не должно быть создано. В той же форме я хотел бы сохранить некоторые данные из поля со списком в созданной таблице. Для этого я попытался использовать код:
Sub ViaVBA()
Const strSQLCreateFoo_c As String = _
"CREATE TABLE Foo" & _
"(" & _
"MyField1 INTEGER," & _
"MyField2 Text(10)" & _
");"
Const strSQLAppendBs_c As String = _
"INSERT INTO Foo (MyField1, MyField2) " & _
"SELECT Bar.MyField1, Bar.MyField2 " & _
"FROM Bar " & _
"WHERE Bar.MyField2 Like 'B*';"
If Not TableExists("foo") Then
CurrentDb.Execute strSQLCreateFoo_c
End If
CurrentDb.Execute strSQLAppendBs_c
End Sub
Private Function TableExists(ByVal name As String) As Boolean
On Error Resume Next
TableExists = LenB(CurrentDb.TableDefs(name).name)
End Function
К сожалению, он не сохраняет выбранные значения из полей со списком. Кажется, что в таблице нет записей, и она не хочет сохранять значения. Когда я добавляю хотя бы одну запись, в комбинированных полях хранятся правильные значения.
Как создать таблицу с одной записью с некоторой фиктивной информацией, используя код, указанный выше?