Gelöst: Formularfilter für Datumsfeld

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Gelöst: Formularfilter für Datumsfeld

Re: Formularfilter für Datumsfeld

von WSO » Sa, 18.10.2014 01:29

Hallo Zusammen,
danke für die Antworten.
Mit "jjjj-mm-tt" funktioniert es.
Sonnige Grüße,
WSO

Re: Formularfilter für Datumsfeld

von lorbass » Do, 16.10.2014 17:00

Karolus hat geschrieben:
...Vergleichswert im ISO-Format "JJJJMMTT"
Das ist kein ISO-format
Sorry, da muss ich widersprechen. Neben »JJJJ-MM-TT« sind auch »JJJJMMTT« und noch einige andere Formate, wie z.B. »JJJJTTT« und »JJJJWWT« ISO 8601 konform. (s. z.B. → A summary of the international standard date and time notation.)

Gruß
lorbass

Re: Formularfilter für Datumsfeld

von Karolus » Do, 16.10.2014 15:26

Hallo
...Vergleichswert im ISO-Format "JJJJMMTT"
Das ist kein ISO-format, sondern das Format in dem Datumswerte in Datumsfeldern von Formularen und Dialogen vor LO4 gespeichert wurden

ISO ist
jjjj-mm-tt

Gelöst: Formularfilter für Datumsfeld

von WSO » Do, 16.10.2014 13:20

Hallo Zusammen,
ich versuche vergeblich per Makro ein Formular nach einem Datumswert zu filtern.

In der Datenbank (Lo 4.3, Mysql, Win 7) werden Formulare zur einheitlichen Aufbereitung ausschließlich von diesem Makro aufgerufen:

Code: Alles auswählen

SUB openFormParm (StForm AS STRING, StFilter AS STRING, FilterJN AS INTEGER)

	DIM oFormDocs AS OBJECT
	DIM oFeld AS OBJECT	
	DIM oBearbForm AS OBJECT
	DIM oForm AS OBJECT	
	DIM oDrawpage AS OBJECT
	DIM oDoc AS OBJECT
		
	DIM iForm AS STRING
	DIM iFilter AS STRING
	
	iForm = StForm
	iFilter = StFilter
	
	oFormDocs = ThisDatabaseDocument.FormDocuments.getByName(iForm).open

   	If glbExpertenmodus = FALSE THEN
    	oForm = oFormDocs.Drawpage.Forms.getByName(iForm)
		oFeld=oForm.getByName("Head")
		glbFormularname = oFeld.getCurrentValue()
     END IF

	
	CALL GUI_Anpassen (oFormDocs) 	    
	oBearbForm = oFormDocs.Drawpage.Forms.getByName(iForm)
	
	If FilterJN = 1 THEN
  		' Filter setzen
  		oBearbForm.Filter = StFilter  
   		oBearbForm.ApplyFilter = True 
   	End IF
   	
   	oBearbForm.reload()
End Sub


Aufgerufen wird das Makro z.B. so:

Code: Alles auswählen

nID = "20141014"  REM Filterwert zuweisen 

   ' Bearbeitungsmaske öffnen
    Call openFormParm ("fUmsatzdetail", " ""kal_datum"" LIKE '" & nID & "'" , 1)
und funktioniert einwandfrei, wenn das zu filternde Feld ein Integer oder String ist.

Ich habe alles Mögliche versucht, um so auch ein Datumsfeld zu filtern.
Zunächst natürlich mit einem Vergleichswert im ISO-Format "JJJJMMTT", aber die Eregebnismenge war leer.
TT.MM.JJJJ, TT-MM-JJJJ, TT.MM.JJ, TT-MM-JJ haben auch nichts gebracht.

Komme auch nach einer Nacht Pause von dem Thema nicht weiter.
Kann mit bitte jemand einen Hinweis geben was ich falsch mache.

Mit Dank im voraus,
WSO

Nach oben