Sub SetProperty(strName As String, vValue As Variant)
Dim prpNew As Property
Dim errLoop As Error
' Делает попытку задать значение указанного свойства.
On Error GoTo Err_Property
If IsNumeric(vValue) Then
CurrentDb.Properties(strName) = Nz(vValue, 0)
Else
CurrentDb.Properties(strName) = Nz(vValue, " ")
End If
On Error GoTo 0
Exit Sub
Err_Property:
' Ошибка 3270 означает, что свойство не найдено.
If DBEngine.Errors(0).Number = 3270 Then
' Создает свойство, задает его значение и добавляет
' свойство в семейство Properties.
Set prpNew = CurrentDb.CreateProperty(strName, dbText, vValue)
CurrentDb.Properties.Append prpNew
Resume Next
If IsNumeric(vValue) Then
CurrentDb.Properties(strName) = Nz(vValue, 0)
Else
CurrentDb.Properties(strName) = Nz(vValue, " ")
End If
Else
' При возникновении другой ошибки выводит сообщение.
For Each errLoop In DBEngine.Errors
MsgBox "Код ошибки: " & errLoop.Number & vbCr & errLoop.Description
Next errLoop
End
End If
End Sub
Function GetProperty(strName As String)
On Error GoTo Err_GProperty
GetProperty = CurrentDb.Properties(strName).value
Exit Function
Err_GProperty:
End Function
|