Jump to content
Fivewin Brasil

Filtro Por Data


oziel

Recommended Posts

Amigos... icon_smile_sad.gificon_smile_sad.gif

Já fiz algumas pesquisas no forum para ver se tem algu parecido, mas não encontrei.

Estou precisando de uma ajuda.

No função abaixo eu realizo um Set Filter para Data, para só mostar as datas solicitadas, acontece que com o set filter o sistema já está ficando lento.

Coloque essas linhas que já utilizo em outro prog. data+codigo etc. dar perfeito. Neste caso é para Ordenar e Separar só a data pedida.

Após a execução mostra todo o Banco. Detalhe no Banco existem no campo "Consulta" datas em branco.

//--------------------------------------------------------

FUNCTION AtendeHoje()

LOCAL oDlg, oLbx // Objetos Caixa de Dialogo

LOCAL oFnt,oG120,G130

cDATA = DTOC(DATE()) // Data do filtro.

CursorWait()

DEFINE DIALOG oDlg RESOURCE "DATA"

REDEFINE GET oG130 VAR cDATA PICTURE '99/99/99' ID 126 OF oDlg

ACTIVATE DIALOG oDlg CENTERED

// Abrir Base Dados e fnção Set Filter ------------------------------------

* Select Atende

* Set Index to Atende

* Set Order to 1

* Set filter to dtoc(consulta) = cDATA

* dbGoTop()

* MsgRun("Filtrando dos Dados... Aguarde... ","Um momento!")

//---------- Indices - arq. tmp -

Hora = Time() // Filtro

Hora_Rand = Space(6)

Hora_Rand = Subst(Hora,1,2)+Subst(Hora,4,2)+Subst(Hora,7,2)

PQ = "PQ"+LTRIM(Subst(Hora_Rand,1,6)) // arq. temporario.

Select Atende

Index on dtoc(Consulta) TAG AT_CONS to .\TMP\&PQ WHILE (dtoc(consulta) = cData)

Select Atende

Set Index To .\TMP\&PQ

Set Order to 1

DbGotop()

//---------- Fim - Indices por arq. tmp ------------------------------------

DEFINE FONT oFnt NAME "Arial" SIZE 0, -10

// Caixa de Dialogo ---------------------------------------------------

oNome = Space(20)

DEFINE DIALOG oDlg RESOURCE "ATENDEHOJE" TITLE "GRH-Gerenciamento de Recusros Humanos - Por Data."

OZIEL LOPES

FW 22c - Clipper 5.3b - Workshop 4.0

Link to comment
Share on other sites

Amigos... icon_smile_sad.gificon_smile_sad.gif

Já fiz algumas pesquisas no forum para ver se tem algu parecido, mas não encontrei.

Estou precisando de uma ajuda.

No função abaixo eu realizo um Set Filter para Data, para só mostar as datas solicitadas, acontece que com o set filter o sistema já está ficando lento.

Coloque essas linhas que já utilizo em outro prog. data+codigo etc. dar perfeito. Neste caso é para Ordenar e Separar só a data pedida.

Após a execução mostra todo o Banco. Detalhe no Banco existem no campo "Consulta" datas em branco.

//--------------------------------------------------------

FUNCTION AtendeHoje()

LOCAL oDlg, oLbx // Objetos Caixa de Dialogo

LOCAL oFnt,oG120,G130

cDATA = DTOC(DATE()) // Data do filtro.

CursorWait()

DEFINE DIALOG oDlg RESOURCE "DATA"

REDEFINE GET oG130 VAR cDATA PICTURE '99/99/99' ID 126 OF oDlg

ACTIVATE DIALOG oDlg CENTERED

// Abrir Base Dados e fnção Set Filter ------------------------------------

* Select Atende

* Set Index to Atende

* Set Order to 1

* Set filter to dtoc(consulta) = cDATA

* dbGoTop()

* MsgRun("Filtrando dos Dados... Aguarde... ","Um momento!")

//---------- Indices - arq. tmp -

Hora = Time() // Filtro

Hora_Rand = Space(6)

Hora_Rand = Subst(Hora,1,2)+Subst(Hora,4,2)+Subst(Hora,7,2)

PQ = "PQ"+LTRIM(Subst(Hora_Rand,1,6)) // arq. temporario.

Select Atende

Index on dtoc(Consulta) TAG AT_CONS to .\TMP\&PQ WHILE (dtoc(consulta) = cData)

Select Atende

Set Index To .\TMP\&PQ

Set Order to 1

DbGotop()

//---------- Fim - Indices por arq. tmp ------------------------------------

DEFINE FONT oFnt NAME "Arial" SIZE 0, -10

// Caixa de Dialogo ---------------------------------------------------

oNome = Space(20)

DEFINE DIALOG oDlg RESOURCE "ATENDEHOJE" TITLE "GRH-Gerenciamento de Recusros Humanos - Por Data."

OZIEL LOPES

FW 22c - Clipper 5.3b - Workshop 4.0

Link to comment
Share on other sites

Para índices e filtros com data, deve se usar DTOS e não DTOC.

Teste e veja se deu certo

Luis Fernando Jr. (Luisão)

"What we do in life echoes in eternity"

FWH8.1 + SQLLIB 1.9d + xHB 1.10 + xDev 0.65 + @SAY

E-Mail: juninho.luisao@gmail.com

MSN: juninho_luisao@hotmail.com

Link to comment
Share on other sites

Obrigado pelas dicas.

Infelizmente não consegui usar OrdScope() foi compilado pelo Clipper 5.3 mas o Blinker 5.1 não aceitou.

O último teste que fiz no Foxprox 2.5 deu certo como

foi escrito abaixo. Mas, em FW só sai no Browse um registro e é falso.

Tratanto de abrir um arq.(DBF)temporario não dá pois o usuário precisa alterar o registro.

Tudo indica que eu vou continuar com o Set Filter.

...............................

cData = Date()

CursorWait()

..................

DEFINE DIALOG oDlg RESOURCE "DATA"

REDEFINE GET oG130 VAR cDATA PICTURE '99/99/99' ID 126 OF oDlg

ACTIVATE DIALOG oDlg CENTERED

..................

Hora = Time() // Filtro

Hora_Rand = Space(6)

Hora_Rand = Subst(Hora,1,2)+Subst(Hora,4,2)+Subst(Hora,7,2)

PQ = "PQ"+LTRIM(Subst(Hora_Rand,1,6)) // arq. temporario.

Use Atende Alias Atende1 Shared New

DbGotop()

Index on dtos(Consulta) to .\TMP\&PQ For cData=Consulta

Sele Atende1

Set Index to .\TMP\&PQ

DbGotop()

..................

REDEFINE LISTBOX oLbx FIELDS Atende->CODIGO, ;

Atende->Nome, ;

Atende->COMP, ;

..................

Valeu...icon_smile_sad.gificon_smile_sad.gif

OZIEL LOPES

FW 22c - Clipper 5.3b - Workshop 4.0

Link to comment
Share on other sites

Infelizmente não consegui usar OrdScope() foi compilado pelo Clipper 5.3 mas o Blinker 5.1 não aceitou.

Baixe o BLINKER 7.0

e Mostre seu .LNK, tem boi na linha, ou na frente do micro.

kkkkkkkkkk, brincadeira.

João Santos - São Paulo.

kmt_karinha@pop.com.br

joao@pleno.com.br

Fone: (11) 3106-2832 / 8243-5632

FWH 2.7 - xHARBOUR WorkShop.Exe

dentinho.jpg?rnd=0.830315402649066

Link to comment
Share on other sites

Enao crie um arquivo temporario apenas com os dados q vc necessite e trabalhe com ele

com certesa ainda assim sera mais rapido do q o set filter

e se vc tem a necessidade de alterar o arquyivo real de um seek do arquivo temporario no arquivo real e faça a alteracao

Obrigado.

Evaldo Wagner

FiveWin9.07 xHarbour 1.21,BCC55, Pelles C xDev,xHarbour for Linux(console)

evaldowl@hotmail.com

Editado por - eevaldo on 28/04/2010 11:09:58

Link to comment
Share on other sites

Baixei o Blinker 7.0.e executei, o prob não estava Blinker.

Dscobri que o prob. estava na bateria que continuava a ler o path do Clipper52 e não do Clip53.

Agora vou testar OrdScope()

Mais uma vez

Obrigao.icon_smile_cool.gif

OZIEL LOPES

FW 22c - Clipper 5.3b - Workshop 4.0

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...