![Sad :(](./images/smilies/sad.gif)
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 sindHubert 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 ...