Probiere bitte mal folgendes:
Statt
Delphi-Quellcode:
i := Columns.Count; // Columns.Count nimmt er, doch "interner Fehler", er scheint falsch zu zählen.
if (DataCol > 12) // das funktioniert jetzt, doch nur für > 12?! ich lasse das einmal so, weil es nicht lohnt. d.h. die Striche sind lang, doch nicht bis zum Ende
then Monatswechsel := false;
bitte
Delphi-Quellcode:
i := DBGrid1.DataSource.DataSet.FieldCount; // Anzahl der Spalten im DataSet.
if (DataCol >= i) then Monatswechsel := false;
Klappt es damit?