Announcement

Collapse
No announcement yet.

Lookup-Felder

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Lookup-Felder

    Kann man Lookup-Felder in einer Tabelle nur einsetzen, wenn man diese in der IDE (C++-Builde bzw. Delphi) definiert? Meine Datenbank wird per Quelltext erstellt, nach dem Motto:

    TFieldDef *neuesFeld = Tabelle1->FieldsDefs->AddFieldDef(); ...

    Den Feldtyp "Lookup-Feld" kann man ja nur für ein TField-Objekt einstellen, nicht aber für TFieldDef...

    Danke für Eure Hilfe

  • #2
    Hallo,

    die Lookup-Verbindung, die zur Entwicklungszeit über den Objektinspektor konfiguriert wird, taucht <b>nicht</b> in der Tabellendefinition auf. Statt dessen werden die TField-Instanzen konfiguriert, so das man diese Trennung (Tabellenstruktur definieren vs. Lookups definieren) auch dann einhalten muss, wenn die Lookup-Felder zur Laufzeit zugewiesen werden. Allerdings stellt sich die Frage, ob das überhaupt sinnvoll ist (warum etwas von Hand im Sourcecode machen, wenn es visuell besser geht)

    Comment


    • #3
      Hallo und danke für den Vorschlag.

      Ich hab' die Tabellendefinition im Quelltext geregelt, um mehrere gleich aufgebaute Tabellen mit verschiedenen Daten gleichzeitig geöffnet zu haben. Würde ich die Tabelle per Objektinspektor definieren, bräuchte ich dazu ja <b>ein</b> zentrales TTable-Objekt, oder sehe ich das falsch?
      Dann könnte ich diesem TTable-Objekt natürlich die entsprechende Datenbank (bzw. deren BDE-Alias) zuweisen, deren Tabelle in benötige. Auf die Idee bin ich auch schon gekommen, aber ich dachte mir, es müsste doch irgendeine Möglichkeit geben, da drumherum zu kommen.
      Sehe ich das richtig, dass es wirklich manche Dinge im BCB gibt, die <br>nur</br> per IDE und Objektinspektor und <br>nicht</br> per Quelltext zu regeln sind?

      Danke nochmal, ich fang' gleich schon mal an, mein Programm umzustellen. Dürfte nicht so viel Arbeit machen, denke ich

      Comment


      • #4
        Hallo,

        alles was visuell geht, muss zwangsläufig auch direkt im Sourcecode gehen (denn der Objektinspektor und die IDE setzen ja auch direkt auf die VCL-Klassen auf) - zumindestens gilt dies für Delphi

        Comment


        • #5
          Hallo.

          Es sollte so sein, klar. Bleibt nur die Frage "wie?". In der Online-Doku hab' ich zumindest keine Hinweis drauf gefunden, wie ich eine Tabelle direkt auf TField-Objekten zusammenbasteln kann, ohne den Umweg über das (vergleichsweise einfache) TFieldDef.
          Bei meiner Suche sind mir auch mal die sogenannte "persistenten Felder" aufgefallen - da ich bis jetzt noch nicht so ganz verstanden hab', worum's dabei geht, kann ich nur vermuten, dass die in dieser Sache auch mitspielen?!?
          Es könnte natürlich sein, dass diese Sache damit zusammenhängt, dass BCB zwar auf Delphi aufsetzt, aber nicht wirklich alles davon implementiert - es handelt sich nun mal um zwei verschiedene Sprachen. Allerdings glaub' ich das nicht, denn es geht hier ja um das dynamische Erzeugen bzw. Ändern einer Tabellenstruktur, und sowas dürfte ja nicht <b>so</b> Delphi-spezifisch sein. Aber man sich natürlich auch täuschen.

          Ich werd' nun mein Programm auf <b>eine</b> per IDE definierte Datenbank umstellen, das wird auch reichen. Es ist ja auch lediglich ein Programm für private und vor allem für Übungszwecke, und da ich eine lokale Paradox-DB benutze, müssen auch nicht unbedingt mehrere Sessions mit verschiedenen DBs gleichzeitig geöffnet sein und bearbeitet werden

          Comment

          Working...
          X