Seite 1 von 1

dbsetfilter

Verfasst: Fr, 16. Sep 2016 15:24
von Rolf Ramacher
hallo zusammen,

mache ich etwas falsch ??

Code: Alles auswählen

	Spproto->(DbSetFilter({|| substr(suche,12,6) == cSuch }))	
	Spproto->(DbGoTop())
	Do while Spproto->(!eof())
		Splief->(OrdSetFocus("liefnr"))
		Spstamm->(OrdSetFocus("artikel"))
msgbox(spproto->artinr)
cSuch ist richtig befüllt. es wird keine artikelnr. angezeigt.

Re: dbsetfilter

Verfasst: Fr, 16. Sep 2016 16:34
von georg
Rolf,


Dein Code ist irgendwie seltsam?

Ich würde z.B. den OrdSetFocus() VOR dem "DO WHILE" erwarten. Und ich würde (wenn das Programm sich seltsam verhält) nach dem dbGoTop() mal nachsehen, auf welchem Satz Du stehst und ob der die Bedigung erfüllt.

Re: dbsetfilter

Verfasst: Sa, 17. Sep 2016 6:02
von AUGE_OHR
Rolf Ramacher hat geschrieben:cSuch ist richtig befüllt. es wird keine artikelnr. angezeigt.
hm ... das "==" würde ich mal gegen "=" austauschen.
Rolf Ramacher hat geschrieben:

Code: Alles auswählen

Do while Spproto->(!eof())
hm ... versuche mal eine andere Schreibweise

Code: Alles auswählen

   Do while !( Spproto->(eof()) )
oder
   Do while !Spproto->(eof())
aber was willst du mit den OrdSetFocus() ? ohne ein

Code: Alles auswählen

   SET RELATION TO Spproto->XXX INTO Spstamm ,;
                TO Spproto->YYY INTO Splief
passiert doch nichts in den anderen WorkAreas :?:

Re: dbsetfilter

Verfasst: Sa, 17. Sep 2016 21:23
von AUGE_OHR
was mir noch bei "dbsetfilter" einfällt :

Code: Alles auswählen

SET OPTIMIZE OFF

Re: dbsetfilter

Verfasst: Mo, 19. Sep 2016 14:15
von Rolf Ramacher
komisch dbsetfilter funkt. nicht. ordsetfocus ist auch vorher. und nur = - keine Auswirkung

lasse ich die Datenbank so alle Datensätze durchlaufen ohne nur diese zu filtern -. funkt. wunderbar. nur alle Datensätze wollte ich vermeiden.

Re: dbsetfilter

Verfasst: Mo, 19. Sep 2016 14:25
von Scarmo
Hallo Rolf

Dann sag mal, was Du in der Variablen "suche" bzw. "cSuch" drin hast. Vielleicht erklärt es sich dann.

Gruss
Marco

Re: dbsetfilter

Verfasst: Mo, 19. Sep 2016 14:28
von Tom
"suche" ist vermutlich ein Tabellenfeld, also Alias angeben:

Code: Alles auswählen

Spproto->(DbSetFilter({|| substr(Spproto->suche,12,6) == cSuch }))