Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi dBase III + TcxGrid und damit rechnen ? (https://www.delphipraxis.net/153547-dbase-iii-tcxgrid-und-damit-rechnen.html)

Bernhard Geyer 9. Aug 2010 14:01

AW: dBase III + TcxGrid und damit rechnen ?
 
Hat evtl. mit dem bescheuderten Cachingverhalten der JET-Engine zu tun.

terra 9. Aug 2010 14:36

AW: dBase III + TcxGrid und damit rechnen ?
 
Also, was habe ich bis jetzt gemacht - bzw. was habe ich?

Komponenten
---------------------
- TADOConection
- TADODataSet
- TDataSource

- TcxGrid (DEV Express)

DataSet ist mit Connect verbunden, DataSource mit DataSet und Grid mit Source. Geht halt nicht anders aber klappt.

Der Connectstring sieht wie folgt aus:

Delphi-Quellcode:
constr := 'Provider=Microsoft.ACE.OLEDB.12.0;'+
            'User ID=Admin;'+
            'Data Source='+datapath+'data.accdb;'+
            'Mode=ReadWrite;'+
            'Jet OLEDB:System database="";'+
            'Jet OLEDB:Registry Path="";'+
            'Jet OLEDB:Database Password="";'+
            'Jet OLEDB:Engine Type=6;'+
            'Jet OLEDB:Database Locking Mode=1;'+
            'Jet OLEDB:Global Partial Bulk Ops=2;'+
            'Jet OLEDB:Global Bulk Transactions=1;'+
            'Jet OLEDB:New Database Password="";'+
            'Jet OLEDB:Create System Database=False;'+
            'Jet OLEDB:Encrypt Database=False;'+
            'Jet OLEDB:Don''t Copy Locale on Compact=False;'+
            'Jet OLEDB:Compact Without Replica Repair=False;'+
            'Jet OLEDB:SFP=False;'+
            'Jet OLEDB:Support Complex Data=False;';
- AutoCalcFields sind aktiviert.




Wie wende ich denn dieses Requery denn an?
Hab aber gesehen, das ADODataSet dies auch unterstützt. Kann damit aber nichts anfangen. Sorry.

Kann auch wer mir meine andere Frage oben beantworten?

LG Terra

Alfredo 10. Aug 2010 10:16

AW: dBase III + TcxGrid und damit rechnen ?
 
Für den ersten Test einfach ein Button auf die Form
und dann
Delphi-Quellcode:
Dataset1.Requery;

terra 10. Aug 2010 11:22

AW: dBase III + TcxGrid und damit rechnen ?
 
Habe ich gemacht - geht leider nicht.

Der genaue Ausdruck lautet: .Requery(Options: TExecuteOptions=[]); und befindet sich in der TADODataSet Komponente. Habe es erstmal mit DataSet.Requery(); probiert. Brachte kein Ergebniss.

Ich könnte ja jetzt auch hergehen und nur die Values der Eingabemaske zusammenrechnen und in die Tabelle als Value schreiben. Dann wäre ja zumindest was zu sehen. Aber das ist ja sicherlich nicht im Sinne des Erfinders alles doppelt und dreifach zu machen. nur langsam fällt mir keine andere Lösung zu dem Problem ein.

Terra

Alfredo 10. Aug 2010 12:14

AW: dBase III + TcxGrid und damit rechnen ?
 
Warum verwendest Du nicht TAdoconnection und TAdotable?

Ich komme beruflich heute leider nicht dazu dass alles zu testen.

mkinzler 10. Aug 2010 12:43

AW: dBase III + TcxGrid und damit rechnen ?
 
Von einer xxTable würde ich Abstand nehmen

Bernhard Geyer 10. Aug 2010 12:52

AW: dBase III + TcxGrid und damit rechnen ?
 
TAdotable ist eine Ableitung von TADODataSet.
Ist (bei voll gepatchten VCL) ziemlich egal was man nimmt. Für neuprojekte sollte man nur TADODataSet nehmen da man sich nur die Properties von einem Klasse merken muss.

Alfredo 10. Aug 2010 14:06

AW: dBase III + TcxGrid und damit rechnen ?
 
Was mir an den Ausführungen von terra nicht einleuchtet ist, warum er sagt
dass er TAdoConnection und TAdoDataset verwendet.

Ich habe es einmal ausprobiert, TAdoDataset reicht doch alleine aus.

Wurden denn die Daten überhaupt in Access hineingeschrieben?

Delphi-Quellcode:
AdoDataset1.post;

Delphi-Quellcode:
AdoDataset1.Requery();
funktioniert bei einer Datenänderung einwandfrei.

Die Berechnung einer Spalte habe ich noch nicht getestet.

Bernhard Geyer 10. Aug 2010 14:09

AW: dBase III + TcxGrid und damit rechnen ?
 
Zitat:

Zitat von Alfredo (Beitrag 1040815)
Wurden denn die Daten überhaupt in Access hineingeschrieben?

Delphi-Quellcode:
AdoDataset1.post;

sollte doch:
Zitat:

Zitat von terra (Beitrag 1040815)
Trage ich nun in der Eingabemaske die Daten ein, kann ich gleichzeitig in der Tabelle sehen, wie die Daten eingetragen werden. Ist ja auch egal. Er rechnet aber nicht sofort zusammen. Erst nach einem Neustart des Programms sehe ich, das mein Prog. die berechneten Werte in der Tabelle übernommen hat.

Heist also, er rechnet, schreibt es auch in die Datenbank aber zeigt mir die Werte erst in der Tabelle an, wenn diese neu geladen wird.


Alfredo 10. Aug 2010 14:18

AW: dBase III + TcxGrid und damit rechnen ?
 
Zitat:

Zitat von terra
Trage ich nun in der Eingabemaske die Daten ein, kann ich gleichzeitig in der Tabelle sehen, wie die Daten eingetragen werden.

M.E. sieht er da nur dass sein Dataset geändert ist.

Mir ist nicht klar wie denn eine Berechnung in einer Access-Tabelle erfolgen
soll. Mein Kenntnisstand ist, dass dies im Rahmen einer Abfrage erfolgt.

Mir ist auch nicht verständlich warum die Berechnung nicht in Delphi erfolgt und
dann in das Feld geschrieben wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:36 Uhr.
Seite 2 von 4     12 34      

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