Überlauf bei numerischem Feld



  • ---------------------------
    Hi@all

    Meine ADOTable1 = ExcelTabelle -> Inhalte = Formatierung = TEXT;
    2 Spalten: PUNKTE | Platz

    Ich möchte automatisch nach Punkten sortieren und die Platzierung eintragen.

    // Tabelle nach Punkten sortieren
     ADOTable1->Sort = "Punkte DESC";
     //Platz eintragen
    
     for (ADOTable1->First(); !ADOTable1->Eof; ADOTable1->Next())
     {
      ADOTable1->Edit();
      ADOTable1->FieldByName("Platz")->Clear();
      if ( ADOTable1->FieldByName("Punkte")->Value != 0 )
      {
       ADOTable1->FieldByName("Platz")->Value = ADOTable1->RecNo;
      }
     }
    

    Bekomme ich folgende Fehlermeldung.

    Benachrichtigung über Debugger-Exception
    ---------------------------
    Im Projekt Turnier.exe ist eine Exception der Klasse EOleException mit der Meldung 'Überlauf bei numerischem Feld' aufgetreten.
    ---------------------------
    Anhalten   Fortsetzen   Hilfe   
    ---------------------------
    

    Thx@all


  • Mod

    Hallo

    in welcher Zeile wird denn der Fehler angezeigt.
    (Zeile 9 - was steht in Punkte ?)

    Mfg
    Klaus



  • Hallo,

    ADOTable1->FieldByName("Platz")->Clear();
    if ( ADOTable1->FieldByName("Punkte")->Value != 0 )

    diese Zeilen halte ich mal für überflüssig. Wer keine Punkte hat, landet halt unten oder oben, je nachdem. Ich bin auch nicht sicher ob RecNo mit der Sortierreihenfolge übereinstimmt.

    Gruß Rudi


Anmelden zum Antworten