DataSource auslesen!
-
Mahlzeit!
Es gelingt mir der zugriff auf das letzte Element allerdings nicht auf alle Elemente:
Was ist falsch??
int strData; int n = 0; while (!grid_Anz->DataSource->DataSet->Eof) { strData = grid_Anz->Fields[n]->AsInteger; grid_Anz->DataSource->DataSet->Next(); n++; }
-
Hallo
das liegt daran das du den letzen gelesenen Wert immer wieder neu überschreibst.
strData = grid_Anz->Fields[n]->AsInteger;Du kannst zum Beispiel ein dynamisches Array wie std::vector<int> verwenden, wenn du wirklich alle Werte in einem extra Speicher willst.
Allerdings solltest du überlegen ob du das wirklich brauchst, und die Werte nicht direkt weiterverarbeitest (Je nachdem was du denn überhaupt damit machen willst)
bis bald
akari
-
Die Daten sollen zur Laufzeit in ein Excel Blatt geschrieben werden!
Im Moment wird aber nur der letzte Wert da reingeschrieben.Das mit dem Vektor wäre ein Zwischenschritt.
Gehts nicht auch irgendwie direkt???
int strData; int n = 0; while (!grid_Anz->DataSource->DataSet->Eof) { strData = grid_Anz->Fields[n]->AsInteger; grid_Anz->DataSource->DataSet->Next(); n++; } /////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////7 MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", 4 , 1). OlePropertySet("Value", "Januar"); MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", 4 , 2). OlePropertySet("Value", strData);
-
n00b_imp schrieb:
Die Daten sollen zur Laufzeit in ein Excel Blatt geschrieben werden!
Im Moment wird aber nur der letzte Wert da reingeschrieben.vielleicht solltest du dann die Ausgabe einfach mit in die Schleife tun und dann noch die Ausgabezelle antsprechend hochzählen
im von mir genannten Beitrag in der FAQ wird genau das gemacht...
-
habs schon...:
danke trotzdem!TDate anfang_Datum_Excel = txt_von->Text; TDate end_Datum_Excel = txt_bis->Text; // die daten aus dem datasource erfassen und in excel eintragen int strData; int j = 4; while (!grid_Anz->DataSource->DataSet->Eof) { int n = 0; strData = grid_Anz->Fields[n]->AsInteger; grid_Anz->DataSource->DataSet->Next(); MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", 4 , 1). OlePropertySet("Value", anfang_Datum_Excel); MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", j , 2). OlePropertySet("Value", strData); n++; j++; } MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", j-1 , 1). OlePropertySet("Value", end_Datum_Excel); /////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////