Hallo!
Mit folgendem Code lasse ich mir aus einer Ansicht den Feldinhalt "UNID" des Dokuments holen:
| Dim AkteID As Variant |
| AkteID = SY_DBLookup(db.filepath, "(KreditaktenKdNr)",doc.Kundennummer(0),"UNID") |
| If AkteID(0) = "" Then |
| Msgbox("Es existiert keine Kreditakte zur angegebenen Kundennummer!"), 64, "Hinweis" |
| Exit Sub |
| End If |
Funktion:
| Function SY_DbLookup( Datenbank As String, Ansicht As String, Suchbegriff As String, Feldname As String ) As Variant |
| . |
| . |
| . |
| Set DOK = VIEW.GetDocumentByKey( Suchbegriff, True ) |
| If DOK Is Nothing Then |
| SY_DbLookup = "" |
| Exit Function |
| End If |
| |
| SY_DbLookup = DOK.GetItemValue( Feldname ) |
| End Function |
Sofern der Suchbegriff in der Ansicht gefunden wird, funktioniert alles wunderbar.
Das Ergebnis von AkteID ist ein Variant, die If-Abfrage wird durchlaufen.
Wird der Suchbegriff aber nicht gefunden, enthält AkteID nur den String "", bei der If-Abfrage erscheint daher der Fehler "Variant enthält keinen Container".
Wie kann ich meine Funktion dahingehend ändern, dass mir bei der Zeile
SY_DbLookup = ""ebenfalls ein Variant zurückgegeben wird?
Gruß
Bille