![]() |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Ja dann is ok...
Solltest trotzdem mit FieldByName arbeiten sonst wird das wohl nix. |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Hallo Christian,
das hat nichts mit FieldByName zu tun. Eine Tabelle wird z.B. so erzeugt:
Delphi-Quellcode:
D.h. du musst als ersten den Feldnamen angeben und dann den Typ. Mir ist auch noch nicht ganz klar, wo du diese Informationen herholst, was also z.B. DM.TFelderFeld.AsString sein soll?
with Table1.FieldDefs do
begin Clear; Add('Field1', ftInteger, 0, True); Add('Field2', ftString, 30, False); end; Table1.CreateTable; |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Zitat:
Ich redete vom Lesezugriff nicht vom Schreibzugriff :roll: |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Hallo,
ich bins nocheinmal. ich habe jetzt mein Programm noch einmal getestet und festgestellt, dass es an folgenden code liegt:
Delphi-Quellcode:
PS: was habe ich hier alsch gemacht???
if
DM.TFelder.FieldByName('Feld').AsString='T' then DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftString, DM.TFelderLaenge.AsInteger, False); if DM.TFelder.FieldByName('Feld').AsString='I' then DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftInteger, DM.TFelderLaenge.AsInteger, False); if DM.TFelder.FieldByName('Feld').AsString='D' then DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftDate, DM.TFelderLaenge.AsInteger, False); DM.TFelder.Next; Mit freundlichen Grüßen Christian18 |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Delphi-Quellcode:
Du hast da genau den gleichen Fehler drin.
if
DM.TFelder.FieldByName('Feld').AsString='T' then ==> DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftString, DM.TFelderLaenge.AsInteger, False); if DM.TFelder.FieldByName('Feld').AsString='I' then ==> DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftInteger, DM.TFelderLaenge.AsInteger, False); if DM.TFelder.FieldByName('Feld').AsString='D' then ==> DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftDate, DM.TFelderLaenge.AsInteger, False); DM.TFelderFeld.asString => DM.TFelder.FieldByName('Feld').asString :) |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Zitat:
um noch mal zu dieser zeiel zu sagen. DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftInteger, DM.TFelderLaenge.AsInteger, false); Dm ist bei mir ein Datenmodul. ich habe eine DB die heißt Formulare in dieser Db sind die namen der Formulare gespeichert. dann habe ich auch noch eine Db die heißt Felder. in dieser DB wird gespeichert: - Name des Feldes, - Typ des Feldes, - länge des Feldes. und jetzt will ich dynamisch eine DB erstellen. der name der Tabelle die erstellt werden soll wird aus der DB Formulare geholt. und welche felder in dieser DB enthalten sein sollen, dass wird auch aus einer DB geholt. Aus der Datenbank Felder. Also mit DM.TFelderfeld.AsString damit hole ich die daten aus der DB. Ich hoffe ich konnte meine Problematik ein bisschen verständlicher machen. mit fruendlichen grüßen Christian18 |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Kann man da nicht auch einen SQL-Befehl CREATE TABLE benutzen?
|
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
Hallo Christian,
jetzt habe ich verstanden, was du willst. Ein Fehler ist, dass du die eine Schleife benutzt (for i:=1 to ...) und dann noch mit First und next durch die Datenmenge läufst.
Delphi-Quellcode:
So sollte es funktionieren.
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; |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
hi,
versteh ich irgendwie nicht meine schleife macht doch eigentlich auch nicht anderes als deine oder??? mfg christian18 |
Re: Paradox 7 Tabelle dynamisch aus DB erstellen
es kommt trotz deiner anderen schleife immer noch der gleiche fehler. der fehler war ungültiger Parameter. ich sitze jetzt schon den ganzen tag an dieser kleien procedure. ich weiß auch nicht was ich immer falsch mache.
mfg christian18 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr. |
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