Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Paradox 7 Tabelle dynamisch aus DB erstellen (https://www.delphipraxis.net/34037-paradox-7-tabelle-dynamisch-aus-db-erstellen.html)

Christian18 16. Nov 2004 20:15

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
achso einz vieleicht noch hier einmal ein aktueller quellcode:

Delphi-Quellcode:
procedure TFFFeld.BitBtn4Click(Sender: TObject);
  var i : Integer;
begin
  // Datenbank Dynamisch erstellen
  DM.Table1.Active:=False;
  DM.Table1.DatabaseName:=ExtractFilePath(Application.ExeName) + 'dynamischeDB\';
  DM.Table1.TableName:=DM.TFormulareFormular.AsString;
  DM.Table1.TableType:=ttParadox;

  DM.Table1.FieldDefs.Clear;
  DM.TFelder.First;

while NOT DM.TFelder.Eof do
begin
  if DM.TFelderFeld.AsString='T' then
      DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftString, DM.TFelderLaenge.AsInteger, false)
  else if DM.TFelderFeld.AsString='Z' then
      DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftInteger, DM.TFelderLaenge.AsInteger, false)
  else if DM.TFelderFeld.AsString='D' then
      DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftDate, DM.TFelderLaenge.AsInteger, false);

   DM.TFelder.Next;
end;
DM.Table1.CreateTable;

  DM.Table1.CreateTable;
end;

MrSpock 16. Nov 2004 20:19

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Hallo Christian,

du hast Recht dein Code macht das gleiche. War nur etwas ungewöhnlich.

Es liegt glaube ich an der Länge der Felder. Für Integer und Date muss glaube ich immer 0 übergeben werden.

[zusatz]
Du kannst zumindest bei D7 die letzten beiden Parameter auch weglassen. Sie haben default Werte für alles außer Strings.
Außerdem gibt es die neue Funkion AddFieldDefs
[/zusatz]

Christian18 16. Nov 2004 20:26

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
hallo Mr. Spock,

wenn in der erstellten DB das Feld vom Typ datum oder integer ist, dann habe ich das so gemacht das, das jeweilige längen Feld auf 0 gesetz wird. also das kann es dann auch nicht sein.

MrSpock 16. Nov 2004 20:31

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Hallo Christian,

gehe die Schleife einmal Schritt für Schritt durch und überpüfe die Werte für Feld und Laenge an der Stelle, an der der Fehler auftritt.

Könnte es sein, das keine Bedingung erfüllt ist, weil z.B. 'T ' (mit blank) in der Tabelle steht und deshalb FieldDefs leer ist, wenn die Tabelle erstellt werden soll?

Christian18 16. Nov 2004 20:35

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Hallo,

der fehler tritt immer bei Create table auf. Die Idee mit der Schleife hatte ich auch schon. :)

MFG

Christian18

MrSpock 16. Nov 2004 20:39

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Hallo Christian,

hat einer der Namen Umlaute oder Sonderzeichen?

Hänge doch einmal die Tabelle TFelder an, dann probier ich das mal aus.

Bist du auch sicher, dass die Tabelle noch nicht existiert?

Christian18 16. Nov 2004 20:43

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier die tabelle TFelder

Christian18 16. Nov 2004 20:54

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Zitat:

Zitat von MrSpock
Hallo Christian,

hat einer der Namen Umlaute oder Sonderzeichen?

Hänge doch einmal die Tabelle TFelder an, dann probier ich das mal aus.

Bist du auch sicher, dass die Tabelle noch nicht existiert?

eigentlich schon denn im verzeichnis wo die DB erstellt werden soll, da ist keine DB :)

MrSpock 16. Nov 2004 21:59

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Hallo Christian,

ich muss Morgen auf Dienstreise und kann mir das erst übermorgen genauer anschauen. Aber ich bin sicher, das das lösbar ist.

MrSpock 16. Nov 2004 22:04

Re: Paradox 7 Tabelle dynamisch aus DB erstellen
 
Hallo Christian,

Feldnamen dürfen nicht mit einer Ziffer beginnen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:34 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz