Dim dbs As Database
Dim qdf As QueryDef
Dim rstStud As Recordset
Dim path As String
Dim par(2) As String
par(0) = "Петров Владимир Иванович"
par(1) = "Иванов Иван Сергеевич"
par(2) = "Иванов Василий Сергеевич"
path = ActiveWorkbook.path
Set dbs = OpenDatabase(path + "\DBproba2.mdb")
If dbs.QueryDefs.Count > 0 Then
If Not dbs.QueryDefs("FindFio").Name = "FindFio" Then
Set qdf = dbs.CreateQueryDef("FindFio")
Else
Set qdf = dbs.QueryDefs("FindFio")
End If
Else
Set qdf = dbs.CreateQueryDef("FindFio")
End If
strSQL = "PARAMETERS Param1 TEXT; "
strSQL = strSQL & "select key_stud, fio_stud from stud where fio_stud like [Param1];"
qdf.Sql = strSQL
qdf.Parameters("Param1") = "1"
Set rstStud = qdf.OpenRecordset()
For i = 0 To 2
qdf.Parameters("Param1") = par(i)
rstStud.Requery qdf
If rstStud.EOF Then
MsgBox "Nothing"
Else
Do Until rstStud.EOF
MsgBox Str(i) & " " & rstStud!fio_stud
rstStud.MoveNext
Loop
End If
Next i
'*********** FindFioFiltr rstStud
dbs.QueryDefs.Delete "FindFio"
End Sub
3. Необходимо использовать метод CreateTableDef объекта Database для создания новых объектов TableDef для каждой таблицы базы данных
Set StudTd = MyDB.CreateTableDef("stud")
Set TownTd = MyDB.CreateTableDef("town")
4. Необходимо использовать Метод CreateField для создания новых объектов Field для каждого поля в таблице и задания его свойств, определяющих размер, тип и другие атрибуты
|
|
Set StudFlds(0) = StudTd.CreateField("key_stud", dbLong)
'Делаем поле счетчиком
StudFlds(0).Attributes = dbAutoIncrField
Set StudFlds(1) = StudTd.CreateField("fio_stud", dbText)
TelFlds(1).Size = 255
Set StudFlds(2) = StudTd.CreateField("key_town", dbLong)
Set TownFlds(0) = TownTd.CreateField("key_town", dbLong)
'Делаем поле счетчиком
TownFlds(0).Attributes = dbAutoIncrField
Set TownFlds(1) = TownTd.CreateField("name_town", dbText)
TownFlds(1).Size = 255
Необходимо использовать метод Append для присоединения каждого поля к своей таблице и каждой таблицы к базе данных
For i = 0 To 1
StudTd.Fields.Append StudFlds(i)
TownTd.Fields.Append TownFlds(i)
Next i
StudTd.Fields.Append StudFlds(2)
MyDB.TableDefs.Append StudTd
MyDB.TableDefs.Append TownTd
For i = 0 To 1
Set TownFlds(i) = Nothing
Next i
Set StudFlds(2) = Nothing
MyDB.Close