L&L 11, Tabellen anmelden mit LLDBAddTable()

Moderator: Moderatoren

Antworten
Benutzeravatar
klammerauf
UDF-Programmierer
UDF-Programmierer
Beiträge: 69
Registriert: Do, 08. Feb 2007 14:16
Wohnort: Karlsruhe
Hat sich bedankt: 3 Mal

L&L 11, Tabellen anmelden mit LLDBAddTable()

Beitrag von klammerauf »

Hallo,

ich versuche mit List&Label einen Report mit mehreren Tabellen zu erzeugen. Dazu steht in der Hilfe, dass man die einzelnen Tabellen mit LLDBAddTable() anmelden soll, z.B.:

LlDbAddTable(hJob, "Orders", NULL)

Beim zweiten Parameter handelt es sich lt. Anleitung um
'pszTableID: ID der Tabelle'

Meine Tabellen sind aber SQL-Tabellen aus ::Execute2Server(). Das ist eine Methode aus AceServer++.

Egal was ich probiere, ich bekomme im Designer keine Tabelle zur Auswahl angezeigt.

Folgende Werte als Tabellennamen hab ich schon erfolglos ausprobiert:

Objekt: ::oTable

LlDbAddTable(hJob, ::oTable, NULL) -> führt zu Runtime-Fehler
LlDbAddTable(hJob, "::oTable", NULL)
LlDbAddTable(hJob, "self:oTable", NULL)
LlDbAddTable(hJob, "oTable", NULL)
LlDbAddTable(hJob, ::oTable:hTable, NULL)
LlDbAddTable(hJob, VAR2CHAR(::oTable:hTable), NULL)
LlDbAddTable(hJob, ::oTable:hConnect, NULL)

Nutzt vielleicht irgendjemand ausser mir selbst noch die Kombination von AceServer++ und List&Label?

Oder gibt es jemanden, der noch eine Idee hat, welchen Wert man übergeben könnte, damit L&L das als Tabelle akzeptiert?

Danke
Sebastian
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Sebastian.

Willkommen im Forum!

Ich beginne gerade erst, mit Kreuztabellen zu arbeiten. LlDbAddTable definiert die ID für die Tabelle, und die Felder aus dieser Tabelle werden im Anschluß - wie gehabt - mit LlDefineFieldExt definiert, wobei die Tabellen-ID mit einem Punkt getrennt vom Feldnamen publiziert wird, also LlDefineFieldExt(hJob,"orders.ordnumber",ord->number,LL_TEXT) oder ähnlich. Wie gesagt, ich arbeite noch nicht damit. Kann also sein, daß ich falsch liege.
Herzlich,
Tom
Benutzeravatar
klammerauf
UDF-Programmierer
UDF-Programmierer
Beiträge: 69
Registriert: Do, 08. Feb 2007 14:16
Wohnort: Karlsruhe
Hat sich bedankt: 3 Mal

Unterschied beim Druck von mehreren Tabellen

Beitrag von klammerauf »

Hi Tom,

stimmt, bei LLDefineFieldExt kommt das hin. Mir geht es aber darum, L&L ein gültiges 'Datenzugriffsobjekt, z.B. eine Datenbanktabelle, ein Klassenarray o.ä.' (steht so wortwörtlich im Handbuch) zu übergeben. Und mit Tabelle.Feldname geht das nicht, weil beim Zugriff auf Tabellenobjekte der Zugriff über ::Tabelle:Feldname stattfindet.

Es geht mir also wirklich nur darum, was ich als zweiten Parameter bei LlDbAddTable(hJob, "Orders", NULL) angeben muss.

Der Unterschied bei mehreren Tabellen ist übrigens, dass man ja je Tabelle angeben muss, dass da noch zu druckende Records kommen. Und das scheint nicht zu funktionieren, wenn ich nur mit LLPrintFieldExt() und LLPrintFieldsEnd() arbeite. Stattdessen muss ich mit LLPrintDBGetCurrentTable() abfragen, welche Tabelle zu füllen ist. Mit dem Rückgabewert von LLPrintFieldsEnd() prüfe ich dann, ob noch eine weitere Tabelle kommt.

Aber das bleibt alles graue Theorie, solange ich an L&L keine Tabellen sondern nur Felder und Werte übergeben kann.

Sebastian
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9358
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Beitrag von Tom »

Hallo, Sebastian.

Hast Du Dir die VB-Beispiele von LL11 mal angesehen? Ich habe die 11er-Installation nicht mehr, aber bei LL12 enthalten sie verstehbaren Code.
Herzlich,
Tom
Antworten