Code: Alles auswählen
Set Filter TO &cAltFilter
Jan
Moderator: Moderatoren
Code: Alles auswählen
Set Filter TO &cAltFilter
Code: Alles auswählen
dbSetFilter( &("{||"+cAltFilter+"}") )
Code: Alles auswählen
cAltFilter := "{||"+cAltFilter+"}" // falls cAltFilter vorher gebildet wurde ...
// cAltFilter := "{|| Name='Meier' }" // sonst gleich so
bFilter := &(cAltFilter)
dbSetFilter( bFilter )
Code: Alles auswählen
Spfolg1->(DbSetFilter({|| substr(Artnr,1,3) >= alltrim(aFelder[10][2]) .and.;
substr(Artnr,1,3) <= alltrim(aFelder[11][2]) .and.;
Saison=alltrim(aFelder[6][2]) .and. Sa=="32"} ))
damit das funktioniert, brauchst du aber PRIVATE Variablen (aFelder[]) oder ?Rolf Ramacher hat geschrieben:HI Jan,
ein Beispiel von mir
Code: Alles auswählen
Spfolg1->(DbSetFilter({|| substr(Artnr,1,3) >= alltrim(aFelder[10][2]) .and.; substr(Artnr,1,3) <= alltrim(aFelder[11][2]) .and.; Saison=alltrim(aFelder[6][2]) .and. Sa=="32"} ))
Womit wir wieder bei der allseits beliebten Diskussion sind . Aber ich muß gestehen: Privates habe ich inzwischen auch komplett rausgeschmissen. Die hatte ich als letztes Überbleibsel noch in der Schleifenabarbeitung von SLE. Aber Publics habe ich schon noch ein paar. Aber auch reduziert gegenüber früher.Hubert hat geschrieben:Privates gibt es bei mir nicht mehr und Publics eigentlich auch nicht.
Code: Alles auswählen
Local cFilter := ""
Local set := .F.
Local cStr := ""
LOcal aSearch := Array(4)
aSearch[ 1] := date()-100
aSearch[ 2] := date()
aSearch[ 3] := "Test"
aSearch[ 4] := 123
set := .F.
cFilter := ""
// Beipspiel Datum
IF ( !empty( aSearch[1] ) )
aSearch[1] := chr(39) + DTOS( aSearch[1] ) +chr(39)
cCondition := IIF( empty( aSearch[2]),"=" ,">=" )
cFilter := "DTOS( FIELD->DATUM) " + cCondition + aSearch[1]
Set := .T.
END
IF ( !empty( aSearch[2] ) )
aSearch[2] := chr(39) + DTOS( aSearch[2] ) +chr(39)
cStr := " DTOS(FIELD->DATUM) <= " + aSearch[2]
IF ( set )
cFilter := cFilter + " .and. " + cStr
ELSE
cFilter := cStr
set := .T.
END
END
// Beispiel Nr
IF ( !empty( aSearch[4] ) )
aSearch[4] := Str(aSearch[4],1)
cStr := " FIELD->NR = " + aSearch[4]
IF ( set )
cFilter := cFilter + " .and. " + cStr
ELSE
cFilter := cStr
set := .T.
END
END
// Beispiel String
IF ( !empty( aSearch[3] ) )
cStr := " FIELD->NAME = " +chr(39) + aSearch[3] +chr(39)
IF ( set )
cFilter := cFilter + " .and. " + cStr
ELSE
cFilter := cStr
set := .T.
END
END
IF Set
DBSetFilter( {|| &( cFilter ) } )
ENDIF
Code: Alles auswählen
local cSuchbegriff := "Test"
local cFilter := "dbf->Name = cSuchbegriff"
set filter to &(cFilter) -> hier ist dann zur Laufzeit cSuchbegriff unknown ...