AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Paradox 7 Tabelle dynamisch aus DB erstellen

Paradox 7 Tabelle dynamisch aus DB erstellen

Ein Thema von Christian18 · begonnen am 16. Nov 2004 · letzter Beitrag vom 19. Nov 2004
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 14:19
Ja dann is ok...

Solltest trotzdem mit FieldByName arbeiten sonst wird das wohl nix.
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 14:31
Hallo Christian,

das hat nichts mit FieldByName zu tun. Eine Tabelle wird z.B. so erzeugt:

Delphi-Quellcode:
 with Table1.FieldDefs do
  begin
    Clear;
    Add('Field1', ftInteger, 0, True);
    Add('Field2', ftString, 30, False);
  end;

  Table1.CreateTable;
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?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 14:38
Zitat von MrSpock:
Mir ist auch noch nicht ganz klar, wo du diese Informationen herholst, was also z.B. DM.TFelderFeld.AsString sein soll?
Das war mit FieldByName gemeint => DM.TFelder.FieldByName('Feld').asString;
Ich redete vom Lesezugriff nicht vom Schreibzugriff
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#14

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 15:04
Hallo,

ich bins nocheinmal.

ich habe jetzt mein Programm noch einmal getestet und festgestellt, dass es an folgenden code liegt:



Delphi-Quellcode:
      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;
PS: was habe ich hier alsch gemacht???

Mit freundlichen Grüßen

Christian18
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 15:38
Delphi-Quellcode:
      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);
Du hast da genau den gleichen Fehler drin.
DM.TFelderFeld.asString => DM.TFelder.FieldByName('Feld').asString
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#16

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 20:52
Zitat von MrSpock:
Hallo Christian,

das hat nichts mit FieldByName zu tun. Eine Tabelle wird z.B. so erzeugt:

Delphi-Quellcode:
 with Table1.FieldDefs do
  begin
    Clear;
    Add('Field1', ftInteger, 0, True);
    Add('Field2', ftString, 30, False);
  end;

  Table1.CreateTable;
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?
hallo Mr. Spock,

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
  Mit Zitat antworten Zitat
Benutzerbild von Mystic
Mystic

Registriert seit: 18. Okt 2003
Ort: Flerzheim
420 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 20:58
Kann man da nicht auch einen SQL-Befehl CREATE TABLE benutzen?
Jan Steffens
Der Fachwortgenerator - 100% Schwachsinn --- Der UPnP Router Manager - Kommentare erwünscht!
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#18

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 21:06
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:
 DM.Table1.FieldDefs.Clear;
DM.TFelder.First;

while NOT DM.TFelder.Eof do
begin
  if DM.TFelderFeld.AsString='Tthen
      DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftString, DM.TFelderLaenge.AsInteger, false)
  else if DM.TFelderFeld.AsString='Zthen
      DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftInteger, DM.TFelderLaenge.AsInteger, false)
  else if DM.TFelderFeld.AsString='Dthen
      DM.Table1.FieldDefs.Add(DM.TFelderFeld.AsString, ftDate, DM.TFelderLaenge.AsInteger, false);
          
   DM.TFelder.Next;
end;
DM.Table1.CreateTable;
So sollte es funktionieren.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#19

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 21:08
hi,

versteh ich irgendwie nicht meine schleife macht doch eigentlich auch nicht anderes als deine oder???

mfg

christian18
  Mit Zitat antworten Zitat
Christian18

Registriert seit: 9. Dez 2003
Ort: Hamburg
1.279 Beiträge
 
#20

Re: Paradox 7 Tabelle dynamisch aus DB erstellen

  Alt 16. Nov 2004, 21:14
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
  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 18:49 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