Hallo,
bei mir erscheinen alle Datumswerte in allen LL15-Listen falsch (01.01.-4713)!
der gleichen Programmcode funktioniert in LL14 ohne Probleme. Für die Übergabe an LL benutze ich folgendes:
Das Feld in der SQL-Datenbank ist als “datetime” definiert. Beim Debugen erhalte ich strContent mit richtigem Wert z.B. “03.11.2009 14:28:00”
ich habe bereits folgendes getestet:
strParam = LlFieldType.Date
und
strParam = LlFieldType.Date_MS
und
strParam = LlFieldType.Date_OLE
jeweils ohne Erfolg. Ich benutze VB2008 mit .NET 3.5, LL15 SP01, SQL2008/2005
Für jegliche Hilfe (Beispiele) bin ich euch sehr dankbar.
Das Datum wird falsch übergeben. Wenn Du’s so machst wie beschrieben
könnte LL_DATE_LOCALIZED funktionieren. Besser wäre es aber, es als
OLE Date (d.h. Zahl der Tage ab dem 31.12.1899) oder direkt als
julianischen Wert (Zahl der Tage ab dem 1.1.-4716) zu übergeben.
Wenn’s bei LL14 klappte, halte ich das für Glückssache.
Paulchen
“Fardin Asghari” <f.asghari@sputnik-i…> wrote in message
news:9390124200917308@combit.net…
Hallo,
bei mir erscheinen alle Datumswerte in allen LL15-Listen falsch
(01.01.-4713)!
der gleichen Programmcode funktioniert in LL14 ohne Probleme. Für
die Übergabe an LL benutze ich folgendes:
Das Feld in der SQL-Datenbank ist als “datetime” definiert. Beim
Debugen erhalte ich strContent mit richtigem Wert z.B. “03.11.2009
14:28:00”
ich habe bereits folgendes getestet:
strParam = LlFieldType.Date
und
strParam = LlFieldType.Date_MS
und
strParam = LlFieldType.Date_OLE
jeweils ohne Erfolg. Ich benutze VB2008 mit .NET 3.5, LL15 SP01,
SQL2008/2005
Für jegliche Hilfe (Beispiele) bin ich euch sehr dankbar.
Hallo Paul,
danke für deine Antwort.
Sorry, leider versteh ich nicht ganz:
wenn ich es so schreibe, dann erhalte ich “04.11.-4604” für “2009-11-03 14:28:00.000”
strParam = LlFieldType.Date_Localized
strContent = CDate(MyDataReader.Item(i).ToString).ToShortDateString
wenn ich es so schreibe, dann erhalte ich “04.01.-4713” für “2009-11-03 14:28:00.000”
strParam = LlFieldType.Date
strContent = CDate(MyDataReader.Item(i).ToString).ToShortDateString
wenn ich es so schreibe, dann erhalte ich “02.01.1900” für “2009-11-03 14:28:00.000”
strParam = LlFieldType.Date_OLE (und auch bei Date_MS)
strContent = CDate(MyDataReader.Item(i).ToString).ToShortDateString
wenn ich es so schreibe, dann erhalte ich “03.11.2009” für “2009-11-03 14:28:00.000”
strParam = LlFieldType.Date_DMY
strContent = CDate(MyDataReader.Item(i).ToString).ToShortDateString
mein strContent hat immer die richtige Werte. Wenn es bei LL13, LL14 so funktionierte. Wie kann ich es nun lösen.
Für jede Hilfe bin ich sehr dankbar.
Gruss
Fardin
Das Datum wird falsch übergeben. Wenn Du’s so machst wie beschrieben
könnte LL_DATE_LOCALIZED funktionieren. Besser wäre es aber, es als
OLE Date (d.h. Zahl der Tage ab dem 31.12.1899) oder direkt als
julianischen Wert (Zahl der Tage ab dem 1.1.-4716) zu übergeben.
Wenn’s bei LL14 klappte, halte ich das für Glückssache.
Paulchen
“Fardin Asghari” <f.asghari@sputnik-i…> wrote in message
news:9390124200917308@combit.net…
Hallo,
bei mir erscheinen alle Datumswerte in allen LL15-Listen falsch
(01.01.-4713)!
der gleichen Programmcode funktioniert in LL14 ohne Probleme. Für
die Übergabe an LL benutze ich folgendes:
Das Feld in der SQL-Datenbank ist als “datetime” definiert. Beim
Debugen erhalte ich strContent mit richtigem Wert z.B. “03.11.2009
14:28:00”
ich habe bereits folgendes getestet:
strParam = LlFieldType.Date
und
strParam = LlFieldType.Date_MS
und
strParam = LlFieldType.Date_OLE
jeweils ohne Erfolg. Ich benutze VB2008 mit .NET 3.5, LL15 SP01,
SQL2008/2005
Für jegliche Hilfe (Beispiele) bin ich euch sehr dankbar.
wenn ich es so schreibe, dann erhalte ich “03.11.2009” für
“2009-11-03 14:28:00.000”
strParam = LlFieldType.Date_DMY
strContent = CDate(MyDataReader.(i).ToString).ToShortDateString
Na das ist doch OK, oder? Aber das klappt nur in Deutschland, denn nur
hier ist es “t.m.j”-formatiert. In den USA würde Dein Programm nicht
funktionieren.
Drei Tips:
wenn Du hier gute Hilfe willst, schau mal ins Debug-Log - da wirst
Du sehen, daß Du niemals “2009-11-03 14:28:00.000” übergibst, sondern
“03.11.2009”.
warum CDate(MyDataReader.(i).ToString).ToShortDateString, wenn
MyDataReader.GetDateTime(i).ToShortDateString() nicht einfacher wäre?
übergib Datums/Zeitwerte nicht als formatierten String, sonst ist es
Glückssache (bzw. braucht tiefe Einblicke in die internationale
Datumsformatierung), ob das funktioniert. Übergib das Datum als
Integer- oder (wenn die Zeit dabei ist) Double-Wert, und dann gib den
Offset des Datums an (LL_DATE, LL_DATE_OLE, …). Also z.B.
MyDatareader.GetDateTime(i).ToOADate().ToString() und LL_DATE_OLE.
Warum machst Du nicht direkt
LL.Variables.Add(“MeinDatum”,MyDataReader.GetDateTime(i))? Das ist
viiiiiiiiel besser, das macht Dir keine Arbeit ;-)))
Hallo Paul,
Besten herzlichen Dank. Es funktioniert wurnderbar. Wünsche allen einen schönen Tag.
Gruss
Fardin
Mich wundert eher, daß das mal funktioniert hat
wenn ich es so schreibe, dann erhalte ich “03.11.2009” für
“2009-11-03 14:28:00.000”
strParam = LlFieldType.Date_DMY
strContent = CDate(MyDataReader.(i).ToString).ToShortDateString
Na das ist doch OK, oder? Aber das klappt nur in Deutschland, denn nur
hier ist es “t.m.j”-formatiert. In den USA würde Dein Programm nicht
funktionieren.
Drei Tips:
wenn Du hier gute Hilfe willst, schau mal ins Debug-Log - da wirst
Du sehen, daß Du niemals “2009-11-03 14:28:00.000” übergibst, sondern
“03.11.2009”.
warum CDate(MyDataReader.(i).ToString).ToShortDateString, wenn
MyDataReader.GetDateTime(i).ToShortDateString() nicht einfacher wäre?
übergib Datums/Zeitwerte nicht als formatierten String, sonst ist es
Glückssache (bzw. braucht tiefe Einblicke in die internationale
Datumsformatierung), ob das funktioniert. Übergib das Datum als
Integer- oder (wenn die Zeit dabei ist) Double-Wert, und dann gib den
Offset des Datums an (LL_DATE, LL_DATE_OLE, …). Also z.B.
MyDatareader.GetDateTime(i).ToOADate().ToString() und LL_DATE_OLE.
Warum machst Du nicht direkt
LL.Variables.Add(“MeinDatum”,MyDataReader.GetDateTime(i))? Das ist
viiiiiiiiel besser, das macht Dir keine Arbeit ;-)))