Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Einzelne Zellen exportieren (DBGrid) (https://www.delphipraxis.net/14028-einzelne-zellen-exportieren-dbgrid.html)

mercanery 31. Dez 2003 11:30


Einzelne Zellen exportieren (DBGrid)
 
find irgendwie hier im forum nix eindeutiges dazu (meistens nur mit ADO) also die Frage ist (tataa!) : Wie kann ich aus meinem DBGrid (3 Spalten) jeden Wert eines Datensatzes einzeln exportieren und damit eine Variable füllen?

Achja benutze ne DataSource, die an ein Query angebunden ist, welches wiederum an die DB (Paradox7) angebunden ist. Das DBGrid bezieht sich nat. auf die DataSource. :thuimb:

Leuselator 31. Dez 2003 12:04

Re: Einzelne Zellen exportieren (DBGrid)
 
Hi und Wilkommen im Club!

Du gibst Dir die Antwort schon zur Hälfte selbst. Das DB-Grid stellet die Werte des DataSets dar und beeinflußt diese. Wenn Du sie ausserhalb des DB-Grids verwenden möchtest, so mußt Du Dich an das DataSet wenden.
Prinzip:
Delphi-Quellcode:
var
  IntWert : Integer
  StrWert : String;
  DatWert : TDateTime;
begin
  IntWert := Query1.FieldByName('DeinIntFeldName').AsInteger;
  StrWert := Query1.FieldByName('DeinStrFeldName').AsString;
  DatWert := Query1.FieldByName('DeinDatFeldName').AsDatetime;
Dabei gelangen immer die Werte des aktuellen Datensatzes in die Variablen ( das ist der, bei welchem im DB-Grid das kleine Dreieck links angezeigt wird).
Gruß

mercanery 31. Dez 2003 12:44

Re: Einzelne Zellen exportieren (DBGrid)
 
hmmm...soweit so gut...klingt einfach...jetzt nur noch gaanz schnell, wie man eine Zeile focussiert...?

MrSpock 31. Dez 2003 13:55

Re: Einzelne Zellen exportieren (DBGrid)
 
Hallo mercanery,

was genau meinst du mit Zeile fokussieren?

Meinst du einen bestimmten Datensatz zum aktuellen (zu exportierenden) Datensatz zu machen?

Dazu könntest du Locate oder FindKey benutzen.

mercanery 1. Jan 2004 15:47

Re: Einzelne Zellen exportieren (DBGrid)
 
thx, aber ich will die alle der Reihe nach durchgehen...(lass mir die hal mit
SQL-Code:
SELECT [...] ORDER BY
anzeigen)

woki 1. Jan 2004 17:30

Re: Einzelne Zellen exportieren (DBGrid)
 
Hi,

Zitat:

Zitat von mercanery
thx, aber ich will die alle der Reihe nach durchgehen...

Dann musst Du halt sagen, was du willst.

Ich nehme an Du setzt Dein SQL mit einer TQuery ab, die habe jetzt mal den Namen Query1, die Methoden die du benötigst sind dann
Query1.first
query1.next
query1.eof,

näheres dazu in der OH.

Grüsse
Woki

mercanery 1. Jan 2004 22:18

Re: Einzelne Zellen exportieren (DBGrid)
 
OK...langsam komme ich der Sache näher jetzt n aneres Problem in dem Zusammenhang:

Wenn ich eine Zelle editieren möchte:
Delphi-Quellcode:
with Query1 do
begin
edit;
fields[0].asString:='Wert';
post;
Ich krieg hier immer nur
"Eine Datenmenge, die nur zum Lesen ist, kann nicht geändert werden."

Leuselator 2. Jan 2004 04:17

Re: Einzelne Zellen exportieren (DBGrid)
 
3 Varianten:
1. Eigenschaft "RequestLive" der TQuery steht auf "False"
2. Eigenschaft "ReadOnly" des DB-Grids steht auf "True"
3. die Query enthält einen join, der die direkte Änderung von Werten verhindert.
Gruß

mercanery 2. Jan 2004 09:18

Re: Einzelne Zellen exportieren (DBGrid)
 
"RequestLive" war auf "False" , aber es geht immer noch nicht...sonst noch Ideen...?

r_kerber 2. Jan 2004 10:09

Re: Einzelne Zellen exportieren (DBGrid)
 
Das hatten wir gerade in einem anderen Thread, wenn ich mich nicht erinnere. Du nutzt ja Paradox als "Datenbank". Und da gilt für aktualisierbare Datenmange folgendes:
Zitat:

Zitat von In der OH steht
Abfragen, die Daten aus einer einzelnen Tabelle abrufen, sind unter folgenden Voraussetzungen aktualisierbar:
  • Die SELECT-Anweisung darf nicht das Schlüsselwort DISTINCT enthalten.
  • Die SELECT-Klausel beschränkt sich auf eine einfache Spaltenreferenz oder auf eine berechnete Spalte. Aggregationen sind unzulässig. Berechnete Spalten bleiben schreibgeschützt.
  • Die in der FROM-Klausel referenzierte Tabelle ist eine aktualisierbare Basistabelle.
  • Es ist keine GROUP BY- oder HAVING-Klausel vorhanden.
  • In der Anweisung sind keine Unterabfragen enthalten.
  • Die Abfrage enthält keine ORDER-BY-Klausel.



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr.
Seite 1 von 2  1 2      

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