Announcement

Collapse
No announcement yet.

DatenTyp eines Indexfeldes ermitteln

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

  • DatenTyp eines Indexfeldes ermitteln

    <html>

    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
    <title>Normale Seite ohne Titel</title>
    </head>

    <body bgcolor="#FFFFFF">

    <p>Wie kann ich nun bei einem TTable Objekt den DatenTyp des
    ersten Feldes eines Index ermitteln ? In TIndexDefs habe ich nur
    die Eigenschaften Items und Count. Also, <font color="#0000A0"><strong>Table-&gt;IndexDefs-&gt;Items[Indexnummer]</strong></font>
    ist mir bekannt, ich brauche eine Feldnummer um <font
    color="#0000A0"><strong>Table-&gt;FieldDefs-&gt;Items[Feldnummer]-&gt;DataType</strong></font>
    auszulesen. Oder, wie kann ich mit
    Table-&gt;FieldByName(Feldname) an TFieldDefs herankommen ? Wobei
    aber der Umweg über den Namen sicher nicht elegant ist, zumal
    ein Index ja aus mehreren Feldern bestehen kann. Ich hoffe, die
    Lösung ist ganz einfach. Danke schon mal. - Günther</p>
    </body>
    </html>
    Günther

  • #2
    Hi
    über die Eigenschaft IndexFields krigst du ein TField* zurück und
    darüber läßt sich der Feldtyp (nach BDE Definition) rausfinden.
    Beispiel:

    ...
    anz = IndexFieldCount;
    if (anz > 0)
    {
    for (i=0; i < anz; i++)
    {
    fld = IndexFields[i];
    IdxFldNo[i] = fld->FieldNo;
    }
    }
    Klappt aber nur für einfache Indizes, nicht für Indexausdrücke über
    mehrere Felder.

    Gruß
    Jör

    Comment

    Working...
    X