Bom dia. Tenho uma combo-box, populo ela, depois verifico se o campo na base tem valor e preencho caso contrário deixo com a primeira opção (vazio), mas quando passo para outro usuario e o mesmo esta vazio ele fica na combo o valor do registro do anterior. Onde estou errando? grato Flávio Campos ds-orgao-emissor-ident-aux:add-first("") in frame deca5100. ds-orgao-emissor-ident-aux:add-last("CARTEIRA DE IDENTID. CLASSISTA") in frame deca5100. ds-orgao-emissor-ident-aux:add-last("CONS.REG.CORRETORES IMOVEIS"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE ADMINISTRACAO"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE CONTABILIDADE"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE FARMACIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE MEDICINA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE ODONTOLOGIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE PSICOLOGIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE QUIMICA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.ENFERMAGEM"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.ENG.ARQ. E AGRONOMIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.FISIOT.TERAPIA OCUP."). ds-orgao-emissor-ident-aux:add-last("CONS.REG.MEDICINA VETERINARIA"). ds-orgao-emissor-ident-aux:add-last("DOCUMENTOS ESTRANGEIROS"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DA AERONAUTICA"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DA MARINHA"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DO EXERCITO"). ds-orgao-emissor-ident-aux:add-last("ORDEM DOS ADVOGADOS DO BRASIL"). ds-orgao-emissor-ident-aux:add-last("ORDEM DOS MUSICOS DO BRASIL"). ds-orgao-emissor-ident-aux:add-last("OUTROS EMISSORES"). ds-orgao-emissor-ident-aux:add-last("POLICIA FEDERAL"). ds-orgao-emissor-ident-aux:add-last("SSP-SECRET.SEGURANCA PUBLICA"). if usuario.ds-orgao-emissor-ident <> '' then assign ds-orgao-emissor-ident-aux:screen-value in frame deca5100 = usuario.ds-orgao-emissor-ident. else assign ds-orgao-emissor-ident-aux:screen-value in frame deca5100 = ds-orgao-emissor-ident-aux:entry(1) .
Prezados. grato pela atenção, mas não funcionou colocar ?, e não entendi o "local-display-fields". Tentei a cada vez que monto a Tela excluir todos os itens e recria-los... Minha idéia de como deveria funcionar: 1) Popular o combo; 2) Posicionar no registro do Banco progress; 3) Se achei preencho o combo, caso contrario fica vazio; 4) Se escolheu algo faço atribuição Text do combo para o campo; Abaixo meu código procedure popular-combo: def var i as int no-undo. do i = 1 to ds-orgao-emissor-ident-aux:num-items in frame deca5100: ds-orgao-emissor-ident-aux:delete(i) in frame deca5100. end. do i = 1 to uf-emissor-doc-aux:num-items in frame deca5100: uf-emissor-doc-aux:delete(i) in frame deca5100. end. ds-orgao-emissor-ident-aux:add-first("") in frame deca5100. ds-orgao-emissor-ident-aux:add-last("CARTEIRA DE IDENTID. CLASSISTA") in frame deca5100. ds-orgao-emissor-ident-aux:add-last("CONS.REG.CORRETORES IMOVEIS"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE ADMINISTRACAO"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE CONTABILIDADE"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE FARMACIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE MEDICINA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE ODONTOLOGIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE PSICOLOGIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE QUIMICA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.ENFERMAGEM"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.ENG.ARQ. E AGRONOMIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.FISIOT.TERAPIA OCUP."). ds-orgao-emissor-ident-aux:add-last("CONS.REG.MEDICINA VETERINARIA"). ds-orgao-emissor-ident-aux:add-last("DOCUMENTOS ESTRANGEIROS"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DA AERONAUTICA"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DA MARINHA"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DO EXERCITO"). ds-orgao-emissor-ident-aux:add-last("ORDEM DOS ADVOGADOS DO BRASIL"). ds-orgao-emissor-ident-aux:add-last("ORDEM DOS MUSICOS DO BRASIL"). ds-orgao-emissor-ident-aux:add-last("OUTROS EMISSORES"). ds-orgao-emissor-ident-aux:add-last("POLICIA FEDERAL"). ds-orgao-emissor-ident-aux:add-last("SSP-SECRET.SEGURANCA PUBLICA"). uf-emissor-doc-aux:add-first("") in frame deca5100. uf-emissor-doc-aux:add-last("AC") in frame deca5100. uf-emissor-doc-aux:add-last("AL") in frame deca5100. uf-emissor-doc-aux:add-last("AM") in frame deca5100. uf-emissor-doc-aux:add-last("AP") in frame deca5100. uf-emissor-doc-aux:add-last("BA") in frame deca5100. uf-emissor-doc-aux:add-last("CE") in frame deca5100. uf-emissor-doc-aux:add-last("DF") in frame deca5100. uf-emissor-doc-aux:add-last("ES") in frame deca5100. uf-emissor-doc-aux:add-last("GO") in frame deca5100. uf-emissor-doc-aux:add-last("MA") in frame deca5100. uf-emissor-doc-aux:add-last("MG") in frame deca5100. uf-emissor-doc-aux:add-last("MS") in frame deca5100. uf-emissor-doc-aux:add-last("MT") in frame deca5100. uf-emissor-doc-aux:add-last("PA") in frame deca5100. uf-emissor-doc-aux:add-last("PB") in frame deca5100. uf-emissor-doc-aux:add-last("PE") in frame deca5100. uf-emissor-doc-aux:add-last("PI") in frame deca5100. uf-emissor-doc-aux:add-last("PR") in frame deca5100. uf-emissor-doc-aux:add-last("RJ") in frame deca5100. uf-emissor-doc-aux:add-last("RN") in frame deca5100. uf-emissor-doc-aux:add-last("RO") in frame deca5100. uf-emissor-doc-aux:add-last("RS") in frame deca5100. uf-emissor-doc-aux:add-last("SC") in frame deca5100. uf-emissor-doc-aux:add-last("SE") in frame deca5100. uf-emissor-doc-aux:add-last("SP") in frame deca5100. uf-emissor-doc-aux:add-last("TO") in frame deca5100. assign ds-orgao-emissor-ident-aux:screen-value in frame deca5100 = ? uf-emissor-doc-aux:screen-value in frame deca5100 = ?. end procedure. procedure mostra-tela: if avail usuario then do: run popular-combo. assign cd-modalidade-aux = usuario.cd-modalidade nr-ter-adesao-aux = usuario.nr-ter-adesao cd-usuario-aux = usuario.cd-usuario. if usuario.ds-orgao-emissor-iden <> '' then ds-orgao-emissor-ident-aux:screen-value in frame deca5100 = usuario.ds-orgao-emissor-ident. if usuario.uf-emissor-doc <> '' then uf-emissor-doc-aux:screen-value in frame deca5100 = usuario.uf-emissor-doc. display cd-modalidade-aux nr-ter-adesao-aux cd-usuario-aux usuario.nm-usuario usuario.nm-mae usuario.cd-cpf format "999.999.999-99" usuario.nr-identidade ds-orgao-emissor-ident-aux uf-emissor-doc-aux usuario.nm-pais usuario.dt-emissao-doc usuario.nr-telefone1 usuario.nr-telefone2 usuario.nm-email usuario.dt-atualizacao usuario.cd-userid usuario.cd-controle-oper-ans with frame deca5100. end. end.
Se teu problema é só zerar o combo então faz uma Procedure... só pra popular isto... Ou ainda não entendi o que realmente vc tah precisando. tipo assim... Código: PROCEDURE PopularCombo: /* Zera Tudo.... e Popula Novamente * / ASSIGN INPUT frame deca5100 ds-orgao-emissor-ident-aux:LIST-ITEMS = ?. ds-orgao-emissor-ident-aux:add-first("") in frame deca5100. ds-orgao-emissor-ident-aux:add-last("CARTEIRA DE IDENTID. CLASSISTA") in frame deca5100. ds-orgao-emissor-ident-aux:add-last("CONS.REG.CORRETORES IMOVEIS"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE ADMINISTRACAO"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE CONTABILIDADE"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE FARMACIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE MEDICINA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE ODONTOLOGIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE PSICOLOGIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.DE QUIMICA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.ENFERMAGEM"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.ENG.ARQ. E AGRONOMIA"). ds-orgao-emissor-ident-aux:add-last("CONS.REG.FISIOT.TERAPIA OCUP."). ds-orgao-emissor-ident-aux:add-last("CONS.REG.MEDICINA VETERINARIA"). ds-orgao-emissor-ident-aux:add-last("DOCUMENTOS ESTRANGEIROS"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DA AERONAUTICA"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DA MARINHA"). ds-orgao-emissor-ident-aux:add-last("MINISTERIO DO EXERCITO"). ds-orgao-emissor-ident-aux:add-last("ORDEM DOS ADVOGADOS DO BRASIL"). ds-orgao-emissor-ident-aux:add-last("ORDEM DOS MUSICOS DO BRASIL"). ds-orgao-emissor-ident-aux:add-last("OUTROS EMISSORES"). ds-orgao-emissor-ident-aux:add-last("POLICIA FEDERAL"). ds-orgao-emissor-ident-aux:add-last("SSP-SECRET.SEGURANCA PUBLICA"). END PROCEDURE. Dai lá no Else vc dar um RUN PopularCombo. Código: if usuario.ds-orgao-emissor-ident <> '' then assign ds-orgao-emissor-ident-aux:screen-value in frame deca5100 = usuario.ds-orgao-emissor-ident. else RUN PopularCombo. Att, Eriuton Charles