PDA

Vollständige Version anzeigen : Datum im MSHFlexGrid darstellen


AndiD
28.05.2012, 06:27
Hi an alle,

ich muß mehrere Tausend Datensätze aus einer mysql-Tabelle in einem Flexgrid darstellen. Da das Zeilenweise einlesen einfach zu lange dauern würde, nehme ich ein MSHFlexGrid und fülle es per ".DataSource" mit einem ADO-Recordset. Klappt auch soweit ganz gut.
Problem ist, das er jetzt auch das Datumsformat aus der mysql-Tabelle (yyyy-mm-dd) übernimmt. Ich hätte aber halt gerne das deutsche Datumsformat angezeigt :)

lt. Mysql-Referenzhandbuch benutzt man hierfür die Function "SELECT DATE_FORMAT(Datenfeld, '%e.%m.%Y') As MeinFeld"

Aber wenn ich den Ado-Recordset mit
RsA.Open "SELECT ID, DATE_FORMAT(Datenfeld, '%e.%m.%Y') As Buchungsdatum, vk, Bezeichnung,... FROM MeineTabelle", AdoConn
öffne, wird das Feld "Buchungsdatum" nicht angezeigt.

Wenn ich mit 'ner Msg-Box den ersten Datensatz anzige, werden im Feld Buchungsdatum 5 Fragezeichen angezeigt :(
Also vermute ich, das die Syntax unter VBA etwas geändert werden muss. Habe schon alles mögliche probiert (Hochkomma, Anführungszeichen, ohne irgenwelche Trennzeichen...) nix funktioniert... :mad:

ihr seid meine letzte Hoffnung... dies ist meine dunkelste Stunde... (oder so ähnlich... :D )

Gruz Andi

AndiD
28.05.2012, 07:46
ich hab's... :)

für alle Interessierten:

statt ".DataSource" benutze ich die Ado-Methode "Getstring" mit der Clip-Eigenschaft des MSHFlexgrid. Und diese formatiert das Datum automatisch korrekt... keene Ahnung warum... :eek:


Rs.MoveLast
Rs.MoveFirst

' Assuming that rs is your ADO recordset
.Rows = Rs.RecordCount + 1
rsVar = Rs.GetString(adClipString, Rs.RecordCount)

.Row = 1
.Col = 0

' Set range of cells in the grid
.RowSel = .Rows - 1
.ColSel = .Cols - 1
.Clip = rsVar

' Reset the grid's selected range of cells
.RowSel = .Row
.ColSel = .Col

sag' noch mal jemand, die Microsoft-FAQ's würden nix taugen... ;)

Gruz Andi