Einzelnen Beitrag anzeigen

grayfox

Registriert seit: 22. Jan 2003
Ort: Litschau
173 Beiträge
 
Delphi 4 Standard
 
#4

Re: Tabellen springen zum letzten Datensatz, warum?

  Alt 23. Jun 2004, 19:13
auf den ersten blick fallen mir ein paar sachen/ungereimtheiten/unschönheiten auf...

- ich lege für die tabellen immer einen eigenen 'daten'-ordner im hauptverzeichnis des programmes an.
wenn das prog über mehrere jahre laufen soll, dann befinden sich im daten-ordner noch ordner mit der
jahreszahl und dort drinnen stehen erst die tabellen.

- ID's bennene ich mit ID. somit sehe ich auf den ersten blick, dass es sich um den haupt-ID einer tabelle
handelt. fremdID's bekommen zum feldnamen, auf welchen sie verweisen die endung '_ID' (zb: Plz_ID). auf diese
weise bewahre ich mir die übersicht.

- ich benenne feldnamen niemals 'name'. das kann schon wieder in irgend einem db-system ein reserviertes wort
sein und probleme schaffen. warum sagst nicht 'zuname' oder 'nachname'?

- ich verwende bei tabellennamen WEDER umlaute, NOCH leer- oder sonderzeichen. auch wenn die eine db solche
akzeptiert, bei einer anderen kann es schon wieder vollkommen anders aussehen.



Code:
Die Keine der Tabelle ist indiziert

heisst das nun die EINE oder KEINE?
einen index hab ich nämlich gefunden...
Delphi-Quellcode:
   WITH indexdefs DO BEGIN
     clear;
     Add('Whg', 'Whg', [ixprimary, ixunique]);
   END;
noch was... der primärindex hat bei paradox keinen namen.
du kannst ihn auch mit
 Add('', 'ID', [ixprimary, ixunique]); definieren.

Code:
das eonzige was ich mache ist table.open;
Ich wüsste auch garnicht warum ich diese active setzen sollte
und was ist das dann?
Delphi-Quellcode:
   with Table1 do begin
     active := false;
oder hier?

Delphi-Quellcode:
   with Table2 do begin
     active := false;
der unterschied zwischen open und aktive ist nur, dass open/close proceduren sind,
welche die tables öffnen oder schliessen und activ ein property ist, mit dessen
hilfe sich der status der tables abfragen lässt.

wieso arbeitest denn mit varianten variablen, wenn du den feldtypen kennst?
[delphi] table1whg.Value[ /delphi]
macht das sinn?

ich verwende diese form des zugriffes nur, wenn ich mit einer schleife über alle felder
iteriere - somit kann ich den feldindex nutzen und brauch mich auch nicht um den typen
zu kümmern

ich vermute, dass das komische verhalten der tabelle von deinem filter herrührt. ich versteh
den sinn dieser routine nicht ganz

und die überprüfung auf whg und name = '' mit anschliessendem löschen des eintrages kommt
mir in der FormCreate-procedure komisch vor.

ausserdem würde ich zum Table1.DisableControls und Table1.EnableControls verwenden, um die
anzeige von der tabelle abzukoppeln. mit DBGrid.Enabled:= true schaffst nur, dass der user
nichts mehr anklicken kann, die datensätze werden trotzdem sichtbar gescrollt.

stehen diese routinen wirklich alle in der FormCreate-procedure, oder hast zum herzeigen
allerhand zusammenkopiert?

mfg, stefan
  Mit Zitat antworten Zitat