ABES/Objects COM-Server
Referenzhandbuch für Anwendungsentwickler

Home



Einleitung

Der AOComServer erlaubt einen uneingeschränkten Zugriff auf das Klassenmodell, die Geschäftslogik und die Datenobjekte von ABES/Objects.

Er steht in zwei Varianten zur Verfügung:

AOComServer  Zur Entwicklung von Browser-basierten Internetanwendungen:
Es wird nur eine einzige Instanz dieses Objektes erzeugt, mit der sich beliebig viele Clients verbinden können, die alle den gleichen Datenbestand nutzen.
AOComLocalServer   Zur Entwicklung von lokalen Anwendungen:
Für jeden Client wird eine eigene Instanz dieses Objektes erzeugt, die jeweils mit einer anderen Datenbank verbunden werden kann.

Die Verwendung des AOComServers ist mit jedem Entwicklungssystem möglich, das Com/ActiveX-Komponenten importieren kann.

Mit dem AOComServer erstellte Anwendungen sind nicht an eine bestimmte Version von ABES/Objects gebunden. Die Investitionen in solche Anwendungen sind damit optimal geschützt. 

Durch die mit objektorientierten Systemen mögliche Polymorphie kommt der AOComServer mit sehr wenigen Komponenten aus: Ein Datenobjekt ist immer vom Typ AOObject, gleich ob es sich um einen Kurs, einen Teilnehmer oder einen Unterrichtsvertrag handelt.
Damit ist der Lernaufwand sehr gering und der erstellte Programmcode sehr kompakt und kurz. 

 

Installation


Abb.1: AOComServer im Objektkatalog von Visual Basic

  

 

Konventionen

Code-Beispiele
 
Die aufgeführten Code-Beispiele wurden mit Visual Basic for Applications (VBA) mit der Anwendung MS Excel erstellt.

Dieses Entwicklungssystem ist in jeder MS Office Version enthalten. Sie können also die Beispiele leicht an Ihrem Rechner nachvollziehen.

Dies bedeutet jedoch nicht, dass Visual Basic ein in irgendeiner Weise bevorzugtes Entwicklungssystem ist oder sich die Nutzung des ComServers auf VB beschränkt. Sie können den ComServer mit jedem Entwicklungssystem verwenden, das Com/ActiveX-Komponenten einbinden kann. 

Zur besseren Übersicht sind komplexere Beispiele teilweise nicht vollständig codiert. 
Sie erkennen dies an dem Eintrag '
...' im Programmcode. 

Vollständig codierte Beispiele zu typischen Aufgabenstellungen finden Sie im Forum zum AOComServer.

  

Logische Werte
 
Der Datentyp Boolean (True oder False) ist in der Definition der Windows-Com-Schnittstelle nicht vorgesehen.
Logische Werte werden deshalb mit dem Datentyp Integer und dem Wertebereich 0 und 1 repräsentiert.

Dabei gilt: True entspricht 1 und false entspricht 0

Beispiel:
 

Statt
If AOAnmeldungen.hitbottom then ... schreiben Sie  If AOAnmeldungen.hitbottom = 1 then ...

  

Namenspfade
 
Der Zugriff auf bestimmte Eigenschaften eines Datenobjektes erfolgt über sogenannte Namenspfade.

Beispiel:
 

AOAnmeldung ist ein Datenobjekt vom Typ "Anmeldung". 

Sie benötigen den Klassenraum des Kurses zu dem die Anmeldung gehört. Die Anmeldung ist verknüpft mit dem zugehörigen Kurs und der Kurs wiederum mit dem entsprechenden Raum. Der entsprechende Namenspfad lautet also "Anmeldung.Kurs.Raum.Name

Die entsprechende Eigenschaft können Sie also wie folgt von dem Objekt
AOAnmeldung erhalten:  

Dim AProp As AOCom.AOProperty

Set AProp = AOAnmeldung.PropertyOfName("Kurs.Raum.Name")

Die Werte für die korrekte Formulierung der Namenspfade können Sie leicht über den Klassenmodell-Browser in ABES/Objects ermitteln:


 
Um den Klassenmodell-Browser aufzurufen starten Sie ABES/Objects, gehen Sie in die entsprechende Ansicht (hier "Anmeldungen") und legen Sie beispielsweise eine neues Spaltenset an.

Navigieren Sie in der Baumstruktur (links) bis zur der gewünschten Eigenschaft und übernehmen Sie diese dann in die Auswahlliste (rechts). Verwenden Sie den entsprechenden Pfad dann in Ihrem Programmcode.

Hinweis: Der Klassenmodel-Browser wird zeitnah als eigenständiges Tool zur Verfügung stehen, das Sie unabhängig von ABES/Objects verwenden können. Das Tool wird Ihnen ermöglichen, den Namenspfad der gewünschten Eigenschaft in die Zwischenablage zu kopieren und dann darüber in den Programmcode einzufügen.

  

Hinweis zur Mehrsprachigkeit
 
ABES/Objects wird in der Zukunft mehrsprachig werden. Trotzdem sind die mit dem ComServer entwickelten Anwendungen unabhängig von der Sprachumgebung lauffähig, da für alle Eigenschaften intern mehrere Bezeichnungsebenen verwendet werden:

Jedes Daten-Objekt und jede Eigenschaft eines Objektes hat intern folgende Bezeichnungsebenen:

Name, PropertyName - Intern verwendete Bezeichnung

DisplayName               - Angezeigte Bezeichnung in Beschriftungen (Masken, Tabellenköpfe, Variable für Reports und Word-Dokumente)

ComName                    - Bezeichnung für Namenspfade zur Verwendung mit dem ComServer

Die Mehrsprachigkeit wird nur über die Bezeichnungsebene DisplayName abgebildet. Der Wert für ComName ist statisch und bleibt immer gleich.
Mit dem ComServer verwenden Sie immer die Bezeichnungsebene ComName. Ihre Anwendung wird also immer laufen und es spielt keine Rolle, welche Spracheinstellung das Zielsystem verwendet. 

     

Groß-/Kleinschreibung
 
Die Gross- und Kleinschreibung wird bei der Angabe von Text-Parametern und Namenspfaden ignoriert.

 

 

  

  

  

  

 

 

 

 

 

Komponenten

AOComServer,
AOComLocalServer
Übersicht:
AOClasses, DatabaseIP, DatabasePort, DatabasePath, SessionCount, CreateSession, cleanupCache, Disconnect 


Objekt-Fabrik von ABES/Objects. Erstellt die Verbindung zu einer Datenbank und erzeugt Sessions für die einzelnen Client-Anwendungen.

Beide Objekte sind funktional identisch und unterscheiden sich nur intern durch die Art der Instanziierung:

