AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TMemDataset

Ein Thema von Sugar · begonnen am 28. Nov 2015 · letzter Beitrag vom 28. Nov 2015
Antwort Antwort
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#1

TMemDataset

  Alt 28. Nov 2015, 12:31
Delphi-Version: 7
Hallo,

ich habe ein etwas älteres Delphi (7) und ein MemDataset (V2.15). Ich lese darin Daten aus einem Excel-Sheet ein. In der Anwendung werden diese Daten bearbeitet. Dazu muss ich die Daten Filtern. Allerdings bereitet mir das Filtern Probleme. Ein nacktes FILTER = 'XYZ' plus FILTERED:=TRUE reagiert nicht. Im Ereignis OnFilterRecord kann ich dann jedoch filtern, wenn ich dort das Feld und den gewünschten Inhalt abfrage
Code:
procedure TForm1.xlsTblFilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
begin
  xlsTblAP.AsString := 'AP-0400';
end;
Das bringt mich aber niciht weiter, ich müsste mehr Filterkriterien für ein Feld angeben und zusärtlich weitere Felder in den Filter aufnehmen. Hat jemand sowas schonmal umgesetzt und kann mir etwas auf die Sprünge helfen?


Gruß
Heiko
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#2

AW: TMemDataset

  Alt 28. Nov 2015, 12:57
Soweit mir bekannt muß man im Dataset-Filter-Property ebenfalls "das Feld und den gewünschten Inhalt abfragen":
MemDataSet.Filter := 'Wert = 1043' oder bei Strings und anderen zu quotenden Typen:

MemDataSet.Filter := 'VarSpalte = ' + QuotedStr(MeinString); Mehrere Abfragen trennst du dabei mit einem AND:

MemDataSet.Filter := 'Wert = 1043 and VarSpalte = ' + QuotedStr(MeinString);
  Mit Zitat antworten Zitat
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#3

AW: TMemDataset

  Alt 28. Nov 2015, 14:47
Soweit mir bekannt muß man im Dataset-Filter-Property ebenfalls "das Feld und den gewünschten Inhalt abfragen":
MemDataSet.Filter := 'Wert = 1043' oder bei Strings und anderen zu quotenden Typen:

MemDataSet.Filter := 'VarSpalte = ' + QuotedStr(MeinString); Mehrere Abfragen trennst du dabei mit einem AND:

MemDataSet.Filter := 'Wert = 1043 and VarSpalte = ' + QuotedStr(MeinString);
Wir reden von verschiedenen Komponenten..
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: TMemDataset

  Alt 28. Nov 2015, 15:05
Zitat von Sugar:
Wir reden von verschiedenen Komponenten..
ja, aber auch von den gleichen Attributen, die (nach meinem Kenntnisstand) bei allen von TDataSet abgeleiteten Komponenten über die gleiche Syntax zum Setzen von Filtern verfügen.

Mal ausprobiert, ob der Vorschlag von Perlsau funktioniert?

Woher soll denn bei einem Filter FILTER = 'XYZ' die Komponente wissen, was hier XYZ sein soll. Die Angabe der entsprechenden Spalte könnte da ja durchaus hilfreich sein.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: TMemDataset

  Alt 28. Nov 2015, 15:14
Wir reden von verschiedenen Komponenten..
Na und? Ist das bei TMemDataset etwa anders als bei TClientDataset? Alle Datasets sind Nachkommen von TCustomClientDataSet, das wiederum ein Nachkomme von TDataset ist. TClientDataset ist auch nur Memorydataset.
Das Objekt TClientDataSet repräsentiert eine Datenmenge im Arbeitsspeicher.
"Ein nacktes FILTER = 'XYZ' plus FILTERED:=TRUE" stellt keinen gültigen Filterstring dar, denn es fehlt die Spalte, in der das XYZ gesucht werden soll.
Was mich aber am brennendsten interessieren würde: Woher stammt die Komponente TMemDataset? Ist die nativ bei Delphi7 dabei?


Wenn er mir nicht glaubt, vielleicht glaubt er ja nahpets?
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz