oziel Posted April 27, 2010 Report Share Posted April 27, 2010 Amigos... 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 Quote Link to comment Share on other sites More sharing options...
oziel Posted April 27, 2010 Author Report Share Posted April 27, 2010 Amigos... 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 27, 2010 Report Share Posted April 27, 2010 Use o ORDSCOPE() ou Crie um indice temporário. 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 Quote Link to comment Share on other sites More sharing options...
Luisão Posted April 27, 2010 Report Share Posted April 27, 2010 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 Quote Link to comment Share on other sites More sharing options...
oziel Posted April 28, 2010 Author Report Share Posted April 28, 2010 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... OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 28, 2010 Report Share Posted April 28, 2010 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 Quote Link to comment Share on other sites More sharing options...
eevaldo Posted April 28, 2010 Report Share Posted April 28, 2010 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 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 28, 2010 Report Share Posted April 28, 2010 Tem certesa ou Certeza?? kkkkkkkkkkkk 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 Quote Link to comment Share on other sites More sharing options...
oziel Posted April 28, 2010 Author Report Share Posted April 28, 2010 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. OZIEL LOPES FW 22c - Clipper 5.3b - Workshop 4.0 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.