Sub proba1()

Dim aa As Variant

Dim bb As Variant

aa = GetHireDate(4, bb)

If aa = SUCCESS Then

MsgBox "All oK " & vbLf & bb

Else

MsgBox "NotGood"

End If

End Sub

___________________________________________________________________

Function GetHireDate(StudKey As Long, varHireDate As Variant) As Integer

Dim rstStud As Recordset, dbs As Database

Dim path As String

path = ActiveWorkbook.path

On Error GoTo ErrorHandler

Set dbs = OpenDatabase(path + "\DBproba2.mdb")

Set rstStud = dbs.OpenRecordset("stud", dbOpenTable)

rstStud.Index = "key_stud"

rstStud.Seek "=", StudKey

If rstStud.NoMatch Then

varHireDate = Null

GetHireDate = ERR_NOMATCH

Exit Function

Else

varHireDate = rstStud!birthday_stud

GetHireDate = SUCCESS

Exit Function

End If

ErrorHandler:

Select Case Err

Case 0

Exit Function

Case Else

varHireDate = Null

GetHireDate = FAILD

MsgBox "Error " & Err & ": " & Error, vbOKOnly, "ERROR"

Exit Function

End Select

End Function

Свойство Index должно быть установлено до начала использования метода Seek

Создание набора при помощи запроса

Можно создать набор записей при помощи хранимого запроса на выборку (типа SELECT)

Dim dbs As Database, rstProducts As Recordset

Set dbs = OpenDatabase("Northwind.mdb")

Set rstProducts = dbs.OpenRecordset("Текущий перечень изделий")

Если хранимого запроса нет, то вместо имени запроса воспринимается строка SQL

Dim dbs As Database, rstProducts As Recordset

Set dbs = OpenDatabase("Northwind.mdb")

strQuerySQL = "SELECT * FROM Изделия " _

& "WHERE Прекращен = No " _

& "ORDER BY НазваниеИзделия;"

Set rstProducts = dbs.OpenRecordset(StrQuerySQL)

Недостаток - строка запроса должна компилироваться при каждом исполнении

Пример исключения данного недостатка

Dim dbs As Database

Dim rstProducts As Recordset

Dim qdf As QueryDef

Set dbs = OpenDatabase("Northwind.mdb")

Set qdf = dbs.CreateQueryDef("SalesRepQuery")

qdf.SQL = "SELECT * FROM Служащие " _

& "WHERE Должность = 'Торговый агент' "

Set rstProducts = dbs.OpenRecordset(SalesRepQuery)

_________________________________________________________


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



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