So hallo erstmal
Ich bin noch Delphi Neuling und plage mich gerade mit dem versuch einer abfrage ab.
Ich habe per Datenbank tutorial MYbase folgendes erstellt:
1 Datenbank mit 4 Feldern | Datum | Ansprachen | Termine | Abschluesse |
folgende abfrage möchte ich erstellen :
-wenn das Datum mit dem heutigen übereinstimmt
-dann letzten datensatz feld:ansprachen editieren
-sonst neuer Datensatz
bisher sieht das in etwa so aus:
procedure TForm2.Button1Click(Sender: TObject);
var Ansprachen1:integer;
var Datum: TDate ;
begin
Datum := Date();
ClientDataSet1.LoadFromFile('pa.xml');
ClientDataset1.last;
if ClientDataset1.FieldByName('Datum').AsString = datetoStr(Datum) then
ClientDataset1.Edit;
ClientDataset1.FieldByName('Datum').Asstring :=datetostr( date());
ClientDataset1.FieldByName('Ansprachen').Asstring := inttoStr(+3);
ClientDataset1.Post;
ClientDataSet1.SaveToFile('pa.xml', dfXML);
--------------------------------------------------------------
ClientDataSet1.LoadFromFile('pa.xml');
if ClientDataset1.FieldByName('Datum').AsString <> datetoStr(Datum) then
ClientDataset1.Append;
ClientDataset1.FieldByName('Datum').Asstring :=datetostr( date());
ClientDataset1.FieldByName('Ansprachen').Asstring := inttoStr(+5);
ClientDataset1.Post;
ClientDataSet1.SaveToFile('pa.xml', dfXML);
der untere teil muss falsch sein da ich dort ein Fehler ausgeworfen kriege.
der obere teil funktioniert in soweit das er die zahl verändert und keinen neuen Datensatz macht.
naja wäre für jeden Denkansatz sowie Programmierungshilfe dankbar
Fehlermeldung :
Im projekt test.exe ist eine
Exception der Klasse EDataBaseError mit der Meldung 'ClientDataSet1
atenmenge weder im Editiermodus -noch im einfügemodus' aufgetreten
was halt noch nicht funktioniert ist die abfrage an sich bzw kann ich sie nicht testen da
-wenn ich im oberen teil statt ClientDataset1.Edit, ClientDataset1.Append schreibe kommt die fehlermeldung
-die fehler meldung kommt auch wenn ich ClientDataset1.Edit belasse aber die if abfrage auf undlgeich ändere.
Ich fumel da jetzt schon ne ganze zeit rum komm einfach nicht auf die Lösung
MFG
denjoR