COleDateTime allgemeines Problem



  • Ich kann dir jetzt weiter helfen!

    Besteht dein Problem noch?



  • Ich bin grade an einer anderen Baustelle.

    Das Suchen hab ich erstmal geparkt und mache gerade was anderes. 🙂
    Ich melde mich dann bei dir, danke! 👍



  • OK mach das, hab jetzt festgestellt wenn man weiß wie ist das alles kein Problem! 😃



  • Nabend ich bin auch grad dabei ne Datumsabfrage zu machen, komm aber mit dem Code von esartu ned klar 😞 Und zwar will ich nen Datum in nem ActiveX-Kalender anklicken und denn übern button mir für dieses Datum Einträge aus der tabelle anzeigen lassen. Bei mir haberts grad an der Umsetzung vom Datum aus dem ActiveX-Element in die FilterZeile. Kein Plan wie ich das umsetzten kann 😕

    Edit: Hab mir nun zuerst nen CString angelegt mit dem Datum ausm Kalender beim raufklicken. Denn hba ich das gemacht wenn ich suchen drück

    strTmp.Format(_T("([Termine].[Datum] BETWEEN \'%s 0:00:00\' AND \'%s 23:59:59\')"), tmTemp.Format(_T("%Y-%m-%d")), m_strOutput);
    	dateSet.m_strFilter=strTmp;
    

    Kein plan ob es so richitg ist, aber auf jeden fall kommt wenn ich Suchen drücke die Meldung das bei der konvertierung eines char-Wertes in einen datetime Wert der datetime Wert ausserhalb des gültigen berieches liegt 😕 😕 😕



  • Was GENAU steht in m_strOutput? Wie sieht das Datum aus, schreib mal ein Beispiel rein.
    Die Sache hat nämlich einen fetten Haken: Wenn das Datum nicht exakt so aussieht, wie der SQL-Server das haben will, versteht er es nicht.

    Das muss so mit Bindestrichen usw. sein, sonst wird das nichts.
    Kannst du dir kein CTime oder COleDateTime Objekt von dem Control geben lassen?
    Was nutzt du? CDateTimePicker?



  • Also,
    ich mach das Ganze mit den Punkten wie hierzulande üblich:

    CString CGrundForm::BuildQuery(CString Const1, CString Operator, CTime Const2)
    // Erzeugt Query-String der Art (StartDatum >= '31.12.2005 12:30:30')
    {
    	CString Ergebnis;
    	Ergebnis = "(" + Const1 + Operator + "\'" + Const2.Format("%d.%m.%Y %H:%M:%S") + "\'" + ")";
    	return Ergebnis;
    }
    

    und es funktioniert tadellos. Datenbank ist übrigens der MS-SQL-Server 2000 über ODBC.
    Kann es sein, dass in den Optionen des Servers hier etwas eingestellt werden kann, damit das funktioniert?


Anmelden zum Antworten