bira Posted May 19, 2004 Report Share Posted May 19, 2004 Amigos estou com problemas em carregar a ARRAY da combobox por outra funcao. Gente ja tentei passar a ASECS por referencia e nada. Entao declarei ela como static. O q acontece é q a combobox naum me apresenta nenhum conteudo. E ja testei e a array esta sendo carregada pela funcao. DEFINE DIALOG oPDI RESOURCE "INIPDV" FONT ownd:ofont REDEFINE BTNGET ogei[01] var i_CAIX ID 101 OF oPDI PICTURE "9999" resource "LUPA" valid(CXABERTO(I_CAIX) REDEFINE COMBOBOX OBBA VAR cxsequ ITEMS ASECS ID 852 OF oPDI REDEFINE BUTTON ID 150 OF opdi ACTION (Opdi:END(),retorna:=.T.) REDEFINE BUTTON ID 160 OF opdi ACTION (opdi:end(),RETORNA:=.F.) CANCEL OPDI:lHelpicon :=.F. ACTIVATE DIALOG oPDI centered return(retorna) ************************************************* static FUNCTION CXABERTO(ufo) ************************************************* local sewo:=select(),orwo:=dbsetorder(),temas:=0 select caixadia set order to 1 seek dtos(glo_datacxa) do while cd_data==glo_datacxa .and. ! eof() if cd_vend==UFO if cd_situ=1 AADD(ASECS,CD_SEQU) endif endif skip enddo obba:refresh() select(sewo) dbsetorder(orwo) return(.t.) Muita paz a todos Bira prosoftt@bol.com.br Quote Link to comment Share on other sites More sharing options...
jef2_tim Posted May 19, 2004 Report Share Posted May 19, 2004 Meu amigao.. um grande amigo nosso me passou esta dica q ta funcionando normalmente.... so que lembre-se q arrays tem limites... 4096 ... entao se tentar carregar em um combo um BD grande demais.. nao conseguirá... *----- aqui eu carrego as variaveis com o conteudo que quero chamando a funcao... atu_combo() os parametros sao o banco de dados (alias) o primeiro campo que quero e o segundo campo que quero. (apesar de ainda nao estou usando o segundo campo) UniItems := Atu_Combo(3,"Nme","Cod") // Unidades de medida CveItems := Atu_Combo(4,"Descve","Codcve") // classes GprItems := Atu_Combo(5,"Desgpr","Codgpr") // grupos FrnItems := Atu_Combo(2,"Nme","Cod") // fornecedores *-------------------------------------------- Static Function Atu_Combo(nBc,Campo1,Campo2) *-------------------------------------------- old_Sel := Select() // o bd q usava no momento Select &nBc // o bd que quero usar pra montar a combo cRed := Array( 0 ) // variavel array aadd(cRed, " ") // iniciando com vazio While !Eof() aadd( cRed, AllTrim(&nBc->&Campo1)) dbSkip(1) EndDo Select &Old_Sel Return cRed // aqui eu retorno pra var o array ReDefine ComboBox oCodFrn Var mCodFrn ITEMS FrnItems ID 105 OF oFld:aDialogs[ 1 ] UPDATE Message "Codigo do Fornecedor"; On Change (MnmeFrn := Busc_Drop(2,3,Mcodfrn,"Nme"), Mcodfrn1 := Busc_Drop(2,3,Mcodfrn,"Cod") ) // esta funcao busc_drop eu uso pra atualizar alguns dados q preciso mas se nao precisar e desnecessaria... espero ter te ajudado assim como os grandes aqui sempre estao me ajudando... um clipper abracaum ae Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.