Einzelnen Beitrag anzeigen

derzwent

Registriert seit: 8. Apr 2005
Ort: Beierfeld
10 Beiträge
 
#1

DVD-Datenbank fertig. Nummer (ai) zählt nicht korrekt.

  Alt 10. Feb 2006, 06:42
Datenbank: firebird • Version: 1.5 • Zugriff über: zeos
Hallo Leute,
habe mal 'ne DVD-Datenbank-Anwendung geschrieben. Das ist meine erste.
Nun habe ich aber ein Problem: Die Nummer (Label4) zählt nicht automatisch mit, Trigger in Firebird mit IB-Expert erstellt (funktioniert auch)! Wenn ich in die "Suche" oder "Protokoll"gehe, dann wird beim zurückgehen zur Mainform (Form1) die Nummer auf den richtigen Wert gesetzt.
Würde euch gerne das Prog zum download freigeben (zum testen), jedoch weiß ich nicht wie.
Deshalb hier nur der Quelltext:
USES;TYPE:
Delphi-Quellcode:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ZAbstractRODataset, ZAbstractDataset, ZAbstractTable,
  ZDataset, ZConnection, StdCtrls, Mask, DBCtrls, ExtCtrls, ImgList,
  ComCtrls, ToolWin, XPMan, DBTables, QuickRpt;

type
  TForm1 = class(TForm)
    ZConnection1: TZConnection;
    ZTable1: TZTable;
    DataSource1: TDataSource;
    Label1: TLabel;
    Titel: TDBEdit;
    Label2: TLabel;
    Bemerkungen: TDBMemo;
    Label3: TLabel;
    DBCheckBox1: TDBCheckBox;
    Label4: TLabel;
    Name: TDBEdit;
    Label5: TLabel;
    Button1: TButton;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ImageList1: TImageList;
    Nummer: TDBText;
    ToolButton2: TToolButton;
    XPManifest1: TXPManifest;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ZQuery1: TZQuery;
    DataSource2: TDataSource;
    ToolButton8: TToolButton;
    Genre: TDBEdit;
    Label6: TLabel;
    Panel1: TPanel;
    ToolButton9: TToolButton;
    procedure Button1Click(Sender: TObject);
    procedure TitelEnter(Sender: TObject);
    procedure TitelExit(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ZTable1AfterPost(DataSet: TDataSet);
    procedure DBCheckBox1Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
Quelltext:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin //Schließt die Anwendung mit einem Messagedialog.

      if Messagedlg('Möchten Sie die DVD-Archiver wirklich schließen', mtconfirmation, [mbyes,mbno],0)=mryes then
       close;
end;





procedure TForm1.TitelEnter(Sender: TObject);
begin //Setzt die Tabelle1 in den Editiermodus.

      ZTable1.Edit;
end;

procedure TForm1.TitelExit(Sender: TObject);
begin //Speichert die Tabelle1 und geht auf letzten Datensatz.

      ZTable1.Edit;
      ZTable1.Post;
      ZTable1.Last;
      
end;

procedure TForm1.FormShow(Sender: TObject);
begin //Bei Anwendungsstart wird Tabelle1 aktiviert, Checkbox1 geleert und die SQL-Query geöffnet.

      ZTable1.Active:=true;
      ZTable1.Append;
      DBCheckBox1.Checked:=false;
      ZQuery1.Open;

end;


procedure TForm1.ZTable1AfterPost(DataSet: TDataSet);
begin //Nach dem speichern wird Tabelle1 aktualisiert.

      ZTable1.Refresh;
      Form1.Repaint;

end;





procedure TForm1.DBCheckBox1Click(Sender: TObject);
begin //Wenn Checkbox1 markiert ist, dann wird im Label4 die Meldung "Verliehen" angezeigt.

    if DBCheckBox1.Checked then
        Label4.Caption:='Verliehen!'
    else Label4.Caption:='';
end;


procedure TForm1.ToolButton1Click(Sender: TObject);
begin //Tabelle wird für neuen Datensatz geöffnet, Cursor wird auf Feld "Titel" gesetzt.

      ZTable1.Append;
      Form1.Repaint;
      Titel.SetFocus;
end;

procedure TForm1.ToolButton2Click(Sender: TObject);
begin //Aktueller Datensatz wird in Tabelle gespeichert. Feld "Nummer" wird aktualisiert. Anzeige des letzten Datensatzes.

      ZTable1.Edit;
      ZTable1.Post;
      Nummer.Refresh;
      ZTable1.Last;
end;

procedure TForm1.ToolButton3Click(Sender: TObject);
begin //Erster Datensatz wird angezeigt.

      ZTable1.first;
      Titel.SetFocus;

end;

procedure TForm1.ToolButton4Click(Sender: TObject);
begin //Voriger Datensatz wird angezeigt.

      ZTable1.Prior;
      Titel.SetFocus;
end;

procedure TForm1.ToolButton5Click(Sender: TObject);
begin //Nächster Datensatz wird angezeigt.

      ZTable1.Next;
      Titel.SetFocus;
end;

procedure TForm1.ToolButton6Click(Sender: TObject);
begin //Letzter Datensatz wird angezeigt.

      ZTable1.Last;
      Titel.SetFocus;
end;

procedure TForm1.ToolButton7Click(Sender: TObject);
begin //Form2 (Suchfenster) wird geöffnet.

      Form2.show;
end;

procedure TForm1.ToolButton8Click(Sender: TObject);
begin //Löschen des aktuellen Datensatzes mittels Messagedialog.

      if Messagedlg('Möchten Sie den Datensatz wirklich löschen?', mtconfirmation, [mbyes,mbno],0)=mryes then
         ZTable1.Delete;
end;



procedure TForm1.ToolButton9Click(Sender: TObject);
begin //Form3 (Report) wird geöffnet.

      Form3.Quickrep1.Preview;
end;

end.
Ich hoffe ich habs verständlich kommentiert.
Wenn ihr mich zum download mal kurz anleitet, gibts auch das komplette Programm.
Danke.....Sven
  Mit Zitat antworten Zitat