FieldDefs->Add funzt nicht



  • Hallo,

    Beim Versuch diese Methode aufzurufen
    frmAdministration->TableBenutzer->FieldDefs->Add("zusatz",ftString,30,false);

    kommt zu folgender Fehlermeldung:

    "Zugriffsverletzung an der Adress BLA BLA..."

    Active Eigenschaft der TTable steht auf false.

    Idee?

    Danke

    epidemic



  • hi,

    hier mal ein beispiel wie ich das mache... ich habe ein query und schiebe die abfrage in eine neue tabelle.

    // ...
    
      // neue tabelle anlegen
      /*Table1->*/Active       = false;
      /*Table1->*/TableType    = ttParadox;
      /*Table1->*/TableName    = "blahblah";
    
      // zielverzeichnis für die tabelle
      /*Table1->*/DatabaseName = ExtractFilePath(Application->ExeName) + "temp";
    
      // felddefinitionen löschen
      /*Table1->*/FieldDefs->Clear();
    
      // Query-Abfrage durchgehen und in Tabelle eintragen
      for (int i = 0; i < Query->FieldCount; i++)
      {
        int ds        = Query->Fields->Fields[i]->DataSize;
        TFieldType dt = Query->Fields->Fields[i]->DataType;
    
        switch(dt)
        {
          // diese feldtypen müssen 0 sein (laut hilfe Field->Size)
          case ftAutoInc  :
          case ftBoolean  :
          case ftSmallint :                  
          case ftWord     :
          case ftInteger  :
          case ftLargeint :
          case ftDate     :
          case ftTime     :
          case ftDateTime :
          case ftFloat    :
          case ftCurrency : ds = 0;
                            break;
    
          // alle anderen bekommen die originalgrösse zugewiesen
        }
    
        // felddefinition anlegen
        /*Table1->*/FieldDefs->Add(Query->Fields->Fields[i]->FieldName, dt, ds, false);
      }
    
      // internes feld einfügen
      /*Table1->*/FieldDefs->Add("TmpInternData", ftInteger, 0, false);
    
      // tabelle erzeugen
      /*Table1->*/CreateTable();
    
      // tabelle öffnen
      /*Table1->*/Active = true;
    
    // ...
    

    /*Table1->*/ ist nur zur kennzeichnung, dass diese eigenschaften und funktionen zum TTable gehören!

    [ Dieser Beitrag wurde am 31.03.2003 um 14:17 Uhr von Sunday editiert. ]



  • Danke!

    hat sich erledigt, habe das Problem mit direktem SQL Statement gelöst.

    epidemic


Anmelden zum Antworten