Sätze ausblenden
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Sätze ausblenden
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.
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!!
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!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Sätze ausblenden
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
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Sätze ausblenden
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!!
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!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Sätze ausblenden
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
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Sätze ausblenden
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 )
Aber lese ich da jetzt ein wenig Ironie, oder Sarkasmus in Deiner Antwort?
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!!
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!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Sätze ausblenden
Nichts dergleichen. Ich finde die Fragestellung wirklich interessant, perspektivisch auch für mich selbst.Aber lese ich da jetzt ein wenig Ironie, oder Sarkasmus in Deiner Antwort?
Herzlich,
Tom
Tom
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Sätze ausblenden
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
Ansonst bleibt dir nur der Weg über ein SELECT mit WHERE Bedingung oder noch besser: einen VIEW erstellen
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Sätze ausblenden
Hi Markus,
das mit dem setaof() habe ich hier schon gelesen, aber nicht verstanden, wie man sowas einsetzt.
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!!
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!!
- HaPe
- 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
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.
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
Hans-Peter
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Sätze ausblenden
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.
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!!
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!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Sätze ausblenden
Du kannst auch einfach alle SELECT-Kommandos, die Du erzeugt hast, noch in eine Funktion wickeln, die einfach ein "AND irgendwas" anhängt.Ich habe noch keine Zeit/Muße gefunden die ganzen Abfrageroutinen in Klassen zu verpacken.
Herzlich,
Tom
Tom
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Sätze ausblenden
Zum Beispiel:
Fast wie ein DbSetFilter() Ausdruck als String, ohne Feld-> alias.
In der AdsClass Hilfe steht noch mehr.
Code: Alles auswählen
:setaof( "MANDANT = 'HAUPTMANDANT' ")
In der AdsClass Hilfe steht noch mehr.
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
- nightcrawler
- 1000 working lines a day
- Beiträge: 655
- Registriert: Di, 24. Apr 2012 16:33
- Wohnort: 72184 Weitingen
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 96 Mal
- Kontaktdaten:
Re: Sätze ausblenden
mach Dir eine View:
Dann verwende die Vew anstatt der Tabelle.
Code: Alles auswählen
CREATE VIEW meine_Tabelle_ohne_geloescht AS
SELECT * FROM meine_Tabelle WHERE geloescht IS FALSE OR geloescht IS NULL
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Sätze ausblenden
Anmerkung: Du kannst eine View wie eine Tabelle öffnen, da ist kein Unterschied,
Code: Alles auswählen
:OpenTable("meine_Tabelle_ohne_geloescht")
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
- Manfred
- Foren-Administrator
- Beiträge: 21224
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Sätze ausblenden
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.
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!!
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!!
- Marcus Herz
- 1000 working lines a day
- Beiträge: 862
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 197 Mal
- Kontaktdaten:
Re: Sätze ausblenden
Der "Haken" ist ein View, den du ja jederzeit ändern kannst
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.