&& pseudo code, untested procedure application.init() addproperty(_screen, 'nConnect', Sqlconnect(…)) addproperty(_screen, 'SQLDB', 'mySQL') procedure myCursorAdapter.Init() this.dataSource = _screen.nConnect this.SelectCmd = 'select bla from bla where ' do case case _screen.SQLDB = 'mySQL' this.SelectCmd = this.SelectCmd + {filter condition for mySQL} case _screen.SQLDB = 'SQLserver' case _screen.SQLDB = 'postGreSQL' etc. procedure form.load() or dataEnvironment this.addObject('myCursorAdapter', createObject('myCursorAdapter')) this.myCursorAdapter.cursorFill()