AOComServer
Für dieses Objekt wird immer nur eine einzige Instanz erstellt, mit der sich mehrere Clients verbinden können. Das Objekt ist vorzugsweise für Web-Anwendungen zu verwenden, da eine beliebig große Zahl von Clients mit einer einzigen Objekt-Fabrik verbunden werden und der Bedarf an Arbeitsspeicher auf dem Server gering bleibt. Alle Clients müssen daher die gleiche Datenbank verwenden. 

AOComLocal Server:
Für dieses Objekt wird pro Client immer eine eigene Instanz erstellt. Dieses Objekt sollte verwendet werden, um lokale Anwendungen mit Visual Basic oder anderen Entwicklungssystemen zu erstellen, die nicht als Web-Anwendung konzipiert sind. Jede lokale Anwendung kann dabei eine andere Datenbank verwenden.
 

Erzeugung

Der AOComServer muss als einziges Element direkt vom Entwicklungssystem erzeugt werden:

Beispiel in VB: 

Set AOServer = CreateObject("AOCom.AOComLocalServer")

Beispiel in Delphi:

try
    AOServer := getActiveOleObject('AOCom.AOComServer');
except
    AOServer := createOleObject('AOCom.AOComServer');
end;

 

 
Eigenschaften

property AOClasses    Typ IAOClasses, readonly 
Element von AOCom.AOComServer, AOCom.AOComLocalServer

Bedeutung 

Liefert ein IAOClasses-Objekt zurück. 
AOClasses enthält eine Liste der Klassen aller vorhandenen Datenobjekte von ABES/Objects. 

Beispiel:
 
Dim AOComServer As AOCom.AOComLocalServer

Set AOComServer = createObject("AOCom.AOComLocalServer")

ListBox1.text = AOComServer.AOClasses.AsCommaList

  

  

  

property DatabaseIP    Typ WideString, readwrite 
Element von AOCom.AOSession

Bedeutung 
IP-Adresse des DatenbankServers für den Remote-Zugriff. 

Beispiel: siehe DatabasePath

  

property DatabasePort    Typ WideString, readwrite
Element von AOCom.AOComServer, AOCom.AOComLocalServer

Bedeutung 

Port-Nummer des DatenbankServers für den Remote-Zugriff.

