Dataset
Zuletzt geändert: 14.03.2026 11:04

Dataset #

Das Dataset-Objekt (Datenmenge) ermöglicht den Zugriff auf eine Treffermenge von gleichartigen Datensätzen. Die aktuelle Datenmenge aus der Eingabemaske ist stets im Kontext von iScript-Menübefehlen als Variable Dataset verfügbar. Es ist aber auch möglich, ein Dataset programmatisch über Client.CreateDataset zu erzeugen.

Eigenschaften #

EigenschaftTypZugriffBeschreibung
EOFBooleannur lesenTrue, wenn das Ende der Datenmenge erreicht ist
BOFBooleannur lesenTrue, wenn der Anfang der Datenmenge erreicht ist
Values[Index]Variantlesen/schreibenLesen und Setzen der einzelnen Feldwerte
DOCIDataObjectClassnur lesenZugriff auf die Datenobjektklasse
StateIntegernur lesenAktueller Modus der Datenmenge (siehe Konstanten)
IDIntegernur lesenID des aktuellen Datensatzes
QueryBuilderIQueryBuildernur lesenZugriff auf den QueryBuilder der Datenmenge
UserVarsIUserVarsnur lesenZugriff auf die Benutzervariablen

Methoden #

MethodeBeschreibung
FirstWechselt zum ersten Datensatz
PriorWechselt zum vorhergehenden Datensatz
NextWechselt zum nächsten Datensatz
LastWechselt zum letzten Datensatz

Bearbeitung #

MethodeBeschreibung
SearchWechselt in den Sucheingabe-Modus
PostSpeichert die aktuellen Änderungen oder startet die Suche
AppendFügt einen neuen Datensatz an
ClearLöscht die Suchmaske
EditWechselt in den Änderungsmodus
CancelBricht das Ändern oder Blättern ab
DeleteLöscht den aktuellen Datensatz
CloseSchließt die Datenmenge
RefreshCurrentAktualisiert den aktuellen Datensatz aus der Datenbank

Sonstige #

MethodeBeschreibung
SaveCurrentLink(Target)Speichert eine Verknüpfung (.cnlnk-Datei) zum aktuellen Datensatz
Update(Fields, Values, Options)Aktualisiert mehrere Felder gleichzeitig

Konstanten – DatasetState #

KonstanteWertBeschreibung
cnStateInactive0Die Datenmenge ist inaktiv und nicht verwendbar
cnStateUnknown1Der Status ist nicht zu ermitteln
cnStateEditing2Der aktuelle Datensatz wird editiert (nach Aufruf von Edit)
cnStateBrowsing3Die Menge befindet sich im Blättermodus. First, Next, Prior und Last sind möglich
cnStateInserting4Ein Datensatz wird eingefügt (nach Append)
cnStateSearchEditing5Der Suchmodus ist aktiv (nach Search). Über Values(Feldname) kann der Suchtext hinterlegt werden

Beispiele #

Adress-Suche #

In diesem Beispiel wird eine neue Adress-Datenmenge erzeugt und Telefonnummern aus Wiesbaden gesucht. Falls entsprechende Adressen gefunden wurden, wird der erste Matchcode angezeigt.

Option Explicit

Dim ds
Set ds = Client.CreateDataset("Eulanda.Adresse")
ds.Search
ds.Values("Tel") = "0611-*"
ds.Post

If ds.EOF Then
  ellib.ShowMessage "Es sind keine Adressen mit Wiesbadener Vorwahl vorhanden"
Else
  ellib.ShowMessage CStr(ds.Values("Match"))
End If

Durch alle Datensätze blättern #

Option Explicit

Dim ds, anzahl
Set ds = Client.CreateDataset("Eulanda.Artikel")
ds.Search
ds.Post

anzahl = 0
Do While Not ds.EOF
  anzahl = anzahl + 1
  ds.Next
Loop

ellib.ShowMessage "Anzahl Artikel: " & CStr(anzahl)

Verknüpfung auf dem Desktop speichern #

Dim WshShell, DesktopFolder, LinkFile
Set WshShell = CreateObject("WScript.Shell")
DesktopFolder = WshShell.SpecialFolders("Desktop")

LinkFile = DesktopFolder & "\Verknüpfung.cnlnk"
Dataset.SaveCurrentLink LinkFile

Siehe auch #