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:
| Wert | Bedeutung |
|---|---|
| -1 | Ungültige Objektklasse (wirft Fehler bei ErrorLevel 1) |
| -2 | Kein Modul geöffnet |
| -3 | Kein 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-Bit | Prüfung |
|---|---|
| 1 | Fehler bei ungültiger Objektklasse |
| 2 | Fehler wenn kein Modul geöffnet |
| 4 | Fehler 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
| Property | Beschreibung |
|---|---|
"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