>CREATE SQL VIEW HonVed AS SELECT Hon.*, Homo.Ime; > FROM honorar!hon LEFT OUTER JOIN honorar!homo ON Hon.egn = Homo.egn+; > WHERE Hon.dataved = ?getdataved+; && Date field > AND IIF(hon_ved1,Hon.lev1==?get_lev1,.T.) = .T.+; && Integer field > AND IIF(hon_ved2,Hon.lev2==?get_lev2,.T.) = .T.+; && Integer field > AND IIF(hon_ved3,Hon.lev3==?get_lev3,.T.) = .T. && Integer field >>
CREATE SQL VIEW HonVed AS SELECT Hon.*, Homo.Ime; FROM honorar!hon LEFT OUTER JOIN honorar!homo ON Hon.egn = Homo.egn; WHERE Hon.dataved = ?getdataved; && Date field AND (!m.hon_ved1 OR Hon.lev1==?get_lev1); && Integer field AND (!m.hon_ved2 OR Hon.lev2==?get_lev2); && Integer field AND (!m.hon_ved3 OR Hon.lev3==?get_lev3) && Integer field <PRE> Next can do the job only if hon_vedN+1 =.T. => hon_vedN =.T. <pre> ... WHERE DTOS(Hon.dataved)+STR(Hon.Lev1)+STR(Hon.Lev2)+STR(Hon.Lev3); = ?getdataved+; +IIF(m.hon_ved1,?STR(get_lev1),'') ); +IIF((m.hon_ved2,?STR(STget_lev2),'')); +IIF(!m.hon_ved3,?STR(get_lev3),'')) * OR WHERE DTOS(Hon.dataved)+STR(Hon.Lev1)+STR(Hon.Lev2)+STR(Hon.Lev3); LIKE ?getdataved+; +IIF(m.hon_ved1,?STR(get_lev1),'%') ); +IIF((m.hon_ved2,?STR(STget_lev2),'%')); +IIF(!m.hon_ved3,?STR(get_lev3),'%'))next can do the job without restrictions, but optimization ????
* VFP9 ... WHERE DTOS(Hon.dataved)+STR(Hon.Lev1)+STR(Hon.Lev2)+STR(Hon.Lev3); LIKE ?getdataved+; +IIF(m.hon_ved1,?STR(get_lev1),'??????????') ); +IIF((m.hon_ved2,?STR(STget_lev2),'??????????')); +IIF(!m.hon_ved3,?STR(get_lev3),'??????????'))why not BINTOC() ?