+1 800 256 3608 (toll-free in North America) or +49 7531 90 60 10| service@combit.com

Zum Zeitpunkt der Erstellung des Projektes gab es folgende Tabelle, die jetzt nicht mehr vorhanden .


(Guest) #1

Hallo,
seit einiger Zeit bekomme ich immer diese Fehlermeldung.
Wenn ich an meinen Daten etwas geringfügig ändere, ist sie verschwunden.

Ich habe auf einem MS SQL Server eine 1:n Beziehung und die angeblich fehlende Tabelle ist eine Relation zwischen den beiden Tabellen.

In der aufrufenden WINFORM (c#) Maske, wirden die Daten der beiden Tabellen via dieser Relation ganz normal angezeigt.

Er reicht oft schon einen Eintrag von der untergeordneten Tabelle in die obere zu verschieben (Kapitel/Unterkapitel)

Ich verwende noch LL16.

Da ich nichts exotische mache, vermute ich eine Bug.
Müßten also mehrere das Problem haben.

Habe aber im Web und in den Foren bisher nicht s dazu gefunden.

Gruß Andreas


(Guest) #2

Hm, ich habe auch viele Applikationen, die mit MSSQL arbeiten, das Problem kenne ich nicht. Verwende aber auch die aktuelle Version. Du könntest sonst mal versuchen, mit dem DbCommandSetDataprovider zu arbeiten, da kannst Du ja die Tabellen und Relationen ganz einfach selber anmelden - dann müssen sie hinterher auch da sein.

G.


(Guest) #3

Hallo Danke für den Tip,
aber ich habe eine komplexere Anwendung mit Tableadapter und BindingSourcen nebst DB Designer vom VS.
Wäre ein großer Umbau.

Es gibt Fälle bei denen ich ein Eintrag z.B. am untersten Knoten um eins hoch verschiebe oder lösche, und der Bericht wird wieder angezeigt.

Im Programm/Maske wird die 1:n auch anzeigt, während beim PreView Start der Fehler kommt.
Denke nicht, dass es am C# Programm liegt.

LL gefällt irgend eine (gutartige) Konstellation nicht.

Da sollte wohl am ehesten Combit was zu sagen können.

Gruß Andreas


(Guest) #4

Habe jetzt noch einmal eine einfache c# Winform mit nur den zwei Tabellen/Views und der einen Relation erstellt.
Dazu einen Minimal-Report.
Also nur Dataset und eine Zeile Code mit Aufruf des Designers.

Wenn ich mich gegen die einen Daten verbinde sehe ich die Relation, wenn ich mich gegen eine andere vebinde ist sie nicht da und der Fehler erscheint.
Hat nichts mit der Verbindung zu tun, wenn ich die Daten rüber kopiere, bekomme ich das selbe Ergebnis.
Würde ja verstehen, wenn L&L beim Preview bestimmte Daten nicht anzeigt, aber warum die Relation weg ist ?

Die ursprüngliche Anwendung hatte 1:n:n:n:n, je nach Daten brachte eine Eingabe im der untersten Tabelle auch manchesmal den selben Fehler in den oberen Relationen.

Ich brauche die Reporte eigentlich dringend.

Gibt es Patches zu LL16!?

Gruß Andreas


(Guest) #5

Hallo H.Dr.Schwarze,
habe mal bei meinem Testprogramm ihren Vorschlag umgesetzt.
Funktioniert so weit.
Ich kann es jedoch nicht direkt vergleichen, da ich andere Ergebnisse bekommen.

Die zwei Tabellen haben eine Relation über 3 Spalten!
Müßte also in etwa heißen:
[color=darkred] provider.AddRelation(“Prod2Art”, “pl.v_cat_product”, “pl.v_cat_article”, “catid,plid,id”, “catid,plid,previd”);
[/color]

Wie kann man bei [color=darkred]DbCommandSetDataProvider.AddRealation[/color] mehrere Spalten angeben.
, oder ; bringen Fehler, Liste geht vom Typ nicht.

Gruß Andreas Schenk

Code Ausschnitt für DbCommandSetDataProvider
[i][i][color=darkred][i] OleDbConnection conn = new OleDbConnection(@“Provider=SQLOLEDB;Data Source=AS-TEST\SQLEXPRESS;Initial Catalog=Preisliste;Integrated Security=SSPI”);

        OleDbCommand command1 = new OleDbCommand("Select * from pl.v_cat_product", conn);
        OleDbCommand command2 = new OleDbCommand("Select * from pl.v_cat_article", conn);
        DbCommandSetDataProvider provider = new DbCommandSetDataProvider();
        provider.AddCommand(command1, "pl.v_cat_product");
        provider.AddCommand(command2, "pl.v_cat_article");
        provider.AddRelation("Prod2Art", "pl.v_cat_product", "pl.v_cat_article", "id", "previd");

        ListLabel LL = new ListLabel();
        LL.DataSource = provider;
        LL.Design();

[/i][/color][/i][/i]


(Guest) #6

Hallo,

Kombinierte Schlüsselfelder lassen sich über tabulatorgetrennte Listen übergeben, also z.B. “catid\tplid”.

Ich habe kein Servicepack für LL16 mehr in meinem Downloadbereich zur Verfügung, meine mich zu erinnern, dass da regelmässig eine Mail von combit kommt, wenn der Support für eine Version ausläuft. Ich habe aber eine Subscription und bin max. immer eine Version hintendran - je nachdem wie sich das mit meinen Versionen ausgeht.

G.

PS: wenn es dringend ist würde ich mich mal beim combit Support melden. Hier wird zwar neuerdings auch ab und an vom Support geantwortet (bei der Gelegenheit: tolle Sache, Danke!), allerdings kann das schon mal ein bisschen dauern.


(Guest) #7

Sehr geehrter Herr Schenk,

vielen Dank für Ihren Beitrag.

Ich denke, dass diese Frage im Rahmen des Forums leider nicht abschließend geklärt werden kann - wir benötigen für die Bearbeitung weitere Informationen von Ihnen, die auf dieser Plattform nicht sinnvoll ausgetauscht werden können. Gerne können Sie in unserem Supportportal unter einen Support-Case eröffnen, bitte kopieren Sie dabei die relevanten Informationen aus diesem Thread in die Beschreibung.

Gerne schauen wir uns auch Ihre bereits erstellte Beispielanwendung an. Dies ist die effektivste Möglichkeit, um das Verhalten genauer analysieren zu können.

Mit freundlichen Grüßen

Patrick Preuschoff
Technischer Support
combit GmbH


(Guest) #8

Hallo,
habe das mit dem C# Dataset nicht weiter verfolgt.
Habe, wie im Beispiel beschrieben mit dem
DbCommandSetDataProvider
weiter gearbeitet.
War etwas Handarbeit und den Report mußte ich wegen der anderen Relationsnamen(erstellung)an vielen Stellen anpassen.
Nach der Umstellung konnte ich alle Datenbanken ‘reporten’, auch die, die vorher die Realationen verloren hatten.
War begeistert, da es zudem auch noch schneller war.

Habe dann noch nach Fertigstellung via Design() den Print() Aufruf getestet.
Bekomme hier aber immer “…Parameter_Exception: Parameterfehler”

Habe auch das ListLabel dynamisch erstellt (default Werte).
Kommt aber der selbe Fehler.

Habe die Parameter komplett weg gelassen, der selbe Fehler.
Habe das Parameter Setzen in div. Events (z.B. listLabel1_AutoDefineNewPage) gesetzt.
Ändert aber nichts.

Mit dem Dataset haben die selben Parameter beim Print() funktioniert.

Weiß daher nicht, was ich ändern sollte

Im Logfile erscheint eine Warnung beim Print() und direkt danach kommt die Fehler Nachricht,
die Parameter werden danach erst geladen.
Die Warnung kommt nach
[color=green]LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[catid] ASC’,’’,‘catid’)[/color]
Warum die SortOrder 2 x aufgerufen wird, wäre interessant zu wissen.
Auch warum diese Einträge beim Preview nicht vorkommen.

Interessanterweise habe nur bei dieser Tabelle keine Sortierung angebeben.
In LST File habe ich auch keinen Sort-Hinweis auf “catalog.catid” gefunden .
Wenn ich sie angeben (im Designer) passiert das selbe.

Ich sollte doch nicht der einzigste mit dem Problem sein!

Gruß Andreas Schenk


CMLL16 : 21:06:28.413 00002ffc/03 4 ».NET: Executing database command SELECT [CatID],[DivID],[Name],[StartPage],[catid] FROM pl.catalog WHERE catid = 1
CMLL16 : 21:06:28.416 00002ffc/00 5 LlDefineFieldExt(1,‘pl.catalog.CatID’,‘1’,0x08000002,00000000)
CMLL16 : 21:06:28.417 00002ffc/00 6 =0 (OK)
CMLL16 : 21:06:28.417 00002ffc/00 7 LlDefineFieldExt(1,‘pl.catalog.DivID’,‘RM’,0x10000000,00000000)
CMLL16 : 21:06:28.418 00002ffc/00 8 =0 (OK)
CMLL16 : 21:06:28.419 00002ffc/00 9 LlDefineFieldExt(1,‘pl.catalog.Name’,‘RMS Katalog Deutsch’,0x10000000,00000000)
CMLL16 : 21:06:28.419 00002ffc/00 0 =0 (OK)
CMLL16 : 21:06:28.420 00002ffc/00 1 LlDefineFieldExt(1,‘pl.catalog.StartPage’,’(NULL)’,0x10000000,00000000)
CMLL16 : 21:06:28.421 00002ffc/00 2 =0 (OK)
CMLL16 : 21:06:28.421 00002ffc/00 3 LlDefineFieldExt(1,‘pl.catalog.catid’,‘1’,0x08000002,00000000)
CMLL16 : 21:06:28.422 00002ffc/00 4 =0 (OK)
CMLL16 : 21:06:28.439 00002ffc/00 5 LlLocAddDictionaryEntry(1,0x0000,’[CatID] ASC’,‘CatID [+]’,5)
CMLL16 : 21:06:28.440 00002ffc/00 6 =0
CMLL16 : 21:06:28.440 00002ffc/00 7 [color=green]LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[CatID] ASC’,’’,‘CatID’)[/color]
CMLL16 : 21:06:28.441 00002ffc/00 8 =0 (OK)
CMLL16 : 21:06:28.441 00002ffc/00 9 LlLocAddDictionaryEntry(1,0x0000,’[CatID] DESC’,‘CatID [-]’,5)
CMLL16 : 21:06:28.442 00002ffc/00 0 =0
CMLL16 : 21:06:28.442 00002ffc/00 1 LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[CatID] DESC’,’’,‘CatID’)
CMLL16 : 21:06:28.443 00002ffc/00 2 =0 (OK)
CMLL16 : 21:06:28.443 00002ffc/00 3 LlLocAddDictionaryEntry(1,0x0000,’[DivID] ASC’,‘DivID [+]’,5)
CMLL16 : 21:06:28.444 00002ffc/00 4 =0
CMLL16 : 21:06:28.444 00002ffc/00 5 LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[DivID] ASC’,’’,‘DivID’)
CMLL16 : 21:06:28.445 00002ffc/00 6 =0 (OK)
CMLL16 : 21:06:28.445 00002ffc/00 7 LlLocAddDictionaryEntry(1,0x0000,’[DivID] DESC’,‘DivID [-]’,5)
CMLL16 : 21:06:28.446 00002ffc/00 8 =0
CMLL16 : 21:06:28.446 00002ffc/00 9 LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[DivID] DESC’,’’,‘DivID’)
CMLL16 : 21:06:28.447 00002ffc/00 0 =0 (OK)
CMLL16 : 21:06:28.447 00002ffc/00 1 LlLocAddDictionaryEntry(1,0x0000,’[Name] ASC’,‘Name [+]’,5)
CMLL16 : 21:06:28.448 00002ffc/00 2 =0
CMLL16 : 21:06:28.449 00002ffc/00 3 LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[Name] ASC’,’’,‘Name’)
CMLL16 : 21:06:28.449 00002ffc/00 4 =0 (OK)
CMLL16 : 21:06:28.450 00002ffc/00 5 LlLocAddDictionaryEntry(1,0x0000,’[Name] DESC’,‘Name [-]’,5)
CMLL16 : 21:06:28.450 00002ffc/00 6 =0
CMLL16 : 21:06:28.451 00002ffc/02 7 LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[Name] DESC’,’’,‘Name’)
CMLL16 : 21:06:28.452 00002ffc/02 8 =0 (OK)
CMLL16 : 21:06:28.453 00002ffc/02 9 LlLocAddDictionaryEntry(1,0x0000,’[StartPage] ASC’,‘StartPage [+]’,5)
CMLL16 : 21:06:28.453 00002ffc/02 0 =0
CMLL16 : 21:06:28.453 00002ffc/02 1 LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[StartPage] ASC’,’’,‘StartPage’)
CMLL16 : 21:06:28.454 00002ffc/02 2 =0 (OK)
CMLL16 : 21:06:28.454 00002ffc/02 3 LlLocAddDictionaryEntry(1,0x0000,’[StartPage] DESC’,‘StartPage [-]’,5)
CMLL16 : 21:06:28.455 00002ffc/02 4 =0
CMLL16 : 21:06:28.455 00002ffc/02 5 LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[StartPage] DESC’,’’,‘StartPage’)
CMLL16 : 21:06:28.455 00002ffc/02 6 =0 (OK)
CMLL16 : 21:06:28.456 00002ffc/02 7 LlLocAddDictionaryEntry(1,0x0000,’[catid] ASC’,‘catid [+]’,5)
CMLL16 : 21:06:28.456 00002ffc/02 8 =0
CMLL16 : 21:06:28.456 00002ffc/02 9 [color=green]LlDbAddTableSortOrderEx(1,‘pl.catalog’,’[catid] ASC’,’’,‘catid’)[/color]
CMLL16 : 21:06:28.457 00002ffc/02 0 WRN: [color=red]clsDatabaseTableSortOrderList::Append(): sort order ‘[catid] ASC’ already exists in database structure for the given table.
CMLL16 : 21:06:28.457 00002ffc/02 1 =-18 (Parameterfehler. Bitte benutzen Sie den Debug-Modus zur Bestimmung des Fehlers.)
CMLL16 : 21:06:28.468 00002ffc/00 2 LlGetErrortext(-18,0X0850D168,16384)
CMLL16 : 21:06:28.469 00002ffc/00 3 =0 (OK) -> ‘Parameterfehler. Bitte benutzen Sie den Debug-Modus zur Bestimmung des Fehlers.’
[/color]
CMLL16 : 21:06:28.479 00002ffc/03 4 LlDefineVariableExt(1,‘CATID’,‘1’,0x08000002,00000000)
CMLL16 : 21:06:28.480 00002ffc/03 5 =0 (OK)
CMLL16 : 21:06:28.483 00002ffc/03 6 LlDefineVariableExt(1,‘CATNAME’,’’,0x10000000,00000000)
CMLL16 : 21:06:28.484 00002ffc/00 7 =0 (OK)
CMLL16 : 21:06:28.485 00002ffc/00 8 LlDefineVariableExt(1,‘CHAPTER’,‘02’,0x10000000,00000000)
CMLL16 : 21:06:28.486 00002ffc/00 9 =0 (OK)
CMLL16 : 21:06:28.486 00002ffc/00 0 LlDefineVariableExt(1,‘LANGUAGE’,‘DE’,0x10000000,00000000)


(Guest) #9

Sieht für mich so aus als hättest Du einmal ein Feld CatID und dann noch eines catid in Deiner Datenbank. Entweder ist LL an der Stelle nicht Case Sensitive oder Du könntest auch mal versuchen, die Eigenschaft VarsCaseSensitive auf “True” zu schalten. Vielleicht ist es auch eine Option, das Feld umzubenennen oder aus dem Report zu lassen.

G.