Daten Und Datasets
Zuletzt geändert: 02.03.2026 11:47

Daten und Datasets #

Funktionen zum Arbeiten mit EULANDA-Datenobjekten, Datensätzen und dem aktuellen Bildschirmkontext.

GetCurrentDocID #

GetCurrentDocID(DOC: String): Integer

Gibt die ID des aktuell in der Eingabemaske angezeigten Datensatzes zurück. Als DOC kann der Alias (z.B. “AD”, “AF”, “RE”) oder der vollständige Klassenname (z.B. “Eulanda.Adresse”) angegeben werden.

Dim id
id = ellib.GetCurrentDocID("RE")
If id > 0 Then
  MsgBox "Aktuelle Rechnung: ID = " & CStr(id)
End If

Rückgabewerte bei Fehler:

WertBedeutung
-1Ungültige Objektklasse (wirft Fehler bei ErrorLevel 1)
-2Kein Modul geöffnet
-3Kein Datensatz ausgewählt (z.B. im Suchmodus)

GetCurrentDocIDEx #

GetCurrentDocIDEx(DOC: String, Options: String): Integer

Erweiterte Version mit konfigurierbarem Fehlerverhalten über den ErrorLevel-Parameter.

' Ohne Fehlermeldungen (stille Prüfung)
Dim id
id = ellib.GetCurrentDocIDEx("AF", "ErrorLevel=0")
If id > 0 Then
  ' Auftrag ist ausgewählt
End If
ErrorLevel-BitPrüfung
1Fehler bei ungültiger Objektklasse
2Fehler wenn kein Modul geöffnet
4Fehler wenn kein Datensatz ausgewählt

GetDocTestId #

GetDocTestId(DOC: String): Integer

Gibt die ID des aktuellen Datensatzes zurück. Falls kein Modul geöffnet ist, wird die ID des zuletzt angelegten Datensatzes verwendet. Nützlich für Tests und Debugging.

' Funktioniert auch ohne geöffnetes Modul
Dim id
id = ellib.GetDocTestId("RE")
MsgBox "Test-Rechnung: ID = " & CStr(id)

DocProperty #

DocProperty(DOC: String, Property: String): String

Gibt eine Eigenschaft einer Objektklasse zurück.

Dim tbl, name
tbl = ellib.DocProperty("AF", "Tablename")     ' z.B. "Auftrag"
name = ellib.DocProperty("AF", "FriendlyName")  ' z.B. "Auftrag"
MsgBox "Tabelle: " & tbl & ", Name: " & name
PropertyBeschreibung
"Name"Vollständiger Klassenname (z.B. “Eulanda.Auftrag”)
"Alias"Kurzname (z.B. “AF”)
"Tablename"SQL-Tabellenname
"FriendlyName"Anzeigename (Singular)
"FriendlyNamePlural"Anzeigename (Plural)

GetIdFromDataset #

GetIdFromDataset(Dataset: Object, DOC: String, Mode: String): Integer

Ermittelt die ID eines bestimmten Dokumenttyps aus einem Dataset. Funktioniert auch aus Positionsdatensätzen heraus (gibt dann die Kopf-ID zurück).

Dim id
id = ellib.GetIdFromDataset(Dataset, "AF", "BROWSE")
If id > 0 Then
  MsgBox "Auftrags-ID: " & CStr(id)
End If

Unterstützte Dokumenttypen: AN (Angebot), AF (Auftrag), LF (Lieferschein), RE (Rechnung), KF (Bestellung), LL (Lagerbelege).

ObjFromRecordset #

ObjFromRecordset(RS: Recordset): Object

Erzeugt aus einem ADO-Recordset ein Objekt, dessen Properties den Feldnamen entsprechen. Ermöglicht eine bequeme Punkt-Notation statt RS.Fields("Name").Value.

Dim obj
Set obj = ellib.ObjFromRecordset(Client.ExecuteSql( _
  "SELECT Match, PLZ, Ort FROM Adresse WHERE Id = 956"))
MsgBox obj.Match & " - " & obj.PLZ & " " & obj.Ort

ObjFromSql #

ObjFromSql(SQL: String): Object

Kurzform von ObjFromRecordset – führt die SQL-Abfrage direkt aus.

Dim obj
Set obj = ellib.ObjFromSql("SELECT Match, Ort FROM Adresse WHERE Id = 956")
MsgBox obj.Match & " aus " & obj.Ort