(In der Regel 2020

Beispiel: siehe DatabasePath
 

property DatabasePath     Typ WideString, readwrite
Element von AOCom.AOComServer, AOCom.AOComLocalServer

Bedeutung
UNC-Pfad oder NamensPfad der zu verwendenden Datenbank.

Beispiel1: Datenbank liegt auf einem Server innerhalb des lokalen Netzwerks
 
Dim AOComServer As AOCom.AOComServer

Set AOComServer = createObject("AOCom.AOComServer")

AOComServer.DatabasePath = "\\MeinServer\daten\db\MusterAkademie"

    - oder -

AOComServer.DatabasePath = "P:\db\MusterAkademie"

Beispiel2: Datenbank liegt auf einem Server im Internet
 
Dim AOComServer As AOCom.AOComServer

Set AOComServer = createObject("AOCom.AOComServer")

AOComServer.DatabaseIP   = "212.184.19.22" (oder "tn.musterakademie.de")
AOComServer.DatabasePort = "2020"
AOComServer.DatabasePath = "aodb\musterakademie"
 

Hinweis:

Bei AOComServer kann diese Eigenschaft nur gesetzt werden, wenn aktuell keine Sessions aktiv sind. 
Deshalb ggf. vorab auf SessionCount = 0 prüfen.

   

  

  

property SessionCount    Typ Integer, readonly
Element von AOCom.AOComServer, AOCom.AOComLocalServer

Bedeutung 

Abfrage der Anzahl aktiver Sessions

Beispiel:
 
Dim AOComServer As AOCom.AOComServer
Dim ANewDBPath  As String

Set AOComServer = createObject("AOCom.AOComServer")

ANewDBPath = "\\MeinServer\daten\db\MusterAkademie"

if AOComServer.DatabasePath <>  ANewDBPath then

    if AOComServer.SessionCount = 0 then

        AOComServer.DatabasePath =  ANewDBPath

    end if

end if

 

  

Methoden

function CreateSession (const LoginName: WideString, const PassWord: WideString)   Rückgabe IAOSession
Element von AOCom.AOComServer, AOCom.AOComLocalServer

Parameter

LoginName - Name (LoginName) des zu verwendenden AnwenderKontos

PassWord   - Passwort des zu verwendenden AnwenderKontos

Bedeutung 

Liefert ein neues Session-Objekt zurück. Ist das angegebene Anwenderkonto nicht vorhanden, wird eine Fehlermeldung ausgegeben.

Beispiel:
 
Dim AOComServer As AOCom.AOComLocalServer
Dim AOSession  As AOCom.AOSession

Set AOComServer = createObject("AOCom.AOComLocalServer")

AOComServer.DatabasePath = "\\MeinServer\daten\db\MusterAkademie"

Set AOSession = AOComServer.createSession("ADMIN","geheim123") 

    

  

procedure cleanupCache    
Element von AOCom.AOComServer, AOCom.AOComLocalServer

Parameter keine

Bedeutung 

Reduzierung des Speicherbedarfs durch Freigabe von nicht mehr referenzierten Datenobjekten (AOObject).
Sollte in größeren Schleifenoperationen gelegentlich aufgerufen werden. 

Beispiel:

Dim AOComServer As AOCom.AOComLocalServer
Dim AOSession  As AOCom.AOSession

Set AOComServer = createObject("AOCom.AOComLocalServer")

AOComServer.DatabasePath = "..."

Set AOSession = AOComServer.createSession("ADMIN","geheim123") 

 

Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    ...

    AOAnmeldungen.Next

    AOComServer.cleanupCache

    Loop

AOAnmeldungen.Close

    

   

   

     
procedure Disconnect
Element von AOCom.AOComServer, AOCom.AOComLocalServer

Parameter keine

Bedeutung 

Trennt die Verbindung zu einer Datenbank und gibt die entsprechende Instanz des AOComServer frei.

Hinweise:
Rufen Sie immer Disconnect auf, bevor die Variable, die den Verweis auf den AOComServer enthält dereferenziert wird..

Beispiel:
 
Dim AOComServer As AOCom.AOComLocalServer

Set AOComServer = createObject("AOCom.AOComLocalServer")

...(Programmcode der Anwendung/Funktion)

AOComServer.Disconnect 

Set AOComServer = nothing

    

  

 

 

AOSession Übersicht:
DatabaseName, DatabaseIP, DatabasePort, CreateDataSetOfClassName, LookUpAOItem,   

Das AOSession-Objekt verwaltet die Verbindung (Session="Sitzung") eines Clients mit einem AOCOMServer.

Erzeugung

Ein AOSession-Objekt muss von einem bestehenden AOComServer-Objekt erzeugt werden:

Beispiel in VB: 

...
Set AOSession = AOServer.CreateSession("ADMIN","geheim123")
...

 

  

 

Eigenschaften

property DatabaseName    Typ WideString, readonly 
Element von AOCom.AOSession

Bedeutung
Namen der aktuell verwendeten Datenbank. 

Beispiel:
 
Dim AOComServer As AOCom.AOComServer
Dim AOSession  As AOCom.AOSession

Set AOComServer = createObject("AOCom.AOComServer")

AOComServer.DatabasePath = "\\MeinServer\daten\db\MusterAkademie"

Set AOSession = AOComServer.createSession("ADMIN","geheim123")

UserForm1.Caption = AOSession.DatabaseName 

  

  

Methoden

function CreateDataSetOfClassName(const AClassName: WideString)   Rückgabe IAODataSet
Element von AOCom.AOSession

Parameter 

AClassName - Klassenname als Text. Die verfügbaren Klassennamen können Sie mit AOComServer.AOClasses ermitteln

Bedeutung 

Erzeugt eine neue Datenmenge des angegebenen Typs und liefert die Schnittstelle zu einem AODataSet-Objekt zurück.

Beispiel:
 
Dim AODataSet As AOCom.AODataSet
Dim AObject As AOCom.AOObject
Dim i, n As Integer
Dim ASheet As Excel.Worksheet

Set ASheet = Application.ActiveSheet

Set AODataSet = AOSession.CreateDataSetOfClassName("Anmeldung")
AODataSet.Open
AODataSet.first

n = AODataSet.Count

For i = 1 to n

    Set AObject = AODataSet.AOItem

    ASheet.Cells(i, 1).Value = AObject.PropertyOfName("Teilnehmer.NameVorname").AsString

    AODataSet.Next

    Next


AODataSet.Close
 
  

 

   

function LookupAOItem(const AClassName: WideString, AOID:WideString)   Rückgabe IAOObject
Element von AOCom.AOSession

Parameter 

AClassName - Klassenname als Text. Die verfügbaren Klassennamen können Sie mit AOComServer.AOClasses ermitteln.

AOID  - Primärschlüssel (OID= Object Identifier) eines ABES-Datenobjektes.

Bedeutung 

Findet ein ABES-Datenobjekt des angegebenen Typs mit der angegebenen OID und liefert dieses als IAOObject zurück.

Beispiel:
 
...

Dim AObject As AOCom.AOObject
Dim AClassName As String
Dim AOID As String

AClassName = "Anmeldung"
AOID = "AEsDQ2ESf/2QklmNEAA"

If IsObject(AOSession) Then
    Set AObject = AOSession.LookupAOItem(AClassName, AOID)

    CommandButton5.Caption = AObject.PropertyOfName("Teilnehmer.NameVorname").AsString

End If
...

 
 

  

function ImportItem(AClassName: WideString, ImportKey:WideString, MinKeyLength:Integer, 
                            var AOItem:
IAOObject, NewItem:Integer, Message:WideString)   Rückgabe Integer
Element von AOCom.AOSession

Parameter 

AClassName - Klassenname als Text. Die verfügbaren Klassennamen können Sie mit AOComServer.AOClasses ermitteln.

ImportKey  - Eindeutiger Ausdruck zur Identifizierung eines individuellen Datenobjektes.

MinKeyLength  - Mindestlänge für einen gültigen ImportKey. Datensätze, die diese Bedingung nicht erfüllen, werden nicht importiert.

AOItem  - Datenobjekt des in AClassName angegebenen Typs, dem nachfolgend die entsprechenden Werte zugewiesen werden können

NewItem  - Wert 1: Es wurde ein neues AOObject angelegt, Wert 0: Ein Datenobjekt mit diesem ImportKey war bereits vorhanden.
Überprüfen Sie diesen Flag, wenn Sie beim Import differenzieren möchten, ob nur neue Daten importiert oder auch vorhandenen überschrieben werden sollen.

Message  - Text einer Fehlermeldung.

Rückgabe  - Wert 1: Ok,  Wert 0: Fehler

Bedeutung 

Mit dieser Funktion können Sie Daten in ABES/Objects importieren. Sie erhalten ein AOObject zurück, dem Sie anschliessend über PropertyOfName("<Name der Eigenschaft>") die gewünschten Werte zuweisen können.

Wenn Sie den ImportKey sauber definieren, ist sichergestellt, dass bei einem wiederholten Import keine doppelten Datenobjekte in ABES/Objects entstehen.

Beispiel:
 
...

Set AOServer = CreateObject("AOCom.AOComLocalServer")

AOServer.DatabasePath = "\\Server\Volume\Dirextory"

Set AOSession = AOServer.CreateSession("ADMIN","geheim123")

Set Sheet = ActiveSheet

Row = 1

Do While Sheet.Cells(Row, 1) <> ""

    If AOSession.ImportItem("Kurs", Sheet.Cells(Row, 1), 4, AKurs, IsNewItem, Msg) = 1 Then

        AKurs.PropertyOfName("Kuerzel").AsString = Sheet.Cells(Row, 1)
        AKurs.PropertyOfName("von").AsString = Sheet.Cells(Row, 3)
        AKurs.PropertyOfName("Bis").AsString = Sheet.Cells(Row, 4)


    End If

Row = Row + 1

AOServer.cleanupCache

Loop

AOServer.Disconnect

End Function

           

 

 

 

 

 

 

 

 

 

AODataSet Übersicht:
AOItem, AOItemClassName, close,count, createFilterItem, first, hitbottom, hittop, last, new, next, open, Order, previous, SQLExpression  

AODataset repräsentiert eine Menge von ABES-Datenobjekten eines bestimmten Typs. 

Das Objekt stellt Methoden und Eigenschaften zum Navigieren (first, last, next, previous etc.), zum Zugriff auf die enthaltenen Elemente, sowie zum Neuanlegen und Löschen von Objekten bereit.

Zusätzlich ist auch das Filtern und Sortieren der Datenmenge möglich.

 

Erzeugung

Ein AODataSet-Objekt muss über ein vorhandenes AOSession-Objekt erzeugt werden:

Beispiel in VB: 

...
Set AODataSet = AOSession.CreateDataSetOfClassName("Anmeldung")
...

 

 

Eigenschaften

property AOItem    Typ IAOObject, readonly 
Element von AOCom.AODataSet

Bedeutung 

Liefert das aktuelle Element einer geöffneten Datenmenge als Interface IAOObject zurück. 

Beispiel:
 
...
Dim AOSession  As AOCom.AOSession
Dim AOAnmeldungen As AOCom.AODataSet

Dim AObject As AOCom.AOObject

Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open

AOAnmeldungen.First

Set AObject = AOAnmeldungen.AOItem

edit1.text = AObject.PropertyOfName("Teilnehmer.NameVorname")

AOAnmeldungen.close

   

   

 

property Order    Typ IAOOrder, readonly 
Element von AOCom.AODataSet

Bedeutung 

Zugriff auf ein AOOrder-Objekt zur Definition von Sortierreihenfolgen für ein AODataSet. 

Beispiel:
  
Dim AAnmeldungen As AOCom.AODataSet
...
Set AAnmeldungen = ASession.CreateDataSetOfClassName("Anmeldung")

AAnmeldungen.Order.Clear
AAnmeldungen.Order.AddOrder "Teilnehmer.Name", "up"
AAnmeldungen.Order.AddOrder "Teilnehmer.VorName", "up"

AAnmeldungen.Open

...

 

 

     

property SQLExpression    Typ WideString, readonly 
Element von AOCom.AODataSet

Bedeutung 

Liefert für Kontrollzwecke den Text der dem AODataSet zugrunde liegenden SQL-Abfrage zurück. 

Zur Abfrage des SQL-Statements muss erst die Methode open aufgerufen werden, da die SQL-Abfrage erst dann dymanisch generiert wird.

Hinweis:
Alle SQL-Abfragen werden automatisch von der Objekt-Fabrik aus dem Klassenmodell abgeleitet und generiert. 
Sie müssen bei der Verwendung des AOComServers niemals manuell SQL-Abfragen formulieren. 
Die Eigenschaft SQLExpression dient lediglich zum Debuggen Ihrer Anwendungen. 

Beispiel:
  
Dim AAnmeldungen As AOCom.AODataSet
...
Set AAnmeldungen = ASession.CreateDataSetOfClassName("Anmeldung")

AAnmeldungen.Open

...

TextBox1.Text = AAnmeldungen.SQLExpression

...

 

 

     

  

  

Methoden

function AOItemClassName    Rückgabe WideString
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Liefert den Klassennamen des Elementtyps einer Datenmenge zurück.

Beispiel:
...
Dim AOSession  As AOCom.AOSession
...
Dim AOAnmeldungen As AOCom.AODataSet
 
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")
...

Label1.caption = AOAnmeldungen.AOItemClassName

  

 

 

  

function createFilterItem (const AndOr, PropertyComNamePath, Operator:WideString)    Rückgabe IAOFilterItem
Element von AOCom.AODataSet

Parameter  

AndOr  Legt fest, ob dieser Filter mit einer 'und'- oder 'oder'-Verknüpfung verwendet werden soll.
Erlaubte Werte: 'and' oder 'or'
PropertyComNamePath Namenspfad der betreffenden Eigenschaft.
Operator   Textwert für den Operator des Filters:
Textwert Bedeutung
"=" gleich
">" größer
">=" größer oder gleich
"<" kleiner
"<=" kleiner oder gleich
"<>" ungleich
"in" enthalten in einer Aufzählung
"like" enthalten in einem Text
"equal" gleich
"greater" größer
"greaterEqual" größer oder gleich
"smaller" kleiner
"smallerEqual" kleiner oder gleich
"notEqual" ungleich
"empty" leer
"notEmpty" nicht leer

 
 
Bedeutung
 

Erzeuge ein AOFilterItem um die Datenmenge einzuschränken.

Die können beliebig viele AOFilterItems erzeugen und als "und"- oder "oder"-Verknüpfung zusammenfassen. 

Beispiel:

Rem Filtere alle Anmeldungen, deren Kurskürzel in der Liste B 574,B 575,B 576
Rem enthalten ist:
...
Dim AAnmeldungen As AOCom.AODataSet
 
Dim AFilterItem As AOCom.AOFilterItem
...
Set AAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

Set AFilterItem = AAnmeldungen.createFilterItem("and", "Kurs.Kuerzel", "in")

AFilterItem.Value.AsString = "B 574,B 575,B 576"

AAnmeldungen.Open
...
  

 

 

   

procedure close
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Schliesst eine geöffnete Datenmenge.

Beispiel:

...
Dim AOSession  As AOCom.AOSession
...
Dim AOAnmeldungen As AOCom.AODataSet
 
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")
...

AOAnmeldungen.close

  

  

   

function Count    Rückgabe Integer     
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Liefert die Anzahl der enthaltenen Elemente.

Beispiel:

...
Dim AOSession  As AOCom.AOSession
...
Dim AOAnmeldungen As AOCom.AODataSet
 
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")
...
Dim Anzahl As Integer

Anzahl = AOAnmeldungen.count

 

 

procedure first
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Wählt das erste Element einer Datenmenge.

Beispiel:

...
Dim AOSession  As AOCom.AOSession
...
Dim AOAnmeldungen As AOCom.AODataSet
 
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")
...

AOAnmeldungen.first

   

 

   

function hitbottom    Rückgabe Integer     
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Die Funktion liefert als Rückgabewert 1 wenn versucht wird, über das Ende einer Datenmenge hinaus zu blättern. Sonst ist der Rückgabewert 0

Beispiel:

...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    Set AProp = AObject.PropertyOfName("Teilnehmer.NameVorname")
    ASheet.Cells(i + 1, 1).Value = AProp.AsString

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close
 

 

 

 

function hittop    Rückgabe Integer     
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Die Funktion liefert als Rückgabewert 1 wenn versucht wird, über das erste Element einer Datenmenge hinaus zurück zu blättern. Sonst ist der Rückgabewert 0

Beispiel:

...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.last

i = 0

Do While AOAnmeldungen.hittop = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    Set AProp = AObject.PropertyOfName("Teilnehmer.NameVorname")
    ASheet.Cells(i + 1, 1).Value = AProp.AsString

    AOAnmeldungen.previous

    Loop

AOAnmeldungen.Close
 

 

 

 

procedure last
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Wählt das letzte Element einer Datenmenge.

Beispiel:

...
Dim AOSession  As AOCom.AOSession
...
Dim AOAnmeldungen As AOCom.AODataSet
 
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")
...

AOAnmeldungen.last

   

    

 

 

function new    Rückgabe IAOObject
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Erzeugt ein neues ABES-Datenobjekt des entsprechenden Typs liefert dieses als IAOObject zurück.

Beispiel:
...
Dim AOAnmeldungen As AOCom.AODataSet
 
Dim ANewAnmeldung As AOCom.AOObject
 
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")
...

Set ANewAnmeldung = AOAnmeldungen.new

   

 
 

  

 

procedure next
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Wählt das nächste Element einer Datenmenge.

Beispiel:

...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    Set AProp = AObject.PropertyOfName("Teilnehmer.NameVorname")
    ASheet.Cells(i + 1, 1).Value = AProp.AsString

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close
 

     

     

 

 

procedure open
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Öffnet eine Datenmenge.

Beispiel:

...
Dim AOSession  As AOCom.AOSession
...
Dim AOAnmeldungen As AOCom.AODataSet
 
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")
...

AOAnmeldungen.Open

  

   

   

  

procedure previous
Element von AOCom.AODataSet

Parameter keine

Bedeutung 

Wählt das vorhergehende Element einer Datenmenge.

Beispiel:

...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.last

i = 0

Do While AOAnmeldungen.hittop = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    Set AProp = AObject.PropertyOfName("Teilnehmer.NameVorname")
    ASheet.Cells(i + 1, 1).Value = AProp.AsString

    AOAnmeldungen.previous

    Loop

AOAnmeldungen.Close

 

   

  

   

 

 

AOItemSet Übersicht:
AOItems, count  

AOItemSet repräsentiert eine Sammlung von ABES-Datenobjekten. Die Elemente der Sammlung können unterschiedlichen Typs sein. 

Das Objekt ermöglicht das Zusammenstellen von Sammlungen von AOObjects-Instanzen.

 

Eigenschaften

- keine -

Methoden

function AOItems(const AItemIndex:Integer)   Rückgabe IAOObject
Element von AOCom.AOItemSet

Parameter 

AItemIndex - Index des Elementes in der Liste. Das erste Element hat den Index 0.

Bedeutung 

Ermöglicht den Zugriff auf die enthaltenen Elemente.

Beispiel:
 
...

Dim ASet As AOCom.AOItemSet
Dim n,i As Integer

...

n = ASet.count-1

for i = 0 to n 

    ASheet.Cells(i + 1, 1).Value = ASet.AOItems(i).DisplayName    

next 

  

  

  

function Count    Rückgabe Integer     
Element von AOCom.AOItemSet

Parameter keine

Bedeutung 

Liefert die Anzahl der enthaltenen Elemente.

Beispiel:
 
...

Dim ASet As AOCom.AOItemSet
Dim n,i As Integer

...

n = ASet.count-1

for i = 0 to n 

    ASheet.Cells(i + 1, 1).Value = ASet.AOItems(i).DisplayName    

next 
 

  

 

 

 

 

AOClasses Übersicht:
AsCommaList, ClassNames, count  

Das AOClasses-Object stellt ihnen den Zugriff auf eine Liste aller im Datenmodell von ABES/Objects enthaltenen Objektklassen ("Teilnehmer", "Firmen", "Debitoren" etc.) zur Verfügung.

Erzeugung

Das AOClasses-Objekt ist eine Eigenschaft eines AOComServer-Objektes:

Beispiel in VB: 

...
ListBox1.Text = AOServer.AOClasses.AsCommaList
...

 

 

Eigenschaften

property AsCommaList     Typ WideString, readonly
Element von AOCom.AOClasses

Bedeutung 

Liefert die Namen aller im Klassenmodell von ABES/Objects enthaltenen Objekt-Klassen als Komma-separierte Liste (CSV) zurück.

Beispiel:
 

Dim AOComServer As AOCom.AOComLocalServer

Set AOComServer = createObject("AOCom.AOComLocalServer")

ListBox1.text = AOComServer.AOClasses.AsCommaList

 

 

 

Methoden

function ClassNames(const AItemIndex:Integer)   Rückgabe WideString
Element von AOCom.AOClasses

Parameter 

AItemIndex - Index des Elementes in der Liste. Das erste Element hat den Index 0.

Bedeutung 

Liefert den Klassennamen der Klasse mit dem angegebenen Index zurück.

Beispiel:
 
...
Dim AOServer As AOCom.AOComLocalServer
Dim AOClasses As AOCom.AOClasses
Dim i, n As Integer
Dim ASheet As Excel.Worksheet

Set AOServer = createObject("AOCom.AOComLocalServer")
Set AOClasses = AOServer.AOClasses

Set ASheet = Application.ActiveSheet

n = AOClasses.count-1

for i = 0 to n 

    ASheet.Cells(i + 1, 1).Value = AOClasses.ClassNames(i)    

next 

 

 

   

function Count    Rückgabe Integer     
Element von AOCom.AOClasses

Parameter keine

Bedeutung 

Liefert die Anzahl der im Datenmodell von ABES/Objects enthaltenen Klassen.

Beispiel:
 

...
Dim AOServer As AOCom.AOComLocalServer
Dim AOClasses As AOCom.AOClasses
Dim i, n As Integer
Dim ASheet As Excel.Worksheet

Set AOServer = createObject("AOCom.AOComLocalServer")
Set AOClasses = AOServer.AOClasses

Set ASheet = Application.ActiveSheet

n = AOClasses.count-1

for i = 0 to n 

    ASheet.Cells(i + 1, 1).Value = AOClasses.ClassNames(i)    

next 

 
 

 

 

 

 

AOObject Übersicht:
AssociationOfName, ClassName, CollectionOfName, DisplayName, OID, Original, PropertyOfName  

AOObject repräsentiert ein einzelnes ABES/Objects-Datenobjekt beliebigen Typs und veröffentlicht alle für den Zugriff auf dessen Eigenschaften, dessen Assoziationen (1:0..1-Beziehungen) und dessen Kollektionen (1:0..n-Beziehungen) benötigten Methoden.

 

Erzeugung

Ein AOObjekt wird von allen Objekten zurückgegeben, die einzelne oder Mengen von Datenobjekten verwalten (AODataSet, AOItemSet, AOAssociation, AOCollection etc.):

Beispiel in VB: 

Dim AAnmeldung As AOCom.AOObject
Dim AAnmeldungen As AOCom.AODataSet
...
Set AAnmeldung = AAnmeldungen.AOItem
...

  

 

Eigenschaften

property ClassName    Typ WideString, readonly 
Element von AOCom.AOObject

Bedeutung 

Enthält den Namen der Klasse des Datenobjektes. 

Beispiel:
 
...
Dim AOSession  As AOCom.AOSession
Dim AOAnmeldungen As AOCom.AODataSet

Dim AObject As AOCom.AOObject

Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open

AOAnmeldungen.First

Set AObject = AOAnmeldungen.AOItem

edit1.text = AObject.ClassName

AOAnmeldungen.close

    

    

  

property DisplayName    Typ WideString, readonly 
Element von AOCom.AOObject

Bedeutung 

Enthält die Beschriftung eines Datenobjektes. Für ein Objekt des Typs "Person" wäre beispielsweise der Wert "Klaus Müller" enthalten.

Beispiel:

Dim AObject As AOCom.AOObject
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitBottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    ASheet.Cells(i + 1, 1).Value = AObject.DisplayName

    AOAnmeldungen.next

    Loop

AOAnmeldungen.Close
 

   

    

property OID    Typ WideString, readonly 
Element von AOCom.AOObject

Bedeutung 

Enthält den global eindeutigen Primärschlüssel eines Datenobjektes als Zeichenkette. Die OID eines Datenobjektes identifiziert ein bestimmtes Objekt eindeutig. Es ist dabei sichergestellt, dass eine bestimmte OID niemals ein zweites Mal vorkommen kann.

Beispiel:

Dim AObject As AOCom.AOObject
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitBottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    ASheet.Cells(i + 1, 1).Value = AObject.OID
    ASheet.Cells(i + 1, 2).Value = AObject.DisplayName

    AOAnmeldungen.next

    Loop

AOAnmeldungen.Close

    

 

 

property Original    Typ Integer, readonly 
Element von AOCom.AOObject

Bedeutung 

Die Eigenschaft Original enthält den Wert 1, wenn Sie im Besitz des Originals des Datenobjektes sind. Handelt es sich bei einem Objekt um eine über den Replikator erhaltene Objektkopie, so hat die Eigenschaft den Wert 0.

Beispiel:

Dim AObject As AOCom.AOObject
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitBottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem
    ASheet.Cells(i + 1, 1).Value = AObject.DisplayName

    if AObject.Original = 1 then
       ASheet.Cells(i + 1, 2).Value = "Original"
    else
       ASheet.Cells(i + 1, 2).Value = "Kopie"
    end if
    
    AOAnmeldungen.next

    Loop

AOAnmeldungen.Close

    

 

 

property Order    Typ IAOOrder, readonly 
Element von AOCom.AODataSet

Bedeutung 

Zugriff auf ein AOOrder-Objekt zur Definition von Sortierreihenfolgen für einer Kollektion: 

Beispiel:
  
Dim AOKurs As AOCom.AOObject

Dim AAnmeldungen As AOCom.AOCollection
...
Set AKurs = ...
...
Set AAnmeldungen = AKurs.CollectionOfName("Anmeldung")

AAnmeldungen.Order.Clear
AAnmeldungen.Order.AddOrder "Teilnehmer.Name", "up"
AAnmeldungen.Order.AddOrder "Teilnehmer.VorName", "up"

AAnmeldungen.Open

...

    

 

  

Methoden

function PropertyOfName(const ANamePath:WideString)   Rückgabe IAOProperty
Element von AOCom.AOObject

Parameter 

ANamePath - Namenspfad der gewünschten Eigenschaft als Text.

Bedeutung 

Ermöglicht den Zugriff auf eine beliebige Eigenschaft eines ABES/Objects-Datenobjektes und liefert diese zurück.

Beispiel:

Dim AOAnmeldungen As AOCom.AODataSet
Dim AObject As AOCom.AOObject
Dim AProp As AOCom.AOProperty
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem

    Set AProp = AObject.PropertyOfName("Teilnehmer.NameVorname")

    ASheet.Cells(i + 1, 1).Value = AProp.AsString

    AOAnmeldungen.Next

    Loop


   

   

 

 

function AssociationOfName(const ANamePath:WideString)   Rückgabe IAOAssociation
Element von AOCom.AOObject

Parameter 

ANamePath - Namenspfad der gewünschten Assoziation als Text.

Bedeutung 

Ermöglicht den Zugriff auf eine beliebige Eigenschaft eines ABES/Objects-Datenobjektes und liefert diese zurück.

Beispiel:

Dim AOAnmeldungen As AOCom.AODataSet
Dim AObject As AOCom.AOObject
Dim AAssociation As AOCom.AOAssociation
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem

    Set AAssociation = AObject.AssociationOfName("Teilnehmer.Debitor")

    ASheet.Cells(i + 1, 1).Value = AAssociation.AOItem.DisplayName

    AOAnmeldungen.Next

    Loop


  

  

 

 

 

function CollectionOfName(const ANamePath:WideString)   Rückgabe IAOCollection
Element von AOCom.AOObject

Parameter 

ANamePath - Namenspfad der gewünschten Kollektion als Text.

Bedeutung 

Ermöglicht den Zugriff auf eine beliebige Eigenschaft eines ABES/Objects-Datenobjektes und liefert diese zurück.

Beispiel:

Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
Dim AOAnmeldung As AOCom.AOObject
Dim i,n As Integer
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AOAnmeldung = AOAnmeldungen.AOItem

    ASheet.Cells(i + 1, 1).Value = AOAnmeldung.DisplayName

    AOAnmeldungen.Next

    Loop


  

  

 

 

 

AOProperty Übersicht:
AsBlobFile, AsBool, AsDate, AsDateTime, AsFloat, AsInteger, AsString, AsTextFile, AsTime, clear, digits, ExtendedKind, isCalc, isEmpty, isReadOnly, Kind, length  

AOProperty repräsentiert eine einzelne Eigenschaft eines ABES/Objects-Datenobjektes und ermöglicht das Lesen und Schreiben von Werten.

Erzeugung

Ein AOProperty-Objekt wird über die Abfrage einer Eigenschaft eines Datenobjektes vom Typ AOObject erzeugt:

Beispiel in VB: 

Dim AODataSet As AOCom.AODataSet
Dim AObject As AOCom.AOObject

Dim AProp As AOCom.AOProperty
...

Set AODataSet = AOSession.CreateDataSetOfClassName("Person")
Set AObject = AODataSet.new

Set AProp = AObject.PropertyOfName("Name")
...

 
 

   

Eigenschaften

property AsString    Typ WideString, readwrite 
Element von AOCom.AOProperty

Bedeutung 

Lesen und Setzen des Wertes einer Eigenschaft als Text. Falls sich sich bei der Eigenschaft selbst nicht um einen Textwert handelt (Datum, Zahl etc.) wird der Wert intern automatisch konvertiert.

Das Zuweisen eines Wertes löst die im Klassenmodell von ABES/Objects definierten Ereignisse aus.
 
Falls eine Eigenschaft im Klassenmodell als ReadOnly definiert ist, wird die Zuweisung eines anderen Wertes ignoriert.

Hinweise zur Formatierung der verschiedenen Datentypen als String:

Typ

Format

Integer

"99999999" - "123004"

Real

"999999,99" - "123,45"

Date

"dd.mm.yycc" - "28.05.1963"

Time

"hhmm" - "0930"

Boolean

"JA" oder "NEIN"

SEX

"HERR" oder "FRAU"

Picture

- nicht unterstützt -

Binary

- nicht unterstützt -


 
Entsprechend AsString stehen auch die Eigenschaften AsReal, AsInteger, AsFloat, AsBool, AsDate, AsDateTime und AsTime zur Verfügung.

Für den Zugriff auf anonyme, binäre Daten werden die Eigenschaften AsBlobFile und AsTextFile verwendet.

Beispiel:

...
Dim AOAnmeldungen As AOCom.AODataSet
Dim AObject As AOCom.AOObject
Dim AProp As AOCom.AOProperty
...
Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AObject = AOAnmeldungen.AOItem

    Set AProp = AObject.PropertyOfName("Teilnehmer.NameVorname")

    ASheet.Cells(i + 1, 1).Value = AProp.AsString

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.close

 

Methoden

- keine -

  

 

  

 

 

AOAssociation Übersicht:
AOItem 

AOAssociation repräsentiert eine einzelne Verknüpfung eines ABES/Objects-Datenobjektes mit einem anderen Datenobjekt und ermöglicht das Abfragen des aktuell verknüpften Daten-Objektes und das Zuweisen eines anderen. 

Ein Daten-Objekt von Typ "Anmeldung" enthält beispielsweise eine Assoziation (=Verknüpfung) zu einem Datenobjekt "Kurs"

Erzeugung

Ein AOAssociation-Objekt wird über die Abfrage einer Assoziation eines Datenobjektes vom Typ AOObject erzeugt:

Beispiel in VB: 

Dim AODataSet As AOCom.AODataSet
Dim AObject As AOCom.AOObject

Dim AAssAdresse As AOCom.AOAssociation
...

Set AODataSet = AOSession.CreateDataSetOfClassName("Person")
Set AObject = AODataSet.new

Set AAssAdresse = AObject.AssociationOfName("Adresse")
...

 

Eigenschaften

property AOItem    Typ IAOObject, readwrite 
Element von AOCom.AOAssociation

Bedeutung 

Enthält das aktuell zugeordnete Datenobjekt und erlaubt die Zuweisung eines Datenobjektes. 

Das Zuweisen eines Objektes löst die im Klassenmodell von ABES/Objects definierten Ereignisse aus.
 
Falls eine Assoziation im Klassenmodell als ReadOnly definiert ist, wird die Zuweisung eines anderen Objektes ignoriert.

Beispiel:
 
...
Dim AOSession  As AOCom.AOSession
Dim AOAnmeldungen As AOCom.AODataSet

Dim AObject As AOCom.AOObject

Set AOAnmeldungen = AOSession.CreateDataSetOfClassName("Anmeldung")

AOAnmeldungen.Open

AOAnmeldungen.First

Set AObject = AOAnmeldungen.AOItem

edit1.text = AObject.PropertyOfName("Teilnehmer.NameVorname")

AOAnmeldungen.close

   

    

 

 

Methoden

- keine -

 

 

 

 

AOCollection Übersicht:
AOItem, close, count, createFilterItem, first, hitbottom, hittop, last, add, next, open, Order, Owner, previous, SQLExpression  

AOCollection enthält eine Menge von ABES/Objects-Datenobjekten, die dem Besitzer der Kollektion zugeordnet sind und ermöglicht die Navigation in dieser Menge, sowie den Zugriff auf die einzelnen Elemente.   

Ein Daten-Objekt von Typ "Kurs" besitzt beispielsweise eine Kollektion von Datenobjekten des Typs "Anmeldung". Die Kollektion "Anmeldung" eines Kurses enthält also die Anmeldungen aller Teilnehmer, die diesem Kurs zugeordnet sind.

Erzeugung

Ein AOCollection-Objekt wird über die Abfrage einer Kollektion eines Datenobjektes vom Typ AOObject erzeugt:

Beispiel in VB: 

Dim AODataSet As AOCom.AODataSet
Dim AOKurs As AOCom.AOObject

Dim AAnmeldungen As AOCom.AOCollection
...

Set AODataSet = AOSession.CreateDataSetOfClassName("Kurs")
...
Set AOKurs = AODataSet.AOItem

Set AAnmeldungen = AOKurs.CollectionOfName("Anmeldung")
...

 

 

Eigenschaften

property AOItem    Typ IAOObject, readonly 
Element von AOCom.AOCollection

Bedeutung 

Enthält das aktuelle Element der Kollektion. 

Beispiel:
 
...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
Dim AOAnmeldung As AOCom.AOObject
Dim i,n As Integer
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.first

i = 0

Do While AOAnmeldungen.hitbottom = 0

    i = i + 1

    Set AOAnmeldung = AOAnmeldungen.AOItem

    ASheet.Cells(i + 1, 1).Value = AOAnmeldung.DisplayName

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close
 

     

     

  

property Order    Typ IAOOrder, readonly 
Element von AOCom.AOCollection

Bedeutung 

Zugriff auf ein AOOrder-Objekt zur Definition von Sortierreihenfolgen für eine Kollektion. 
 

Beispiel:
  
...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.Order.Clear
AOAnmeldungen.Order.AddOrder "Teilnehmer.Name", "up"
AOAnmeldungen.Order.AddOrder "Teilnehmer.VorName", "up"


AOAnmeldungen.Open
...

 

 

     

 

property Owner    Typ IAOObject, readonly 
Element von AOCom.AOCollection

Bedeutung 

Enthält den Besitzer einer Kollektion. 

Beispiel:
...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
Dim AOAnmeldung As AOCom.AOObject
Dim AObject As AOCom.AOObject
Dim i,n As Integer


...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")
...

Set AObject = AOAnmeldungen.Owner 

REM AOKurs und AObject Referenzieren damit das gleiche Datenobjekt !


   

   

 

property SQLExpression    Typ WideString, readonly 
Element von AOCom.AOCollection

Bedeutung 

Liefert für Kontrollzwecke den Text der einer AOCollection zugrunde liegenden SQL-Abfrage zurück. 

Zur Abfrage des SQL-Statements muss erst die Methode open aufgerufen werden, da die SQL-Abfrage erst dann dynamisch generiert wird.


Hinweis:
Alle SQL-Abfragen werden automatisch von der Objekt-Fabrik aus dem Klassenmodell abgeleitet und generiert. 
Sie müssen bei der Verwendung des AOComServers niemals manuell SQL-Abfragen formulieren. 
Die Eigenschaft SQLExpression dient lediglich zum Debuggen Ihrer Anwendungen. 

Beispiel:
 
...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
Dim AOAnmeldung As AOCom.AOObject
Dim AObject As AOCom.AOObject
Dim i,n As Integer


...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")
...

AOAnmeldungen.Open

TextBox1.Text = AOAnmeldungen.SQLExpression

...

 

 
 

     

  

  

 

Methoden

function createFilterItem(const AndOr, PropertyComNamePath, Operator:WideString)    Rückgabe IAOFilterItem
Element von AOCom.AOCollection

Parameter  

AndOr  Legt fest, ob dieser Filter mit einer 'und'- oder 'oder'-Verknüpfung verwendet werden soll.
Erlaubte Werte: 'and' oder 'or'
PropertyComNamePath Namenspfad der betreffenden Eigenschaft.
Operator   Textwert für den Operator des Filters:
Textwert Bedeutung
"=" gleich
">" größer
">=" größer oder gleich
"<" kleiner
"<=" kleiner oder gleich
"<>" ungleich
"in" enthalten in einer Komma-getrennten Aufzählung
"like" enthalten in einem Text
"equal" gleich
"greater" größer
"greaterEqual" größer oder gleich
"smaller" kleiner
"smallerEqual" kleiner oder gleich
"notEqual" ungleich
"empty" leer
"notEmpty" nicht leer

 
 
Bedeutung
 

Erzeugt ein AOFilterItem-Objekt zur Einschränkung der Datenmenge.

Die können beliebig viele AOFilterItems erzeugen und als "und"- oder "oder"-Verknüpfung zusammenfassen. 

Beispiel:

Rem Filtere alle Anmeldungen einer Klasse, die verspätet eingestiegen sind:
...
Dim AKurs As AOCom.AOObject
Dim AAnmeldungen As AOCom.AOCollection
 
Dim AFilterItem As AOCom.AOFilterItem
...

Set AKurs = ...
...
Set AAnmeldungen = AKurs.CollectionOfName("Anmeldung")

Set AFilterItem = AAnmeldungen.createFilterItem("and", "von", "greater")

AFilterItem.Value.AsDate = AKurs.PropertyOfName("Von").AsDate

AAnmeldungen.Open
...

 

 

  

 

procedure close
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Schliesst die geöffnete Datenmenge einer Kollektion.

Beispiel:
...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.Open


Do While AOAnmeldungen.hitbottom = 0

    ...

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close
 

   

   

    

function Count    Rückgabe Integer     
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Liefert die Anzahl der Elemente einer Kollektion.

Beispiel:

Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
Dim Anzahl As Integer
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

Anzahl = AOAnmeldungen.count

  

 

  

procedure first
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Wählt das erste Element einer Kollektion.

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.open
AOAnmeldungen.first


Do While AOAnmeldungen.hitbottom = 0

    ...

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close

   

 

   

function hitbottom    Rückgabe Integer     
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Die Funktion liefert als Rückgabewert 1 wenn versucht wird, über das Ende einer Datenmenge einer Kollektion hinaus zu blättern. Sonst ist der Rückgabewert 0

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.open
AOAnmeldungen.first


Do While AOAnmeldungen.hitbottom = 0

    ...

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close

  

  

 

  

function hittop    Rückgabe Integer     
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Die Funktion liefert als Rückgabewert 1 wenn versucht wird, über das erste Element einer Datenmenge hinaus zurück zu blättern. Sonst ist der Rückgabewert 0

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.last

Do While AOAnmeldungen.hittop = 0

    ...

    AOAnmeldungen.previous

    Loop

AOAnmeldungen.Close
  

   

  

   

procedure last
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Wählt das letzte Element einer Datenmenge einer Kollektion.

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.last


Do While AOAnmeldungen.hittop = 0

    ...

    AOAnmeldungen.previous

    Loop

AOAnmeldungen.Close

   

    

 

 

function add    Rückgabe IAOObject
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Erzeugt ein neues Element einer Kollektion als ABES-Datenobjekt des entsprechenden Typs.

Das Erzeugen eines neuen Elementes einer Kollektion löst die im Klassenmodell von ABES/Object ggf. definierten Ereignisse aus.

Falls die Kollektion im Klassenmodell als Readonly definiert wurde, wird kein neues Element erzeugt. 

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")
...

Set ANewAnmeldung = AOAnmeldungen.add

   

 
 

  

 

procedure next
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Wählt das nächste Element einer Datenmenge.

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.open
AOAnmeldungen.first


Do While AOAnmeldungen.hitbottom = 0

    ...

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close

  

      

      

  

 

procedure open
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Öffnet eine Datenmenge.

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.open
AOAnmeldungen.first


Do While AOAnmeldungen.hitbottom = 0

    ...

    AOAnmeldungen.Next

    Loop

AOAnmeldungen.Close

  

   

   

  

procedure previous
Element von AOCom.AOCollection

Parameter keine

Bedeutung 

Wählt das vorhergehende Element der Datenmenge einer Kollektion.

Beispiel:

...
Dim AOKurs As AOCom.AOObject
Dim AOAnmeldungen As AOCom.AOCollection
...
Set AOKurs = ...
...
Set AOAnmeldungen = AOKurs.CollectionOfName("Anmeldung")

AOAnmeldungen.Open
AOAnmeldungen.last


Do While AOAnmeldungen.hittop = 0

    ...

    AOAnmeldungen.previous

    Loop

AOAnmeldungen.Close

     

     

      

  

 

 

AOFilterItem Übersicht:
PropertyName, Value  

Ein AOFilterItem ermöglicht die Definiton von Filtern für alle Komponenten (AODataSet, AOCollection), die Datenmengen (=Objektmengen) verwalten. Die Anzahl der AOFilterItems pro Datenmenge ist nicht beschränkt. 

 
Erzeugung

Ein AOFilterItem erhalten Sie von einem AODataSet- oder einem AOCollection-Objekt:

Beispiel in VB: 

Dim AFilterItem As AOCom.AOFilterItem

Dim AOKurs As AOCom.AOObject

Dim AAnmeldungen As AOCom.AOCollection
...
Set AKurs = ...
...
Set AAnmeldungen = AKurs.CollectionOfName("Anmeldung")

Set AFilterItem = AAnmeldungen.createFilterItem("and", "Teilnehmer.Adresse.Ort", "equal")
AFilterItem.Value.AsString = "Hamburg"
...

 

Eigenschaften

 

 

 

 

 

 

AOOrder Übersicht:
AddOrder, clear  

Das AOOrder-Objekt erlaubt die Definition von Sortierreihenfolgen für Datenmengen  (AODataSet, AOCollection). 

Die gewünschte Sortierreihenfolge muss definiert werden, bevor die Datenmenge geöffnet wird.

Erzeugung

Ein AOOrder-Objekt erhalten Sie als Eigenschaft eines AODataSet- oder AOCollection-Objektes:

Beispiel in VB: 

Dim AOKurs As AOCom.AOObject

Dim AAnmeldungen As AOCom.AOCollection
...
Set AKurs = ...
...
Set AAnmeldungen = AKurs.CollectionOfName("Anmeldung")

AAnmeldungen.Order.Clear
AAnmeldungen.Order.AddOrder "Teilnehmer.Name", "up"
AAnmeldungen.Order.AddOrder "Teilnehmer.VorName", "up"

AAnmeldungen.Open

...

 

  

Eigenschaften

- keine -

 

 

 

 

 

Frequently Asked Questions

- leer -