Sub find_fio()

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: