Hallo alle zusammen.
Ich versuch gerade mit der Filterfunktion der TTable zurechtzukommen.
Dabei tauchen einige merkwürdige Phänome auf. Vielleicht hat ja jemand
einen Tip für mich.
Entwicklungsumgebung: Delphi 3.0, Paradox 7.0, Windows NT.
<b>1. Suchen von Text mit * geht nicht</b>
Eine Tabelle enthält eine Reihe von Strings. In diesen String möchte
ich Zeilen suchen, die einen bestimmten Teilstring enthalten. Über
einen SQL Befehl ist das kein Problem, ausser das hier mit einem %
gesucht wird:
SELECT DateTime,MsgStr FROM MsgHis.db WHERE Upper(MsgStr) LIKE 'Error%'
Per Filter funktion der TTable will das überhaupt nicht funktionieren:
xTable.Filter := 'MsgStr = ''Error*''';
xTable.Filtered := true;
Ich bekomme immer eine leere Menge ins DBGrid zurück. Nur wenn ich den
kompletten Inhalt eines Tabelleneintrages übergebe, bekomme ich ihn
auch ordentlich zurück.
Was ist da los?
<b>2. Funktioniert .Filtered := false nicht ?</b<
Folgender Ablauf wurde programmiert:
Einer Tabelle wird ein TableName := 'Table1' zugewiesen
Der Tabelle wird ein Filter := 'Hallo < 4' zugewiesen
Die Tabelle wird geöffnet
Der Filter wird enabled
Der Zugrif ist erfolgreich
Der Filter wird disabled
Die Tabelle wird geschlossen
Der Tabelle wird ein TableName := 'Table2' zugewiesen
Die Tabelle wird geöffnet
Obwohl die Filterfunktion disabled ist, wird mit der Filtereinstellung
gearbeitet und es kommt zu einem Fehler, weil die Filterbedingung für
eine andere Tabelle natürlich nicht erfüllt werden kann.
Das Problem konnte nur folgendermassen gelöst werden:
Der Tabelle wird ein TableName := 'Table2' zugewiesen
Dem Filter wird ein Leerstring zugewiesen: Filter := ''
Die Tabelle wird geöffnet
Der Zugrif ist erfolgreich
Die Tabelle wird geschlossen
Was ist da los? Das Ausschalten des Filters scheint nicht zu funktionieren.
<b>3. Paradox File Format</b>
Nachdem ich mir eine Paradox Tabelle zerlegt habe, die auch nicht mit dem
Paradox eigenen Reparaturprogramm wiederhergestellt werden konnte, habe
ich nach Informationen im Internet gesucht und auch gefunden. Damit
konnte ich tatsächlich die Tabelle mit einem Hexeditor erfolgreich
restaurieren. Ich habe die Informationen zusammengeführt, übersetzt
und um einige Kleinigkeiten erweitert.
Wer interesse daran hat, kann sie bei mir per E-Mail anfordern. Es sind
6 RTF Dateien (gezipt ca. 22kB): FileDB.rtf, FileMB.rtf, FilePX.rtf,
FileXxx.rtf, FileYxx.rtf und Allgemeines.rtf.
[email protected]
Gruß an Alle.
Ich versuch gerade mit der Filterfunktion der TTable zurechtzukommen.
Dabei tauchen einige merkwürdige Phänome auf. Vielleicht hat ja jemand
einen Tip für mich.
Entwicklungsumgebung: Delphi 3.0, Paradox 7.0, Windows NT.
<b>1. Suchen von Text mit * geht nicht</b>
Eine Tabelle enthält eine Reihe von Strings. In diesen String möchte
ich Zeilen suchen, die einen bestimmten Teilstring enthalten. Über
einen SQL Befehl ist das kein Problem, ausser das hier mit einem %
gesucht wird:
SELECT DateTime,MsgStr FROM MsgHis.db WHERE Upper(MsgStr) LIKE 'Error%'
Per Filter funktion der TTable will das überhaupt nicht funktionieren:
xTable.Filter := 'MsgStr = ''Error*''';
xTable.Filtered := true;
Ich bekomme immer eine leere Menge ins DBGrid zurück. Nur wenn ich den
kompletten Inhalt eines Tabelleneintrages übergebe, bekomme ich ihn
auch ordentlich zurück.
Was ist da los?
<b>2. Funktioniert .Filtered := false nicht ?</b<
Folgender Ablauf wurde programmiert:
Einer Tabelle wird ein TableName := 'Table1' zugewiesen
Der Tabelle wird ein Filter := 'Hallo < 4' zugewiesen
Die Tabelle wird geöffnet
Der Filter wird enabled
Der Zugrif ist erfolgreich
Der Filter wird disabled
Die Tabelle wird geschlossen
Der Tabelle wird ein TableName := 'Table2' zugewiesen
Die Tabelle wird geöffnet
Obwohl die Filterfunktion disabled ist, wird mit der Filtereinstellung
gearbeitet und es kommt zu einem Fehler, weil die Filterbedingung für
eine andere Tabelle natürlich nicht erfüllt werden kann.
Das Problem konnte nur folgendermassen gelöst werden:
Der Tabelle wird ein TableName := 'Table2' zugewiesen
Dem Filter wird ein Leerstring zugewiesen: Filter := ''
Die Tabelle wird geöffnet
Der Zugrif ist erfolgreich
Die Tabelle wird geschlossen
Was ist da los? Das Ausschalten des Filters scheint nicht zu funktionieren.
<b>3. Paradox File Format</b>
Nachdem ich mir eine Paradox Tabelle zerlegt habe, die auch nicht mit dem
Paradox eigenen Reparaturprogramm wiederhergestellt werden konnte, habe
ich nach Informationen im Internet gesucht und auch gefunden. Damit
konnte ich tatsächlich die Tabelle mit einem Hexeditor erfolgreich
restaurieren. Ich habe die Informationen zusammengeführt, übersetzt
und um einige Kleinigkeiten erweitert.
Wer interesse daran hat, kann sie bei mir per E-Mail anfordern. Es sind
6 RTF Dateien (gezipt ca. 22kB): FileDB.rtf, FileMB.rtf, FilePX.rtf,
FileXxx.rtf, FileYxx.rtf und Allgemeines.rtf.
[email protected]
Gruß an Alle.
Comment