15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту




Быстрый поиск в базе данных

Visual Basic не имеет процедуры наподобие функции DLookUp в Access. Следующую функцию можно использовать в VB для получения имени (Name) объекта по ID:

Public Function MyDLookUp(Column As _
        String, TableName As String, _
        Condition As String) As Variant
Dim Rec As Recordset
On Error GoTo MyDlookUp_Err

' gCurBase это глобальная переменная, хранящая
' текущую открытую базу данных
Set Rec = gCurBase.OpenRecordset_
        ("Select * From " & TableName)
Rec.FindFirst Condition
If Not Rec.NoMatch Then
        ' возвращает запрошенное поле, удовлетворяющее запросу
        MyDLookUp = Rec(Column)
        Exit Function
End If

' если нет совпадений, то возвращает -1, либо другую ошибку
MyDlookUp_Err:
        MyDLookUp = -1
End Function