f_mtrlstorage_change_dwselect.srf 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. $PBExportHeader$f_mtrlstorage_change_dwselect.srf
  2. global type f_mtrlstorage_change_dwselect from function_object
  3. end type
  4. forward prototypes
  5. global function integer f_mtrlstorage_change_dwselect (datawindow arg_dw, string arg_newselect, string arg_storage_ter, ref string arg_msg)
  6. end prototypes
  7. global function integer f_mtrlstorage_change_dwselect (datawindow arg_dw, string arg_newselect, string arg_storage_ter, ref string arg_msg);arg_newselect =lower(trim(arg_newselect))
  8. IF TRIM(arg_newselect)<>'' THEN
  9. if Pos(arg_newselect," where ") <> 0 then
  10. if Pos(arg_newselect," order by ") <> 0 then
  11. arg_newselect = Replace(arg_newselect,Pos(arg_newselect," order by "),10," and ("+arg_storage_ter+') order by ')
  12. else
  13. arg_newselect=arg_newselect+" AND ("+arg_storage_ter+')'
  14. end if
  15. else
  16. if Pos(arg_newselect," order ") <> 0 then
  17. arg_newselect =Replace(arg_newselect,Pos(arg_newselect," order by "),10," WHERE ("+arg_storage_ter+') order by ' )
  18. else
  19. arg_newselect=arg_newselect+" WHERE ("+arg_storage_ter+')'
  20. end if
  21. end if
  22. END IF
  23. arg_dw.Modify("datawindow.table.select = ~"" + arg_newselect+ "~"")
  24. return 1
  25. end function