Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Eintrag in DBGrid verschwindet (https://www.delphipraxis.net/187773-eintrag-dbgrid-verschwindet.html)

derklausi 2. Jan 2016 10:40


Eintrag in DBGrid verschwindet
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,

ich habe eine Frage.

Ich habe eine kleine Simple Eingabemaske gemacht die mit einer Access Datenbank verknüpft ist. Diese wird an einem Touch PC verwendet.

Dazu habe ich ein DBGrid angelegt und mir entsprechend Tedit felder + Button hinterlegt und mit den einzelnen Feldern verknüpft.

Wenn ich nun auf die Button Drücke werden jeweils Datum und Uhrzeit eingetragen.

Wenn ich nun aber eine andere eingabe in ein anderes Tedit Feld mache verschwinden die eingaben die ich mit dem Button ausgelöst habe. Anderums genauso.

Ein Bild ist im Anhang, und hier der Code

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.Grids, Vcl.DBGrids,
  Data.Win.ADODB, Vcl.StdCtrls, Data.Bind.EngExt, Vcl.Bind.DBEngExt,
  System.Rtti, System.Bindings.Outputs, Vcl.Bind.Editors, Data.Bind.Components,
  Data.Bind.DBScope, Vcl.ExtCtrls, Vcl.DBCtrls;

type
  TForm1 = class(TForm)
    ADOConnection1: TADOConnection;
    ADODataSet1: TADODataSet;
    ADOTable1: TADOTable;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Edit11: TEdit;
    Edit12: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    BindSourceDB1: TBindSourceDB;
    BindingsList1: TBindingsList;
    LinkControlToField2: TLinkControlToField;
    LinkControlToField3: TLinkControlToField;
    LinkControlToField1: TLinkControlToField;
    LinkControlToField4: TLinkControlToField;
    LinkControlToField5: TLinkControlToField;
    LinkControlToField6: TLinkControlToField;
    LinkControlToField7: TLinkControlToField;
    LinkControlToField8: TLinkControlToField;
    LinkControlToField9: TLinkControlToField;
    LinkControlToField10: TLinkControlToField;
    LinkControlToField11: TLinkControlToField;
    LinkControlToField12: TLinkControlToField;
    DBNavigator1: TDBNavigator;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Edit6Click(Sender: TObject);
    procedure Edit7Click(Sender: TObject);
    procedure Edit8Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
edit6.Text := FormatDateTime('hh:nn:ss', now)
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Edit2.Text := FormatDateTime('dd.mm.yyyy', now);
end;

procedure TForm1.Edit6Click(Sender: TObject);
begin
edit6.Text := FormatDateTime('hh:nn:ss', now)
end;

procedure TForm1.Edit7Click(Sender: TObject);
begin
edit7.Text := FormatDateTime('hh:nn:ss', now)
end;

procedure TForm1.Edit8Click(Sender: TObject);
begin
edit8.Text := FormatDateTime('hh:nn:ss', now)
end;

end.
Vielen Dank !!

mkinzler 2. Jan 2016 10:46

AW: Eintrag in DBGrid verschwindet
 
Ich würde die Eingabefelder nicht fest verknüpfen, sondern diese erst beim Beenden der Eingabe in den Datensatz übernehmen.

blawen 2. Jan 2016 12:49

AW: Eintrag in DBGrid verschwindet
 
Anscheinend speicherst Du die Angaben nicht in der Datenbank und da die Felder beim Wechsel neu eingelesen werden, verschwinden die Angaben.

derklausi 2. Jan 2016 15:32

AW: Eintrag in DBGrid verschwindet
 
Hm aber alle Edit Feldern sind auf die gleiche Art verbunden daher ist es ja komisch das gerade diese wo über den Button angesteuert werden nicht gespeichert werden.

blondervolker 2. Jan 2016 15:45

AW: Eintrag in DBGrid verschwindet
 
Hast schon mal DBEdit Felder probiert? oder willst Du diese nicht benutzen?

derklausi 2. Jan 2016 16:28

AW: Eintrag in DBGrid verschwindet
 
Zitat:

Zitat von blondervolker (Beitrag 1325859)
Hast schon mal DBEdit Felder probiert? oder willst Du diese nicht benutzen?

ja jetzt bringt er mir aber eine Fehlermeldung

procedure ClassNotFound(const ClassName: string);
begin
raise EClassNotFound.CreateFmt(SClassNotFound, [ClassName]);
end;

mkinzler 2. Jan 2016 16:33

AW: Eintrag in DBGrid verschwindet
 
Und welche Klasse?

derklausi 3. Jan 2016 12:24

AW: Eintrag in DBGrid verschwindet
 
kann man auch mit einen DBEdit und onClick ereigniss die Uhrzeit bzw Datum anzeigen lassen

Sir Rufo 3. Jan 2016 12:41

AW: Eintrag in DBGrid verschwindet
 
Du solltest einmal über den Unterschied zwischen Daten und Anzeige nachdenken.

Stell dir vor, du hast ein Bild von dir und malst auf dem Bild dir einen Schnurrbart.
Jetzt hast du zwar ein Bild von dir mit einem Schnurrbart, aber beim nächsten Bild ist der Schnurrbart weg.

Mal dir den Schnurrbart direkt auf dein Gesicht.
Jetzt zeigt zwar das Bild von eben noch keinen Schnurrbart, aber jedes neue Bild (Update/Refresh) was du aufnimmst, zeigt jetzt auch den Schnurrbart.

So ist das mit den Daten im Prinzip auch. Ändere die Daten nicht in den Feldern, sondern direkt in der Datenmenge (Delphi ist so schlau und merkt dieses und macht ein neues Bild)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:38 Uhr.

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