zima Posted March 27, 2006 Report Share Posted March 27, 2006 Olá amigos, Tentei resolver o problema fazendo buscas neste site, mais ainda não consegui achar a solução e estou entrando em parafuso ! Tenho um folder com 4 orelhas. A princÃpio estou trabalhando na 1a. e na 3a. Na primeira, tenho um listbox com dados do arquivo de CONTAS A PAGAR, e na 3a. tenho outro listbox com arquivo de CONTAS A RECEBER. O que gostaria que o sistema fizesse é, quando o usuário teclar na 3a. orelha, automaticamente o listbox fique atualizado com os dados de CONTAS A RECEBER.DBF. O que estou conseguindo é apenas um listbox preenchido com o ÚLTIMO registro desse banco de dados CONTAS A RECEBER !!! Vou transcrever abaixo o código, e agradeço a quem possa me ajudar (a perder menos cabelos !!) desde já ! Zima id=code>id=code>//******************************************************************************************************************** DEFINE DIALOG oDlg_CONTAS RESOURCE "FLD_CONTAS" TITLE "Contas a pagar/receber " Font O_F_DLG REDEFINE FOLDER oFld ID 101 OF oDlg_CONTAS ; PROMPT "&Contas a pagar","Contas &pagas","C&ontas a receber","Contas &recebidas"; DIALOGS "T_CONTAS","T_CONTAS","T_CONTAS","T_CONTAS"; ON CHANGE (Fld_Atualiza(oFld:nOption)) // oFld:bChange:={|nOption,nOldOption|Fld_Atualiza(nOption)} *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * * Diálogo - folder 0001 * *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- REDEFINE LISTBOX oLbx_1CONTAS; FIELDS " "+contasp->temboleto," "+contasp->(DTOC(data)),; contasp->empresa," "+contasp->(STRZERO(codigoemp,04,0)),; contasp->historico,; TRANSFORM(contasp->valor,"@ZE 999,999.99"); HEADERS "Boleto","Data","Empresa","Código","Histórico","Valor (R$)"; FIELDSIZES 043, 089, 180, 049, 230, 080 ; FONT O_F_BRW; ID 101 OF oFld:aDialogs[ 1 ]; oLbx_1CONTAS:bKeyDown:={| nKey| if(nkey=13,(CAD_CONTASP("A"),oLbx_1CONTAS:Refresh()),) } oLbx_1CONTAS:ajustify:={.F.,.F.,.F.,.F.,.F.,.T.} oLbx_1CONTAS:nLineStyle := 2 oLbx_1CONTAS:Refresh() oLbx_1CONTAS:lCellStyle := .F. oLbx_1CONTAS:nClrBackHead := CLR_HBLUE // Cor do fundo do cabeçalho oLbx_1CONTAS:nClrBackFocus := CLR_AZUL_BRANCO // Cor do cursor em cima do item oLbx_1CONTAS:nClrForeHead := CLR_BLANCO // Cor nos headers - cabeçalhos oLbx_1CONTAS:nClrPane:={ ||IIF(IIF(X,X:=.F.,X:=.T.)=.T., ; CLR_BROW,CLR_LGREEN)} oLbx_1CONTAS:SetFocus() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE FONT O_F_GET3 NAME "ARIAL" SIZE 16,22 BOLD REDEFINE COMBOBOX oCbx VAR nOrden ITEMS { "Data (F4)" , "Empresa (F5)" } ID 102 OF oFld:aDialogs[ 1 ] ; ON CHANGE (Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),; oPROC1:SETFOCUS()) SetKey(VK_F4,{||nOrden:=1,Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oPROC1:SETFOCUS()}) SetKey(VK_F5,{||nOrden:=2,Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oPROC1:SETFOCUS()}) REDEFINE GET oPROC1 var PROC1 ID 2006 OF oFld:aDialogs[ 1 ] PICTURE "@!K" FONT O_F_GET COLOR CLR_HRED, CLR_HCYAN Update REDEFINE BTNBMP RESOURCE "BMP_NOVOS" ID 105 OF oFld:aDialogs[ 1 ]; TOOLTIP "Incluir registro"; ACTION (CAD_CONTASP("I"),; Numeventos:=(Numeventos+1),; Somatorio:=(Somatorio+nValor),; oNumeventos:Refresh(),oSomatorio:Refresh(),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_ALT" ID 106 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Alterar registro"; ACTION (CAD_CONTASP("A"),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_LIXO" ID 107 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Excluir registro"; NOBORDER; ACTION (SndPlaySound(".\SONS\CONFEXC.WAV"),CAD_CONTASP("E"),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ); REDEFINE BTNBMP RESOURCE "BMP_LUPA" ID 112 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Pesquisar"; ACTION (PROC1_Contas(nOrden,PROC1),; oDlg_CONTAS:Refresh(),oDlg_CONTAS:Update(),; oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oLbx_1CONTAS:Setfocus(),PROC1:=Space(60)) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_SUP" ID 111 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Sair"; ACTION oDlg_CONTAS1:End(); NOBORDER oPROC1:cToolTip:=" Digite aqui a informação "+ CRLF+" a ser procurada e tecle ENTER " *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * * Diálogo - folder 0003 * *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- REDEFINE LISTBOX oLbx_3CONTAS; FIELDS " "+contasr->temboleto," "+contasr->(DTOC(data)),; contasr->empresa," "+contasr->(STRZERO(codigoemp,04,0)),; contasr->historico,; TRANSFORM(contasr->valor,"@ZE 999,999.99"); HEADERS "Boleto","Data","Empresa","Código","Histórico","Valor (R$)"; FIELDSIZES 043, 089, 180, 049, 230, 080 ; FONT O_F_BRW; ID 101 OF oFld:aDialogs[ 3 ]; oLbx_3CONTAS:bKeyDown:={| nKey| if(nkey=13,(CAD_RCONTAS("A"),oLbx_3CONTAS:Refresh()),) } oLbx_3CONTAS:ajustify:={.F.,.F.,.F.,.F.,.F.,.T.} oLbx_3CONTAS:nLineStyle := 2 oLbx_3CONTAS:Refresh() oLbx_3CONTAS:lCellStyle := .F. oLbx_3CONTAS:nClrBackHead := CLR_HBLUE // Cor do fundo do cabeçalho oLbx_3CONTAS:nClrBackFocus := CLR_AZUL_BRANCO // Cor do cursor em cima do item oLbx_3CONTAS:nClrForeHead := CLR_BLANCO // Cor nos headers - cabeçalhos oLbx_3CONTAS:nClrPane:={ ||IIF(IIF(X,X:=.F.,X:=.T.)=.T., ; CLR_BROW,CLR_LGREEN)} oLbx_3CONTAS:SetFocus() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE FONT O_F_GET3 NAME "ARIAL" SIZE 16,22 BOLD REDEFINE COMBOBOX nOrden ITEMS { "Data" , "Empresa" } ID 102 OF oFld:aDialogs[ 3 ] ON CHANGE (Ordem3_Contas(nOrden,oLbx_3CONTAS) ,oLbx_3CONTAS:GOTOP(), oLbx_3CONTAS:Refresh(),oPROC1:SETFOCUS()) REDEFINE GET oPROC3 var PROC3 ID 2006 OF oFld:aDialogs[ 3 ] PICTURE "@!K" FONT O_F_GET COLOR CLR_HRED, CLR_HCYAN Update REDEFINE BTNBMP RESOURCE "BMP_NOVOS" ID 105 OF oFld:aDialogs[ 3 ]; TOOLTIP "Incluir registro"; ACTION (CAD_RCONTAS("I"),; Numeventos:=(Numeventos+1),; Somatorio:=(Somatorio+nValor),; oNumeventos:Refresh(),oSomatorio:Refresh(),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_ALT" ID 106 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Alterar registro"; ACTION (CAD_RCONTAS("A"),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_LIXO" ID 107 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Excluir registro"; NOBORDER; ACTION (SndPlaySound(".\SONS\CONFEXC.WAV"),CAD_RCONTAS("E"),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ); REDEFINE BTNBMP RESOURCE "BMP_LUPA" ID 112 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Pesquisar"; ACTION (PROC1_Contas(PROC3),oLbx_3CONTAS:setfocus(),oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:setfocus(),PROC3:=space(60)) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_SUP" ID 111 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Sair"; ACTION oDlg_CONTAS3:End(); NOBORDER oPROC3:cToolTip:=" Digite aqui a informação "+ CRLF+" a ser procurada e tecle ENTER " *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Numeventos:=STR(Numeventos,3)+" eventos a pagar. Total (R$):" Textoev="eventos a pagar. Total (R$)" REDEFINE SAY oNumeventos VAR Numeventos ID 1000 of oDlg_CONTAS font O_F_DLG Update REDEFINE SAY oTextoev VAR Textoev ID 1001 of oDlg_CONTAS font O_F_DLG Update REDEFINE SAY oSomatorio VAR Somatorio ID 19003 of oDlg_CONTAS font O_F_GET3 PICTURE "@E 999,999.99" COLOR CLR_HRED Update REDEFINE GET oDatapg VAR Datapg ID 104 of oDlg_CONTAS font O_F_DLG PICTURE "99/99/9999" Update WFOLDER=oFld:nOption REDEFINE BUTTON ID 141 OF oDlg_CONTAS; ACTION (BANCO_SELECAO(WFOLDER)) REDEFINE BUTTON ID 107 OF oDlg_CONTAS; ACTION (BANCO1_SELECAO(WFOLDER)) SET KEY VK_F2 TO SetKey(VK_F2,{||BANCO_SELECAO(WFOLDER) }) SET KEY VK_F3 TO SetKey(VK_F3,{||BANCO1_SELECAO(WFOLDER)}) cursorarrow() ACTIVATE DIALOG oDlg_CONTAS CENTERED // O_F_DLG:end() // O_F_BRW:end() // O_F_GET:end() deleteobjecto(oLbx) deleteobjecto(oDlg) // release O_F_DLG // release O_F_GET // * release oDEDO_2 // deleteobjecto(oLbx) // CLOSE ALL memory(-1) RETURN(nil) // ------------------------------------------------------------------------ STATIC FUNCTION Fld_Atualiza(nOption) Cursor("SQL") IF nOption=1 DBSELECTAREA("CONTASP") CONTASP->( OrdSetFocus( 1 )) SET FILTER TO pago="N" DBGOTOP() COUNT TO Numeventos SUM valor to Somatorio DBGOTOP() nOrden:=1 Ordem1_Contas(nOrden,oLbx_1CONTAS) // oLbx_1CONTAS:GOTOP() // oLbx_1CONTAS:nAT := 1 // oCbx:Refresh() Datapg=(DATE()-1) oFld:aDialogs[ nOption ]:Update() oFld:aDialogs[ nOption ]:Refresh() oLbx_1CONTAS:GOTOP() oLbx_1CONTAS:Refresh() oCbx:Refresh() // oDlg_CONTAS:Update() // oDlg_CONTAS:Refresh() // oLbx_1CONTAS:Refresh() // oLbx_1CONTAS:SetFocus() // oFld:aDialogs[ 1 ]:Refresh() ELSEIF nOption=3 DBSELECTAREA("CONTASR") CONTASR->( OrdSetFocus( 1 )) SET FILTER TO pago="N" DBGOTOP() COUNT TO Numeventos SUM valor to Somatorio DBGOTOP() nOrden:=1 Ordem3_Contas(nOrden,oLbx_3CONTAS) // oLbx_3CONTAS:GOTOP() // oCbx:Refresh() Datapg=(DATE()-1) oLbx_3CONTAS:GOTOP() oLbx_3CONTAS:Refresh() oFld:Refresh() oFld:aDialogs[ 3 ]:Update() oFld:aDialogs[ 3 ]:Refresh() oCbx:Refresh() oDlg_CONTAS:Refresh() ENDIF cursorarrow() RETURN(.t.) // ------------------------------------------------------------------------ id=code>id=code> Quote Link to comment Share on other sites More sharing options...
zima Posted March 27, 2006 Author Report Share Posted March 27, 2006 Olá amigos, Tentei resolver o problema fazendo buscas neste site, mais ainda não consegui achar a solução e estou entrando em parafuso ! Tenho um folder com 4 orelhas. A princÃpio estou trabalhando na 1a. e na 3a. Na primeira, tenho um listbox com dados do arquivo de CONTAS A PAGAR, e na 3a. tenho outro listbox com arquivo de CONTAS A RECEBER. O que gostaria que o sistema fizesse é, quando o usuário teclar na 3a. orelha, automaticamente o listbox fique atualizado com os dados de CONTAS A RECEBER.DBF. O que estou conseguindo é apenas um listbox preenchido com o ÚLTIMO registro desse banco de dados CONTAS A RECEBER !!! Vou transcrever abaixo o código, e agradeço a quem possa me ajudar (a perder menos cabelos !!) desde já ! Zima id=code>id=code>//******************************************************************************************************************** DEFINE DIALOG oDlg_CONTAS RESOURCE "FLD_CONTAS" TITLE "Contas a pagar/receber " Font O_F_DLG REDEFINE FOLDER oFld ID 101 OF oDlg_CONTAS ; PROMPT "&Contas a pagar","Contas &pagas","C&ontas a receber","Contas &recebidas"; DIALOGS "T_CONTAS","T_CONTAS","T_CONTAS","T_CONTAS"; ON CHANGE (Fld_Atualiza(oFld:nOption)) // oFld:bChange:={|nOption,nOldOption|Fld_Atualiza(nOption)} *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * * Diálogo - folder 0001 * *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- REDEFINE LISTBOX oLbx_1CONTAS; FIELDS " "+contasp->temboleto," "+contasp->(DTOC(data)),; contasp->empresa," "+contasp->(STRZERO(codigoemp,04,0)),; contasp->historico,; TRANSFORM(contasp->valor,"@ZE 999,999.99"); HEADERS "Boleto","Data","Empresa","Código","Histórico","Valor (R$)"; FIELDSIZES 043, 089, 180, 049, 230, 080 ; FONT O_F_BRW; ID 101 OF oFld:aDialogs[ 1 ]; oLbx_1CONTAS:bKeyDown:={| nKey| if(nkey=13,(CAD_CONTASP("A"),oLbx_1CONTAS:Refresh()),) } oLbx_1CONTAS:ajustify:={.F.,.F.,.F.,.F.,.F.,.T.} oLbx_1CONTAS:nLineStyle := 2 oLbx_1CONTAS:Refresh() oLbx_1CONTAS:lCellStyle := .F. oLbx_1CONTAS:nClrBackHead := CLR_HBLUE // Cor do fundo do cabeçalho oLbx_1CONTAS:nClrBackFocus := CLR_AZUL_BRANCO // Cor do cursor em cima do item oLbx_1CONTAS:nClrForeHead := CLR_BLANCO // Cor nos headers - cabeçalhos oLbx_1CONTAS:nClrPane:={ ||IIF(IIF(X,X:=.F.,X:=.T.)=.T., ; CLR_BROW,CLR_LGREEN)} oLbx_1CONTAS:SetFocus() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE FONT O_F_GET3 NAME "ARIAL" SIZE 16,22 BOLD REDEFINE COMBOBOX oCbx VAR nOrden ITEMS { "Data (F4)" , "Empresa (F5)" } ID 102 OF oFld:aDialogs[ 1 ] ; ON CHANGE (Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),; oPROC1:SETFOCUS()) SetKey(VK_F4,{||nOrden:=1,Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oPROC1:SETFOCUS()}) SetKey(VK_F5,{||nOrden:=2,Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oPROC1:SETFOCUS()}) REDEFINE GET oPROC1 var PROC1 ID 2006 OF oFld:aDialogs[ 1 ] PICTURE "@!K" FONT O_F_GET COLOR CLR_HRED, CLR_HCYAN Update REDEFINE BTNBMP RESOURCE "BMP_NOVOS" ID 105 OF oFld:aDialogs[ 1 ]; TOOLTIP "Incluir registro"; ACTION (CAD_CONTASP("I"),; Numeventos:=(Numeventos+1),; Somatorio:=(Somatorio+nValor),; oNumeventos:Refresh(),oSomatorio:Refresh(),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_ALT" ID 106 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Alterar registro"; ACTION (CAD_CONTASP("A"),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_LIXO" ID 107 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Excluir registro"; NOBORDER; ACTION (SndPlaySound(".\SONS\CONFEXC.WAV"),CAD_CONTASP("E"),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ); REDEFINE BTNBMP RESOURCE "BMP_LUPA" ID 112 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Pesquisar"; ACTION (PROC1_Contas(nOrden,PROC1),; oDlg_CONTAS:Refresh(),oDlg_CONTAS:Update(),; oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oLbx_1CONTAS:Setfocus(),PROC1:=Space(60)) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_SUP" ID 111 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Sair"; ACTION oDlg_CONTAS1:End(); NOBORDER oPROC1:cToolTip:=" Digite aqui a informação "+ CRLF+" a ser procurada e tecle ENTER " *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * * Diálogo - folder 0003 * *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- REDEFINE LISTBOX oLbx_3CONTAS; FIELDS " "+contasr->temboleto," "+contasr->(DTOC(data)),; contasr->empresa," "+contasr->(STRZERO(codigoemp,04,0)),; contasr->historico,; TRANSFORM(contasr->valor,"@ZE 999,999.99"); HEADERS "Boleto","Data","Empresa","Código","Histórico","Valor (R$)"; FIELDSIZES 043, 089, 180, 049, 230, 080 ; FONT O_F_BRW; ID 101 OF oFld:aDialogs[ 3 ]; oLbx_3CONTAS:bKeyDown:={| nKey| if(nkey=13,(CAD_RCONTAS("A"),oLbx_3CONTAS:Refresh()),) } oLbx_3CONTAS:ajustify:={.F.,.F.,.F.,.F.,.F.,.T.} oLbx_3CONTAS:nLineStyle := 2 oLbx_3CONTAS:Refresh() oLbx_3CONTAS:lCellStyle := .F. oLbx_3CONTAS:nClrBackHead := CLR_HBLUE // Cor do fundo do cabeçalho oLbx_3CONTAS:nClrBackFocus := CLR_AZUL_BRANCO // Cor do cursor em cima do item oLbx_3CONTAS:nClrForeHead := CLR_BLANCO // Cor nos headers - cabeçalhos oLbx_3CONTAS:nClrPane:={ ||IIF(IIF(X,X:=.F.,X:=.T.)=.T., ; CLR_BROW,CLR_LGREEN)} oLbx_3CONTAS:SetFocus() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE FONT O_F_GET3 NAME "ARIAL" SIZE 16,22 BOLD REDEFINE COMBOBOX nOrden ITEMS { "Data" , "Empresa" } ID 102 OF oFld:aDialogs[ 3 ] ON CHANGE (Ordem3_Contas(nOrden,oLbx_3CONTAS) ,oLbx_3CONTAS:GOTOP(), oLbx_3CONTAS:Refresh(),oPROC1:SETFOCUS()) REDEFINE GET oPROC3 var PROC3 ID 2006 OF oFld:aDialogs[ 3 ] PICTURE "@!K" FONT O_F_GET COLOR CLR_HRED, CLR_HCYAN Update REDEFINE BTNBMP RESOURCE "BMP_NOVOS" ID 105 OF oFld:aDialogs[ 3 ]; TOOLTIP "Incluir registro"; ACTION (CAD_RCONTAS("I"),; Numeventos:=(Numeventos+1),; Somatorio:=(Somatorio+nValor),; oNumeventos:Refresh(),oSomatorio:Refresh(),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_ALT" ID 106 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Alterar registro"; ACTION (CAD_RCONTAS("A"),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_LIXO" ID 107 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Excluir registro"; NOBORDER; ACTION (SndPlaySound(".\SONS\CONFEXC.WAV"),CAD_RCONTAS("E"),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ); REDEFINE BTNBMP RESOURCE "BMP_LUPA" ID 112 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Pesquisar"; ACTION (PROC1_Contas(PROC3),oLbx_3CONTAS:setfocus(),oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:setfocus(),PROC3:=space(60)) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_SUP" ID 111 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Sair"; ACTION oDlg_CONTAS3:End(); NOBORDER oPROC3:cToolTip:=" Digite aqui a informação "+ CRLF+" a ser procurada e tecle ENTER " *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Numeventos:=STR(Numeventos,3)+" eventos a pagar. Total (R$):" Textoev="eventos a pagar. Total (R$)" REDEFINE SAY oNumeventos VAR Numeventos ID 1000 of oDlg_CONTAS font O_F_DLG Update REDEFINE SAY oTextoev VAR Textoev ID 1001 of oDlg_CONTAS font O_F_DLG Update REDEFINE SAY oSomatorio VAR Somatorio ID 19003 of oDlg_CONTAS font O_F_GET3 PICTURE "@E 999,999.99" COLOR CLR_HRED Update REDEFINE GET oDatapg VAR Datapg ID 104 of oDlg_CONTAS font O_F_DLG PICTURE "99/99/9999" Update WFOLDER=oFld:nOption REDEFINE BUTTON ID 141 OF oDlg_CONTAS; ACTION (BANCO_SELECAO(WFOLDER)) REDEFINE BUTTON ID 107 OF oDlg_CONTAS; ACTION (BANCO1_SELECAO(WFOLDER)) SET KEY VK_F2 TO SetKey(VK_F2,{||BANCO_SELECAO(WFOLDER) }) SET KEY VK_F3 TO SetKey(VK_F3,{||BANCO1_SELECAO(WFOLDER)}) cursorarrow() ACTIVATE DIALOG oDlg_CONTAS CENTERED // O_F_DLG:end() // O_F_BRW:end() // O_F_GET:end() deleteobjecto(oLbx) deleteobjecto(oDlg) // release O_F_DLG // release O_F_GET // * release oDEDO_2 // deleteobjecto(oLbx) // CLOSE ALL memory(-1) RETURN(nil) // ------------------------------------------------------------------------ STATIC FUNCTION Fld_Atualiza(nOption) Cursor("SQL") IF nOption=1 DBSELECTAREA("CONTASP") CONTASP->( OrdSetFocus( 1 )) SET FILTER TO pago="N" DBGOTOP() COUNT TO Numeventos SUM valor to Somatorio DBGOTOP() nOrden:=1 Ordem1_Contas(nOrden,oLbx_1CONTAS) // oLbx_1CONTAS:GOTOP() // oLbx_1CONTAS:nAT := 1 // oCbx:Refresh() Datapg=(DATE()-1) oFld:aDialogs[ nOption ]:Update() oFld:aDialogs[ nOption ]:Refresh() oLbx_1CONTAS:GOTOP() oLbx_1CONTAS:Refresh() oCbx:Refresh() // oDlg_CONTAS:Update() // oDlg_CONTAS:Refresh() // oLbx_1CONTAS:Refresh() // oLbx_1CONTAS:SetFocus() // oFld:aDialogs[ 1 ]:Refresh() ELSEIF nOption=3 DBSELECTAREA("CONTASR") CONTASR->( OrdSetFocus( 1 )) SET FILTER TO pago="N" DBGOTOP() COUNT TO Numeventos SUM valor to Somatorio DBGOTOP() nOrden:=1 Ordem3_Contas(nOrden,oLbx_3CONTAS) // oLbx_3CONTAS:GOTOP() // oCbx:Refresh() Datapg=(DATE()-1) oLbx_3CONTAS:GOTOP() oLbx_3CONTAS:Refresh() oFld:Refresh() oFld:aDialogs[ 3 ]:Update() oFld:aDialogs[ 3 ]:Refresh() oCbx:Refresh() oDlg_CONTAS:Refresh() ENDIF cursorarrow() RETURN(.t.) // ------------------------------------------------------------------------ id=code>id=code> Quote Link to comment Share on other sites More sharing options...
zima Posted March 27, 2006 Author Report Share Posted March 27, 2006 Olá amigos, Tentei resolver o problema fazendo buscas neste site, mais ainda não consegui achar a solução e estou entrando em parafuso ! Tenho um folder com 4 orelhas. A princÃpio estou trabalhando na 1a. e na 3a. Na primeira, tenho um listbox com dados do arquivo de CONTAS A PAGAR, e na 3a. tenho outro listbox com arquivo de CONTAS A RECEBER. O que gostaria que o sistema fizesse é, quando o usuário teclar na 3a. orelha, automaticamente o listbox fique atualizado com os dados de CONTAS A RECEBER.DBF. O que estou conseguindo é apenas um listbox preenchido com o ÚLTIMO registro desse banco de dados CONTAS A RECEBER !!! Vou transcrever abaixo o código, e agradeço a quem possa me ajudar (a perder menos cabelos !!) desde já ! Zima id=code>id=code>//******************************************************************************************************************** DEFINE DIALOG oDlg_CONTAS RESOURCE "FLD_CONTAS" TITLE "Contas a pagar/receber " Font O_F_DLG REDEFINE FOLDER oFld ID 101 OF oDlg_CONTAS ; PROMPT "&Contas a pagar","Contas &pagas","C&ontas a receber","Contas &recebidas"; DIALOGS "T_CONTAS","T_CONTAS","T_CONTAS","T_CONTAS"; ON CHANGE (Fld_Atualiza(oFld:nOption)) // oFld:bChange:={|nOption,nOldOption|Fld_Atualiza(nOption)} *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * * Diálogo - folder 0001 * *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- REDEFINE LISTBOX oLbx_1CONTAS; FIELDS " "+contasp->temboleto," "+contasp->(DTOC(data)),; contasp->empresa," "+contasp->(STRZERO(codigoemp,04,0)),; contasp->historico,; TRANSFORM(contasp->valor,"@ZE 999,999.99"); HEADERS "Boleto","Data","Empresa","Código","Histórico","Valor (R$)"; FIELDSIZES 043, 089, 180, 049, 230, 080 ; FONT O_F_BRW; ID 101 OF oFld:aDialogs[ 1 ]; oLbx_1CONTAS:bKeyDown:={| nKey| if(nkey=13,(CAD_CONTASP("A"),oLbx_1CONTAS:Refresh()),) } oLbx_1CONTAS:ajustify:={.F.,.F.,.F.,.F.,.F.,.T.} oLbx_1CONTAS:nLineStyle := 2 oLbx_1CONTAS:Refresh() oLbx_1CONTAS:lCellStyle := .F. oLbx_1CONTAS:nClrBackHead := CLR_HBLUE // Cor do fundo do cabeçalho oLbx_1CONTAS:nClrBackFocus := CLR_AZUL_BRANCO // Cor do cursor em cima do item oLbx_1CONTAS:nClrForeHead := CLR_BLANCO // Cor nos headers - cabeçalhos oLbx_1CONTAS:nClrPane:={ ||IIF(IIF(X,X:=.F.,X:=.T.)=.T., ; CLR_BROW,CLR_LGREEN)} oLbx_1CONTAS:SetFocus() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE FONT O_F_GET3 NAME "ARIAL" SIZE 16,22 BOLD REDEFINE COMBOBOX oCbx VAR nOrden ITEMS { "Data (F4)" , "Empresa (F5)" } ID 102 OF oFld:aDialogs[ 1 ] ; ON CHANGE (Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),; oPROC1:SETFOCUS()) SetKey(VK_F4,{||nOrden:=1,Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oPROC1:SETFOCUS()}) SetKey(VK_F5,{||nOrden:=2,Ordem1_Contas(nOrden,oLbx_1CONTAS),; oFld:aDialogs[ 1 ]:Refresh(),; oLbx_1CONTAS:GOTOP(),oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oPROC1:SETFOCUS()}) REDEFINE GET oPROC1 var PROC1 ID 2006 OF oFld:aDialogs[ 1 ] PICTURE "@!K" FONT O_F_GET COLOR CLR_HRED, CLR_HCYAN Update REDEFINE BTNBMP RESOURCE "BMP_NOVOS" ID 105 OF oFld:aDialogs[ 1 ]; TOOLTIP "Incluir registro"; ACTION (CAD_CONTASP("I"),; Numeventos:=(Numeventos+1),; Somatorio:=(Somatorio+nValor),; oNumeventos:Refresh(),oSomatorio:Refresh(),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_ALT" ID 106 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Alterar registro"; ACTION (CAD_CONTASP("A"),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_LIXO" ID 107 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Excluir registro"; NOBORDER; ACTION (SndPlaySound(".\SONS\CONFEXC.WAV"),CAD_CONTASP("E"),; oLbx_1CONTAS:Refresh(),oLbx_1CONTAS:SetFocus() ); REDEFINE BTNBMP RESOURCE "BMP_LUPA" ID 112 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Pesquisar"; ACTION (PROC1_Contas(nOrden,PROC1),; oDlg_CONTAS:Refresh(),oDlg_CONTAS:Update(),; oLbx_1CONTAS:Refresh(),oCbx:Refresh(),; oLbx_1CONTAS:Setfocus(),PROC1:=Space(60)) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_SUP" ID 111 OF oFld:aDialogs[ 1 ] ; TOOLTIP "Sair"; ACTION oDlg_CONTAS1:End(); NOBORDER oPROC1:cToolTip:=" Digite aqui a informação "+ CRLF+" a ser procurada e tecle ENTER " *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- * * Diálogo - folder 0003 * *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- REDEFINE LISTBOX oLbx_3CONTAS; FIELDS " "+contasr->temboleto," "+contasr->(DTOC(data)),; contasr->empresa," "+contasr->(STRZERO(codigoemp,04,0)),; contasr->historico,; TRANSFORM(contasr->valor,"@ZE 999,999.99"); HEADERS "Boleto","Data","Empresa","Código","Histórico","Valor (R$)"; FIELDSIZES 043, 089, 180, 049, 230, 080 ; FONT O_F_BRW; ID 101 OF oFld:aDialogs[ 3 ]; oLbx_3CONTAS:bKeyDown:={| nKey| if(nkey=13,(CAD_RCONTAS("A"),oLbx_3CONTAS:Refresh()),) } oLbx_3CONTAS:ajustify:={.F.,.F.,.F.,.F.,.F.,.T.} oLbx_3CONTAS:nLineStyle := 2 oLbx_3CONTAS:Refresh() oLbx_3CONTAS:lCellStyle := .F. oLbx_3CONTAS:nClrBackHead := CLR_HBLUE // Cor do fundo do cabeçalho oLbx_3CONTAS:nClrBackFocus := CLR_AZUL_BRANCO // Cor do cursor em cima do item oLbx_3CONTAS:nClrForeHead := CLR_BLANCO // Cor nos headers - cabeçalhos oLbx_3CONTAS:nClrPane:={ ||IIF(IIF(X,X:=.F.,X:=.T.)=.T., ; CLR_BROW,CLR_LGREEN)} oLbx_3CONTAS:SetFocus() DEFINE FONT O_F_GET NAME "ARIAL" SIZE 07,18 BOLD DEFINE FONT O_F_GET3 NAME "ARIAL" SIZE 16,22 BOLD REDEFINE COMBOBOX nOrden ITEMS { "Data" , "Empresa" } ID 102 OF oFld:aDialogs[ 3 ] ON CHANGE (Ordem3_Contas(nOrden,oLbx_3CONTAS) ,oLbx_3CONTAS:GOTOP(), oLbx_3CONTAS:Refresh(),oPROC1:SETFOCUS()) REDEFINE GET oPROC3 var PROC3 ID 2006 OF oFld:aDialogs[ 3 ] PICTURE "@!K" FONT O_F_GET COLOR CLR_HRED, CLR_HCYAN Update REDEFINE BTNBMP RESOURCE "BMP_NOVOS" ID 105 OF oFld:aDialogs[ 3 ]; TOOLTIP "Incluir registro"; ACTION (CAD_RCONTAS("I"),; Numeventos:=(Numeventos+1),; Somatorio:=(Somatorio+nValor),; oNumeventos:Refresh(),oSomatorio:Refresh(),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_ALT" ID 106 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Alterar registro"; ACTION (CAD_RCONTAS("A"),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ) NOBORDER REDEFINE BTNBMP RESOURCE "BMP_LIXO" ID 107 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Excluir registro"; NOBORDER; ACTION (SndPlaySound(".\SONS\CONFEXC.WAV"),CAD_RCONTAS("E"),; oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:SetFocus() ); REDEFINE BTNBMP RESOURCE "BMP_LUPA" ID 112 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Pesquisar"; ACTION (PROC1_Contas(PROC3),oLbx_3CONTAS:setfocus(),oLbx_3CONTAS:Refresh(),oLbx_3CONTAS:setfocus(),PROC3:=space(60)) NOBORDER REDEFINE BTNBMP RESOURCE "MNU_SUP" ID 111 OF oFld:aDialogs[ 3 ] ; TOOLTIP "Sair"; ACTION oDlg_CONTAS3:End(); NOBORDER oPROC3:cToolTip:=" Digite aqui a informação "+ CRLF+" a ser procurada e tecle ENTER " *-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- // Numeventos:=STR(Numeventos,3)+" eventos a pagar. Total (R$):" Textoev="eventos a pagar. Total (R$)" REDEFINE SAY oNumeventos VAR Numeventos ID 1000 of oDlg_CONTAS font O_F_DLG Update REDEFINE SAY oTextoev VAR Textoev ID 1001 of oDlg_CONTAS font O_F_DLG Update REDEFINE SAY oSomatorio VAR Somatorio ID 19003 of oDlg_CONTAS font O_F_GET3 PICTURE "@E 999,999.99" COLOR CLR_HRED Update REDEFINE GET oDatapg VAR Datapg ID 104 of oDlg_CONTAS font O_F_DLG PICTURE "99/99/9999" Update WFOLDER=oFld:nOption REDEFINE BUTTON ID 141 OF oDlg_CONTAS; ACTION (BANCO_SELECAO(WFOLDER)) REDEFINE BUTTON ID 107 OF oDlg_CONTAS; ACTION (BANCO1_SELECAO(WFOLDER)) SET KEY VK_F2 TO SetKey(VK_F2,{||BANCO_SELECAO(WFOLDER) }) SET KEY VK_F3 TO SetKey(VK_F3,{||BANCO1_SELECAO(WFOLDER)}) cursorarrow() ACTIVATE DIALOG oDlg_CONTAS CENTERED // O_F_DLG:end() // O_F_BRW:end() // O_F_GET:end() deleteobjecto(oLbx) deleteobjecto(oDlg) // release O_F_DLG // release O_F_GET // * release oDEDO_2 // deleteobjecto(oLbx) // CLOSE ALL memory(-1) RETURN(nil) // ------------------------------------------------------------------------ STATIC FUNCTION Fld_Atualiza(nOption) Cursor("SQL") IF nOption=1 DBSELECTAREA("CONTASP") CONTASP->( OrdSetFocus( 1 )) SET FILTER TO pago="N" DBGOTOP() COUNT TO Numeventos SUM valor to Somatorio DBGOTOP() nOrden:=1 Ordem1_Contas(nOrden,oLbx_1CONTAS) // oLbx_1CONTAS:GOTOP() // oLbx_1CONTAS:nAT := 1 // oCbx:Refresh() Datapg=(DATE()-1) oFld:aDialogs[ nOption ]:Update() oFld:aDialogs[ nOption ]:Refresh() oLbx_1CONTAS:GOTOP() oLbx_1CONTAS:Refresh() oCbx:Refresh() // oDlg_CONTAS:Update() // oDlg_CONTAS:Refresh() // oLbx_1CONTAS:Refresh() // oLbx_1CONTAS:SetFocus() // oFld:aDialogs[ 1 ]:Refresh() ELSEIF nOption=3 DBSELECTAREA("CONTASR") CONTASR->( OrdSetFocus( 1 )) SET FILTER TO pago="N" DBGOTOP() COUNT TO Numeventos SUM valor to Somatorio DBGOTOP() nOrden:=1 Ordem3_Contas(nOrden,oLbx_3CONTAS) // oLbx_3CONTAS:GOTOP() // oCbx:Refresh() Datapg=(DATE()-1) oLbx_3CONTAS:GOTOP() oLbx_3CONTAS:Refresh() oFld:Refresh() oFld:aDialogs[ 3 ]:Update() oFld:aDialogs[ 3 ]:Refresh() oCbx:Refresh() oDlg_CONTAS:Refresh() ENDIF cursorarrow() RETURN(.t.) // ------------------------------------------------------------------------ id=code>id=code> Quote Link to comment Share on other sites More sharing options...
zima Posted March 27, 2006 Author Report Share Posted March 27, 2006 Olá ! Nenhuma luz no fim do túnel ? Vou continuar meus testes por aqui ... Abs, Zima Quote Link to comment Share on other sites More sharing options...
zima Posted March 29, 2006 Author Report Share Posted March 29, 2006 Estou começando a achar que isso é impossÃvel ! Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 29, 2006 Report Share Posted March 29, 2006 NO DESVIO DO: ON CHANGE (Fld_Atualiza(oFld:nOption)) Tente: oLbx:GoTop() oLbx:Refresh() oLbx:SetFocus() oLbx:GoBottom() Teste, funcionando, ponha a criterio. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br FWH 2.7 - xHARBOUR 0.99.60 - WorkShop.Exe Homenagem ao Fivewin 2.7 For [x]Harbour e ao Cris: Quote Link to comment Share on other sites More sharing options...
zima Posted April 3, 2006 Author Report Share Posted April 3, 2006 Olá Kapiaba, Infelizmente ainda não funcionou ... Mas vou continuar tentando e agradeço se alguém tiver uma nova idéia. Obrigado, Zima Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted April 3, 2006 Report Share Posted April 3, 2006 citação:Olá Kapiaba, Infelizmente ainda não funcionou ... Mas vou continuar tentando e agradeço se alguém tiver uma nova idéia. Obrigado, Zima id=quote>id=quote>Zima, tudo bem?? Estou num lugar em que é impossÃvel a pesquisa, mas vai lá. Eu costumo deixar bem claro no programa qual o SELE que está sendo usado em cada LISTBOX: SELE ?? GO TOP // ou SEEK ... listbox ... ALIAS Quote Link to comment Share on other sites More sharing options...
zima Posted April 5, 2006 Author Report Share Posted April 5, 2006 Oi Paulo, tudo certo ? Bem, o que está acontecendo é que estou conseguindo selecionar o arquivo CONTASR.DBF no listbox da 3a. orelha do folder, ao clicar neste 3a. orelha. Porém, o listbox está sendo preenchido com apenas o último registro desse banco de dados, ou seja, todas as linhas estão iguais ! Já tentei atualizar só a Dialog onde está o folder ... só o folder ... só a listbox ... mas ainda assim o problema persiste !!!!!!!! Tem que ter um jeito de atualizar esse listbox, mas tá difÃcil de achar esse jeito ... Mas vou continuar na luta e agradeço aos amigos mais experientes que puderem me ajudar. Abs, Zima Quote Link to comment Share on other sites More sharing options...
zima Posted April 8, 2006 Author Report Share Posted April 8, 2006 Pessoal, estou ficando desesperado ! Não estou conseguindo uma maneira de fazer com que na 3a. orelha do folder meu listbox fique atualizado com os dados de CONTAS A RECEBER ! Peço encarecidamente a ajuda dos amigos ... Zima Quote Link to comment Share on other sites More sharing options...
Somzeira Posted April 8, 2006 Report Share Posted April 8, 2006 Zima, se vc está falando que está aparecendo apenas o último registro no listbox e ainda repetido o Ãndice deve estar corrompido, tente reindexar. Quote Link to comment Share on other sites More sharing options...
zima Posted April 10, 2006 Author Report Share Posted April 10, 2006 Amigos, Resolvi a questão com a introdução da linha: oLbx_3CONTAS:bLogicLen ... Fica aqui a dica para eventuais consultas ao fórum. Obrigado aos que me responderam. Abs, Zima 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.