AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Index-Diskriptor

Ein Thema von Privateer3000 · begonnen am 9. Jul 2002 · letzter Beitrag vom 10. Jul 2002
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.015 Beiträge
 
Delphi 2010 Professional
 
#11
  Alt 10. Jul 2002, 13:06
Nein, absolut korrekt. Wenn "Name" der Schlüssel ist und dieser auch ausgewählt ist (was immer der Fall ist, wenn es sich um den primary key handelt und dieser nicht explizit abgewählt wird), dann ist dein Code korrekt. Es muss also an einem nicht richtig initialisierten Objekt oder so etwas liegen. Wie ist "meld" deklariert? Tritt der Fehler schon bei Open auf?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
FreePascal / Lazarus
 
#12
  Alt 10. Jul 2002, 13:49
yo, schon beim Start des Programmes.
meld wird als var meld: string; dekl.

beim start kommt eine inputbox:

meld:=inputbox('Eingabe','Bitte den Namen eingeben!','');

und jetzt kommts:
findkey soll nachgucken ob der eingegebene Name schon
in Datamodule9 bzw. in dessen table2 exisitert.

Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
meld:=inputbox('Eingabe','Bitte den Namen eingeben!','');
if meld=('') then
begin
Showmessage('Kein Name angegeben!');
meld:=inputbox('Eingabe','Bitte den Namen eingeben!','');
end;
with DataModule9 do
begin
Table2.Open;
if Table2.FindKey([meld]) then
showmessage('Name existiert schon!');
end;
.
.
.

usw
so siehts aus...
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.015 Beiträge
 
Delphi 2010 Professional
 
#13
  Alt 10. Jul 2002, 14:03
Hallo Privateer3000,

versuchs mal mit :

Code:
if meld='' then ...
Die runden Klammern sind dort falsch. Außerdem könnte es sein, dass während FormCreate das Datenmodul noch gar nicht korrekt initialisiert ist. Deshalb wäre es besser die Abfrage in der OnActivate-Methode zu implementieren (mit der firstTime Variable, wie ich es schon mal beschrieben habe.)
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
FreePascal / Lazarus
 
#14
  Alt 10. Jul 2002, 16:52
Das wars auch !
Ich habe
with DataModule9 do
begin
Table2.Open;
if Table2.FindKey([meld]) then
showmessage('Name existiert schon!');
end;

in onActivate ausgelagert, jetzt gehts.
Also ist der Zugriff bei FormCreate zu früh..siehste wusst ich auch noch nicht.

Besten Dank Spocki
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
6.015 Beiträge
 
Delphi 2010 Professional
 
#15
  Alt 10. Jul 2002, 17:06
Gern geschehen.

Beachte aber bitte, dass Activate nicht nur einmal am Anfang, sondern auch dann ausgeführt wird, wenn z.B. ein minimiertes Fenster wieder vergrößert wird. Deshalb solltest du die Abfrage:
Code:
if FirstTime then
begin
   FirstTime := False;
   { hier der Code, der nur einmal ausgeführt werden soll }
end;
{ hier der Code, der immer ausgeführt werden soll }
Dabei in FormCreate

Code:
FirstTime := True;
vorbesetzen. FirstTime ist dabei im privat - Abschnitt der Form als Boolean deklariert.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
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 03:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf