Jump to content
Fivewin Brasil

Atualizar Listbox em Folder


zima

Recommended Posts

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>
Link to comment
Share on other sites

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>
Link to comment
Share on other sites

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>
Link to comment
Share on other sites

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:

assinatchris.gif

Link to comment
Share on other sites

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

assinatpaulo.jpg

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...