Announcement

Collapse
No announcement yet.

Felder der Tabelle (TTable) suchen/benutzen

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

  • Felder der Tabelle (TTable) suchen/benutzen

    Hallo,

    ich hole mir alle Tabellenfelder (Namen der Felder) über die Methode TTable.GetFieldNames(TStringlist) in eine Stringliste, das klappt auch wunderbar. Wenn ich aber zur Entwurfszeit des Projektes über den Objektinspektor im Delphi durch einen Doppelklick auf die TTable Komponente die Felder festlege dann gibt mir die GetFieldNames Methode nur die Feldnamen dieser Felder zurück die ich dort hinzugefügt habe, die Tabelle hat aber noch weitere Felder die nicht zur Entwurfzeit feststehen und somit auch nicht hinzugefügt sind bei der TTable Komponente. Wenn ich überhaupt keine Felder zur Entwurfszeit zuordne dann liefert mir die GetFieldNames Methode alle Felder zurück. Ich muss aber bestimmte Felder zur Entwirfszeit definieren da ich bestimmte Formatierungen festlege. Wie kann ich jetzt also die Felder, welche nicht zur Entwurfszeit hinzugefügt worden sind abfragen?

    Vielen Dank und Grüße

    Hendrik

  • #2
    Hallo,

    wenn kurzzeitig eine zweite TTable-Instanz, bei der im Feldeditor keine persistenten TField-Instanzen angelegt wurden, verwendet wird, sollten wieder alle Spalten der Tabelle auftauchen

    Comment


    • #3
      Hallo,

      vielen Dank. Ich habe nun eine zweite Tabelle ohne persistente Felder zum auslesen der Felder verwendet, dies klappt auch wenn ich nun aber einige DBEdit und Label Felder dynamisch erstelle und den DBEdit Felder die DataSource der "Normalen Tabelle" mit den persistenten Feldern zuweise kommt der Fehler das, dass Feld nicht gefunden werden kann. Ich muss aber die DBEdit Felder mit dieser Tabelle verbinden und in der "normalen Tabelle" kann ich ja vorher die Felder nicht festlegen da sie nicht bekannt sind. Ich kann auch nicht die angelegten persistenten Löschen! Wie kann ich nun auf die anderen Felder über die DBEdit Komponenten zugreifen?

      Vielen Dank und Grüße

      Hendri

      Comment


      • #4
        Hi,
        <p>ich hab mal eine Dynamische SQL GUI geschrieben wo die jeweilige Tabellenabfrage und die Komponenten auch erst zur laufzeit erstellt und zugewiesen wurden, allerdings war die datenbank verbindung <b>TQuery</b> mit dynamisch erzeugten Insert,Update,Selects in TUpdateSQL, ohne persistente Felder. Solange das Select nur eine Tabelle behandelt klappt das recht gut</p>
        Gruß Andrea

        Comment


        • #5
          Hallo,

          ja dann würde es klappen, wenn ich eine zweite TTable Komponente ohne persistente Felder benutze gehts es auch. Ich kann aber nur eine TTable Komponente verwenden, gibt es da überhaupt keine Möglichkeit? Wenn ich im Entwurfsmodus den Felddesigner benutze kann ich doch auch die neuen Felder hinzufügen!

          Grüße Hendri

          Comment


          • #6
            Hallo,

            also ich habe das Problem jetzt wiefolgt gelöst:

            Zuerst hole ich mir über eine neue TTable Instanz (bei der keine persistenten Felder zugeordnet sind) alle Feldnamen der entsprechenden Tabelle dann lege ich die fehlenden Felder in der "echten Tabelle" als Persistente Felder an. Jetzt kann ich auf diese Felder zugreifen und meine DBEdits und DBCheckboxen dynamisch erzeugen. Der Anwender kann nun "freie Felder" definieren um beliebige zusätzliche Daten in der Datenbank zu speichern. Die Eingabe erfolgt über das dynamisch erstellte Form mit den entsprechenden Eingabefeldern.

            Grüße Hendri

            Comment

            Working...
            X