Meu caros, criei esse exemplo basico do basico, mas vi um grande potencial, vai da imaginação de cada um, eu não pus nesse codigo usando 2 tabelas, mas ele faz varias tabelas, basta criar um buffer pra cada tabela e fazer um add-buffer na query. Código: /* ------------------------------------------------------------ Programa .: BrowseDinamico.p Autor ....: Data .....: Descricao : teste para criar um browse dinamicamente. ------------------------------------------------------------ */ define variable baseQuery as character no-undo. define variable detailQuery as character no-undo. define variable handleBrowse as handle no-undo. define variable handleQuery as handle no-undo. define variable handleBuffer as handle no-undo. define variable handleButton as handle no-undo. define variable handleFrame as handle no-undo. define variable nomeTabela as character no-undo. define variable filtro as character no-undo. define variable campos as character no-undo. define variable contador as integer no-undo. assign nomeTabela = 'emitente'. assign filtro = ''. assign campos = 'emitente.cod-emitente,emitente.nome-abrev,emitente.nome-emit'. assign baseQuery = substitute('for each &1 no-lock', nomeTabela). assign detailQuery = substitute('for each &1 no-lock &2', nomeTabela, filtro). create buffer handleBuffer for table nometabela. create query handleQuery. handleQuery:set-buffers(handleBuffer). handleQuery:query-prepare(baseQuery). create frame handleFrame assign x = 1 y = 1 width = 76 height = 11 title = 'Browse teste'. create browse handlebrowse assign x = 1 y = 1 width = 80 down = 10 query = handleQuery frame = handleFrame read-only = false sensitive = true font = 4. repeat contador = 1 to num-entries(campos): handleBrowse:add-like-column(entry(contador,campos)). end. handleBrowse:width = 75. create button handleButton assign x = 1 y = 210 width = 20 frame = handleFrame sensitive = true label = 'Processar' font = 4 triggers: on choose do: handleQuery:query-open. self:sensitive = false. end. end triggers. view handleFrame. wait-for close of this-procedure. delete object handleBrowse. delete object handleQuery. delete object handleBuffer.