Sätze ausblenden

Advantage Database Server

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21199
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Sätze ausblenden

Beitrag von Manfred »

Hi,
ich stelle das mal hier rein, weil ich gerade mit dem ADS arbeite, aber vielleicht geht das ja auch wenn, mit anderen SQl Servern.
Bisher war es ja so, das man Sätze als gelöscht kennzeichnet (unter DBF) und dann werden sie asugeblendet (kann natürlich bei vielen Sätze recht lange dauern) Das soll jetzt auch nur als Beispiel dienen. Ich möchte gerne Sätze kennzeichenen, die erhalten bleiben, aber nicht mehr angezeigt werden sollen so ohne weiteres. Gibt es da einen Weg sowas dem Server zu vermitteln? Also z.B. wenn das Feld True hat, dann überspringe den Satz und liefer ihn erst gar nicht an den Client aus, oder muß ich das alles von Hand in das SQl Script schreiben? Wäre evtl. viel Arbeit, wenn man alles Scripte nachträglich damit erweitern müßte.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Tom »

Du willst also dem Server eine Art "SET DELETED ON" beibringen? Jedes SELECT soll automatisch eine bestimmte Spalte berücksichtigen, obwohl das nicht angegeben wird? Interessante Fragestellung.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21199
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Sätze ausblenden

Beitrag von Manfred »

das war jetzt etwa zu hoch gegriffen. Es soll ja nicht gelöscht werden, sondern gefilter. Es könnte auch für andere Optionen gelten. Wenn der und der Wert erreicht wird, dann zeige es nicht an, oder so. Es müßte sicherlich irgendwo auf dem Server hinterlegt werden. Das fände ich einfacher, als alle SQL Scripte anzupassen. Zumal es dann nur einfach wieder entfernt oder deaktiviert werden müßte, wenn es irgendwann (mal kurzfristig) nicht (mehr) benötigt wird.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Tom »

Also ein globales Kriterium, das man z.B. auch (anstelle der Verwendung unterschiedlicher Schemata) für Mandantenzuordnungen verwenden könnte. Sowas. Ganz egal, was ich anfasse, ich will nur noch Daten, wo das (immer vorhandene) Feld "MANDANT" den Wert "HAUPTMANDANT" enthält. Usw. Ich will's nur nicht jedes Mal angeben müssen.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21199
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Sätze ausblenden

Beitrag von Manfred »

hm, vielleicht irgendwann zum Schluß einmal so. Die Möglichkeiten sind ja vielleicht offen. Ich staune ja immer wieder, was man so alles machen kann. (aber finde auch etliches, was man nicht so einfach machen kann :badgrin: )



Aber lese ich da jetzt ein wenig Ironie, oder Sarkasmus in Deiner Antwort?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Tom »

Aber lese ich da jetzt ein wenig Ironie, oder Sarkasmus in Deiner Antwort?
Nichts dergleichen. Ich finde die Fragestellung wirklich interessant, perspektivisch auch für mich selbst.
Herzlich,
Tom
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Marcus Herz »

Beim ADS, und nur der, kannst du nach den Öffnen einer Datei ja mit setaof() dein Filterkriterium setzen. Das wird schon auf dem Server ausgeführt. Und verwendet Indices, wenn welche passen.
Ansonst bleibt dir nur der Weg über ein SELECT mit WHERE Bedingung oder noch besser: einen VIEW erstellen
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21199
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Sätze ausblenden

Beitrag von Manfred »

Hi Markus,
das mit dem setaof() habe ich hier schon gelesen, aber nicht verstanden, wie man sowas einsetzt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 996
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: Sätze ausblenden

Beitrag von HaPe »

Hallo Manfred !

Wir hatten sowas für den SQL-Server eingebaut.
Eine logische Spalte deleted.

In der Abfrage-Klasse auf Clientseite, wird automatisch der individuelle SELECT immer mit AND Deleted = .F. ergänzt.
Da muß ich als Entwickler nichts mehr beachten, außer natürlich meine SELECTs immer über die Klasse abzuarbeiten.

Das Objekt loSQLExecParameter ist die Datenzugriffs-Klasse, THIS.DATASOURCE die Art der Datenquelle, tcSQLCommand ist der SQL-Befehl und tcAlias ist der Alias unter dem die Klasse das Ergebnis zurückliefern soll.
loSQLExecParameter.Execute( THIS.DATASOURCE, tcSQLCommand, tcAlias )
--
Hans-Peter
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21199
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Sätze ausblenden

Beitrag von Manfred »

Hi HaPe,
ok, das ist natürlich eine Lösung. Aber so weit bin ich leider noch nicht. Ich habe noch keine Zeit/Muße gefunden die ganzen Abfrageroutinen in Klassen zu verpacken. Ich denke mal, es wird langsam Zeit dafür. Dann dürfte es sicherlich flexibler werden. War es ja in meiner bisherigen Datenbankklasse für meine DBF auch.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9367
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 102 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Tom »

Ich habe noch keine Zeit/Muße gefunden die ganzen Abfrageroutinen in Klassen zu verpacken.
Du kannst auch einfach alle SELECT-Kommandos, die Du erzeugt hast, noch in eine Funktion wickeln, die einfach ein "AND irgendwas" anhängt.
Herzlich,
Tom
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Marcus Herz »

Zum Beispiel:

Code: Alles auswählen

:setaof(  "MANDANT = 'HAUPTMANDANT' ")
Fast wie ein DbSetFilter() Ausdruck als String, ohne Feld-> alias.
In der AdsClass Hilfe steht noch mehr.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 651
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von nightcrawler »

mach Dir eine View:

Code: Alles auswählen

CREATE VIEW meine_Tabelle_ohne_geloescht AS
SELECT * FROM meine_Tabelle WHERE geloescht IS FALSE OR geloescht IS NULL
Dann verwende die Vew anstatt der Tabelle.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Marcus Herz »

Anmerkung: Du kannst eine View wie eine Tabelle öffnen, da ist kein Unterschied,

Code: Alles auswählen

:OpenTable("meine_Tabelle_ohne_geloescht")
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21199
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: Sätze ausblenden

Beitrag von Manfred »

hm,
eigentlich hatte ich die Idee, das ich nur einen "Haken" am ADS setze und dann alles so läuft, wie gewünscht. Bei den Vorschlägen jetzt habe ich die Vermutung das doch etliches mehr angepaßt werden muß und die Flexibilität nicht so gegeben ist, wie gedacht.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 852
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Sätze ausblenden

Beitrag von Marcus Herz »

Der "Haken" ist ein View, den du ja jederzeit ändern kannst
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Antworten