AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Selektierte EInträge aus DBGrid in RaveReport?
Thema durchsuchen
Ansicht
Themen-Optionen

Selektierte EInträge aus DBGrid in RaveReport?

Ein Thema von trockentaucher · begonnen am 26. Jan 2006 · letzter Beitrag vom 5. Feb 2006
Antwort Antwort
Benutzerbild von trockentaucher
trockentaucher

Registriert seit: 25. Nov 2003
Ort: Dortmund
41 Beiträge
 
Delphi 7 Professional
 
#1

Selektierte EInträge aus DBGrid in RaveReport?

  Alt 26. Jan 2006, 12:46
Datenbank: ADS • Version: 7.1 • Zugriff über: DataSorce
Ich stehe mir mal wieder selbst im Weg...

Ein DBGrid (dgMultiSelect := True) wird mit den Daten aus einer Query gefüllt, die Query wiederum holt sich die Daten aus div. Tabellen. Die selektieren Records zu indentifizieren ist mit DBGrid.DataSource.DataSet.GotoBookmark kein Problem. Auf diese Weise kann ich z.B. die selektierten Einträge aus der Tabelle löschen.

Nun möchte ich aber die selektierten Einträge/Records als Datenmenge an einen RaveReport übergeben, und hier finde ich keinen Ansatz. Den kompl. Inhalt des DBGrid zu übergeben, ist kein Problem, hier kann ich in Rave einfach die jeweilige Query definieren... wie aber mache ich das mit den selektierten Einträgen?!

Habe ich hier eher ein DB-Problem oder eher eines mit Rave?! Sehe ich den Wald vor lauter Bäumen nicht?


mfg,
trocki

Edit: Gibt es eine Methode bzw. einen Weg, bestimmte Records aus einer Query zu löschen? Ich würde das SQL-Statement der original Query an eine Temp.-Query übergeben und die Daten aus der Tabelle zunächst gem. dem Statement einlesen. Anschliessend die "nicht selektierten" Einträge aus der Temp.-Query löschen und an Rave übergeben...
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#2

Re: Selektierte EInträge aus DBGrid in RaveReport?

  Alt 26. Jan 2006, 22:23
Hi !

Zitat von trockentaucher:
Ein DBGrid (dgMultiSelect := True) wird mit den Daten aus einer Query gefüllt, die Query wiederum holt sich die Daten aus div. Tabellen. Die selektieren Records zu indentifizieren ist mit DBGrid.DataSource.DataSet.GotoBookmark kein Problem. Auf diese Weise kann ich z.B. die selektierten Einträge aus der Tabelle löschen.
Wenn du die selektierten Einträge aus der Tabelle löschen kannst, könntest du diese doch auch in eine temporäre Tabelle scheiben,
und diese Tabelle Rave 'zum Fraß vorwerfen'. ?
Otto
  Mit Zitat antworten Zitat
Benutzerbild von trockentaucher
trockentaucher

Registriert seit: 25. Nov 2003
Ort: Dortmund
41 Beiträge
 
Delphi 7 Professional
 
#3

Re: Selektierte EInträge aus DBGrid in RaveReport?

  Alt 27. Jan 2006, 13:03
Zitat von Ferber:
Hi !
Wenn du die selektierten Einträge aus der Tabelle löschen kannst, könntest du diese doch auch in eine temporäre Tabelle scheiben,
und diese Tabelle Rave 'zum Fraß vorwerfen'. ?
Hi, das wäre mein Worst Case Sceanario... möchte aber diesen Aufwand, wenn möglich, vermeiden. De facto habe ich 4 Teilbereiche in meiner Anwendung, bei denen ich diese procedure einbauen müßte. Wären 4 Tabellen mehr, die immer wieder mal geleert und gefüllt werden müßten ect... Ist möglich, aber aufwendig. Eine virtuelle Datenmenge wie ein Query wäre da Pflegeleichter

Edit: Die eindeutige Identifizierung der Records ist möglich, da ich ein Unique AutoInc in den Tabellen habe. Kann ich diese in dem SQL-Statement mit einbauen?! So etwas wie "IF RecordNumber = XY Then..." ?! Könnte so wie ein Filter eingesetzt werden...
  Mit Zitat antworten Zitat
Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Selektierte EInträge aus DBGrid in RaveReport?

  Alt 27. Jan 2006, 13:14
Eine Variante wäre ein DB-Feld Namens zb. 'Selected'.
Klickt der Anwender auf eine Zelle oder Zeile im Grid wird 'Selected' auf True gesetzt.
Dann alle Selektierten an Rave, oder sonstwohin, anschliessend alle Selektierten löschen.
Berücksichtigen muss/kann man, ob der Anwender die Bearbeitung im Grid abbricht, soll 'selected' erhalten bleiben ?
Hat sich bei mir bewährt (Anwender wählt Rechnungen aus, die zu Überweisen sind).

Edit: Das mit der ID erschein mir dafür weniger geeignet.
Otto
  Mit Zitat antworten Zitat
Benutzerbild von trockentaucher
trockentaucher

Registriert seit: 25. Nov 2003
Ort: Dortmund
41 Beiträge
 
Delphi 7 Professional
 
#5

Re: Selektierte EInträge aus DBGrid in RaveReport?

  Alt 27. Jan 2006, 14:02
Zitat von Ferber:
Eine Variante wäre ein DB-Feld Namens zb. 'Selected'.
Yepp, scheint mir im moment die einzig praktikable Lösung zu sein. Sobald die Daten an Rave zu übergeben sind (Druckjob gestartet) setze ich Selected/True und generiere eine Temp.Query die an Rave übergeben wird... Bei relativ kleinen Datenmengen noch zu handlen...

Danke für die Unterstützung!
  Mit Zitat antworten Zitat
merlin17

Registriert seit: 15. Dez 2002
Ort: Mittelfranken
980 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

Re: Selektierte EInträge aus DBGrid in RaveReport?

  Alt 5. Feb 2006, 21:17
hallo,
ich würde in diesem Fall über "OnValidateRow" für TRvDatasetconnection gehen...
ist einfacher und schneller als der Umweg über eine tempQuery;
(es wird jedoch die gesamte Dataset-Result durchlaufen...)


thomas, TeamNevrona
- TeamNevrona cannot respond to questions received via email -
http://rave-notes.blogspot.com
  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 20:53 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