![]() |
Feld / Zelle aus DBGrid auslesen
Irgendwie hängt es bei mir im Augenblick mal wieder und hoffe, auf Eure Hilfe.
Ich habe ein DBGrid mit 2 aus einer Query erzeugen Spalten (10 Zeilen) und einer manuell angehängten Spalte (auch 10 Zeilen). jetzt möchte ich ein Feld der 2 Spalte (aus Query) mit einem festen Wert verrechnen und das Ergebnis soll in der manuell angelegten 3. Spalte geschrieben werden. Wie muss ich es machen? |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Hier wirt es sicher schneller eine Antwort geben ;-) |
Re: Feld / Zelle aus DBGrid auslesen
Hallo,
ich würde versuchen in der Query direkt dieses Ergebnis zu bekommen. Somit fügt das DBGrid die Spalte alleine an und du sparst dir eventuell ne Menge Schreiberei. Ich habe das zwar nicht getestet aber ich denke das es auf diesem Wege gehen sollte. |
Re: Feld / Zelle aus DBGrid auslesen
Zitat:
|
Re: Feld / Zelle aus DBGrid auslesen
Zitat:
Daran hab ich auch gedacht, wußte nur nicht, wie und wo ich ansetzen soll. Der Wert der 3. Spalte (=das Ergebnis) soll eine Prozentzahl sein, die sich aus dem Wert der 2.Spalte und einem Ergebnis eines weitern Querys. Wie bau ich ein solches Query auf? |
Re: Feld / Zelle aus DBGrid auslesen
Zitat:
|
Re: Feld / Zelle aus DBGrid auslesen
Zitat:
[code] DataModule_CCR.ADOQuery_topten_code.Close; DataModule_CCR.ADOQuery_topten_tcode.Active:=false ; With DataModule_CCR.ADOQuery_topten_code.SQL do begin clear; add('SELECT Top 10 code, Count(code)As Anzahl'); add(' FROM prod_report '); add(' where (jahr_monat = '+QuotedStr(CB_jahr_monat.Text)+')'); add(ausdruckok); // =string, der eine Where-Klausel beinhaltet add('Group by code order by Anzahl DESC'); end; DataModule_CCR.ADOQuery_topten_clientcode.Active:= true; DataModule_CCR.ADOQuery_topten_clientcode.open; [\code] die Query, die mir den Wert liefert, mit dem das Feld Anzahl aus der ersten Query verrechnet werden soll.
Code:
Edit: Sorry, irgenwie klappt das bei mir gerade auch nicht mit dem Code einfügen.
DataModule_CCR.ADOQuery_anzahlDS.Close;
DataModule_CCR.ADOQuery_anzahlDS.Active:=false; with DataModule_CCR.ADOQuery_anzahlDS.SQL do begin clear; add('SELECT COUNT (*) AS Anzahl FROM prod_report '); add(' Where (jahr_monat = '+QuotedStr(CB_jahr_monat.Text)+')'); add(ausdruckok); end; Label1.Caption:=DataModule_CCR.ADOQuery_anzahlDS.SQL.Text; DataModule_CCR.ADOQuery_anzahlDS.Active:=true; DataModule_CCR.ADOQuery_anzahlDS.open; |
Re: Feld / Zelle aus DBGrid auslesen
Danke für Euch, hab es gerade hinbekommen.
Code:
SELECT TOP 10 code, COUNT(code) AS Anzahl, COUNT(code) * 100 /'+QuotedStr(DBEdit1.text)+ ' AS Prozent')
// DBEdit1 = Ergebnis aus dem anderen Query |
Re: Feld / Zelle aus DBGrid auslesen
ich würde vorschlagen, Du drehst die beiden Queries um: erst die Gesamtanzahl berechnen:
Code:
Diese Anzahl speicherst Du Dir ja schon in ein Label.
('SELECT COUNT (*) AS Anzahl FROM prod_report Where (jahr_monat = '+QuotedStr(CB_jahr_monat.Text)+')');
Deine 2. Query sieht dann wie folgt aus:
Code:
HTH
('SELECT Top 10 code, Count(code) As Anzahl, Count(code)*100/'+label1.caption+' AS procentual FROM prod_report '+
' where (jahr_monat = '+QuotedStr(CB_jahr_monat.Text)+')'+ ausdruckok+ // =string, der eine Where-Klausel beinhaltet 'Group by code order by Anzahl DESC') |
Re: Feld / Zelle aus DBGrid auslesen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz