Public Function DLookup(Pole As String, Tabela As String, Optional ByVal Uslov As Variant) As Variant On Error Resume Next Dim rsdl As ADODB.Recordset Dim strsql As String If IsNull(Uslov) Or Uslov = "" Then strsql = "SELECT " & Tabela & "." & Pole & " FROM " & Tabela Else strsql = "SELECT " & Tabela & "." & Pole & " FROM " & Tabela & " WHERE ((" & Tabela & "." & Uslov & "))" End If Set rsdl = cn.Execute(strsql) If Not (rsdl.EOF And rsdl.BOF) Then rsdl.MoveFirst DLookup = rsdl(Pole).Value Else DLookup = "" End If End Function