AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Neuer Datensatz automatisch erstellen

Neuer Datensatz automatisch erstellen

Ein Thema von Megabyte · begonnen am 5. Dez 2002 · letzter Beitrag vom 6. Dez 2002
Antwort Antwort
Seite 1 von 2  1 2   
Megabyte

Registriert seit: 23. Nov 2002
Ort: Schweiz
31 Beiträge
 
Delphi 7 Enterprise
 
#1

Neuer Datensatz automatisch erstellen

  Alt 5. Dez 2002, 12:12
Hallo zusammen

wie bringe ich Delphi dazu beim öffnen eines Formulars(neuer Datensatz)
automatisch einen neuen Datensatz zu erstellen. Gewisse Felder wie Zeit
und Datum sollten vorausgefüllt sein.

wer weiss dazu eine Lösung.

Danke für die Hilfe

cu Megabyte
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 5. Dez 2002, 12:46
Hallo Megabyte,

ich würde das in die OnActivate Methode packen, damit es aber nur bei der ersten Aktivierung ausgeführt wird, benutze ich eine Variable FirstTime: Boolean, die in OnCreate auf True gesetzt wird, dann kann man bei OnActivate folgendes machen:

Delphi-Quellcode:
if FirstTime then
begin
  FirstTime := False;
  MyTable.Open;
  MyTable.Append
end
else ...
Dem OnNewRecord Event der TTable erklärt man jetzt, welche Daten vorzubesetzen sind:

Delphi-Quellcode:
  MyTableFeld1.AsString := 'Blabla';
  MyTableFeld2.AsInteger := 17;
Damit ist die Tabelle automatisch im Edit Mode und die Felder sind vorbesetzt.

Denke eventuell daran bei OnClose die Tabelle zu schließen und ggf. FirstTime wieder auf True zu setzen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Megabyte

Registriert seit: 23. Nov 2002
Ort: Schweiz
31 Beiträge
 
Delphi 7 Enterprise
 
#3
  Alt 5. Dez 2002, 14:00
Hallo MR.Spock

wie kann ich die Variable Firsttime in die OnActivate und OnCreate packen.Wie muss cih den Code für OnActivate abändern. Habe nur Fehlermeldungen von Unit1.pas .Was mache ich falsch ?
Delphi-Quellcode:
var
  Form1: TForm1;
  FirstTime: Boolean;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
If FirstTime then
begin
    FirstTime : = False;
     rapport.Open
     rapport.append
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 FirstTime := True;
end;

end.
Danke für deine weiterführende Hilfe


Megabyte
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 5. Dez 2002, 15:32
Hallo Megabyte,

Delphi-Quellcode:
type
  TForm1 = class(TForm)
   ...
  private
    { Private-Deklarationen }
     FirstTime : Boolean;
  public
    { Public-Deklarationen }
  end;
end;
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
begin
  If FirstTime then
  begin
    FirstTime : = False;
    rapport.Open
    rapport.append
  end
end;
So sollte es funktionieren.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Megabyte

Registriert seit: 23. Nov 2002
Ort: Schweiz
31 Beiträge
 
Delphi 7 Enterprise
 
#5
  Alt 5. Dez 2002, 16:09
Hallo MRSpock

habe immer noch eine Fehlermeldung in folgendem code irgendetwas stimmt noch nicht :
Delphi-Quellcode:
procedure TForm1.FormActivate(Sender: TObject);
If FirstTime then
begin
    FirstTime :=False;
     rapport.Open
     rapport.append
end;
Als fehler gibt er auseclaration expected but IF found
Missing Operator or semicolone
could not compile unit1.pas

was mache ich falsch
cu Megabyte
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#6
  Alt 5. Dez 2002, 16:15
Du hast das begin vergessen!
Code:
procedure TForm1.FormActivate(Sender: TObject);
[color=#ff0000]begin[/color]
If FirstTime then
begin
    FirstTime :=False;
     rapport.Open
     rapport.append
end;
// weiteres
// und natürlich
[color=#ff0000]end;[/color]
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von harrybo
harrybo

Registriert seit: 26. Nov 2002
Ort: Aachen
87 Beiträge
 
Delphi 6 Enterprise
 
#7
  Alt 5. Dez 2002, 16:54
Hi Megabyte,

es sieht so aus, als sei Deine Variable FirstTime dazu da, nur beim ersten Aktivieren der Form den Code zu durchlaufen. Extra zu diesem Zweck gibt es Form-Ereignis "OnCreate". Es wird im Gegensatz zu OnActivate nur ein einziges Mal, nämlich, wie der Name schon sagt, beim Erzeugen der Form aufgerufen. Wenn Du also den Code in "OnCreate" legst, kannst Du Dir den FirstTime-Trick sparen.
Harry Boldt
  Mit Zitat antworten Zitat
Megabyte

Registriert seit: 23. Nov 2002
Ort: Schweiz
31 Beiträge
 
Delphi 7 Enterprise
 
#8
  Alt 5. Dez 2002, 18:00
Hallo ihr Programmierer

Dies funktioniert nur bei fixen Werten ( z.Bsp "Blabla")
Zitat:
Dem OnNewRecord Event der TTable erklärt man jetzt, welche Daten vorzubesetzen sind:
Delphi-Quellcode:
 MyTableFeld1.AsString := 'Blabla';
  MyTableFeld2.AsInteger := 17;
Damit ist die Tabelle automatisch im Edit Mode und die Felder sind vorbesetzt.
1.Wie mache ich dies wenn aus einer andern Datenbanktabelle ein Wert vorgegeben wird dieser aber geändert werden kann bevor das ganze in die
geöffnete Tabelle gespeichert wird?

2 Wie kann ich das aktuelle Datum oder die aktuelle Zeit vorbesetzen?

Danke für die Hilfe bin Delphi-Neuling und am lernen

cu Megabyte
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9
  Alt 5. Dez 2002, 19:20
Hallo Megabyte,

dazu musst du auch die zweite Tabelle öffnen, den gewünschten Datensatz der 2. Tabelle auswählen z.B. mit Locate oder FindKey und dann:
Delphi-Quellcode:
  MyTableFeld1.AsString := Table2Ort.AsString;
  MyTableFeld2.AsInteger := Table2HausNr.AsInteger;
  MyTableHeute.AsDateTime := date;
  MyTableJetzt.AsDateTime := now;
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Megabyte

Registriert seit: 23. Nov 2002
Ort: Schweiz
31 Beiträge
 
Delphi 7 Enterprise
 
#10
  Alt 5. Dez 2002, 19:53
Danke so gehts


muss ich die .AsDateTime ,.AsString , .AsInteger Variablen irgendwo noch registieren ?

Wie muss ich genau den Code für die aus der 2 Tabelle stammenden Werte erstellen(es ist nur 1 Datensatz ind der Tabelle "Stamm" vorhanden.Das Feld heisst "Ort" respektive "Bezirk")?

Cu Megabyte
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:28 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