vagner Posted November 5, 2008 Report Share Posted November 5, 2008 citação:Veja um exemplo para saber quais os TAGS que tem no seu ARQUIVO.CDX, veja se tem o INDICE 0(zero) USE DbfConCdx FOR x := 1 TO 50 //-> Maximo numero de TAGS. IF !EMPTY(ORDNAME(x)) DBSETORDER(x) cNombre := OrdName(x)) cKey := Ordkey(x) cCondic := OrdFor(x) NEXT id=code>id=code>Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Eu não acredito que vc ainda não tenha entendido Meu o Paulo, está do seu lado, pergunte a ele o motivo de se setar para (0), não significa que exista o Ãndice (0), alias, nem poderia mesmo, pois começa com (1). O motivo de se mudar para (0), é justamente para não dar CORRUPTION DETECTid=red> no CDXid=blue>. Setando para (0), os outros Ãndices não são fechados e são atualizados sem problemas, seria a mesma coisa de vc ter dois Ãndices e mudar para um outro (a partir do momento que quer ALTERARid=red> o conteúdo do ÃNDICEid=blue>) Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
vagner Posted November 5, 2008 Report Share Posted November 5, 2008 citação:Vagner, bom dia. Gentileza, poderia EXPLANAR um pouco sobre CHAVE DE INDICE: http://msdn.microsoft.com/pt-br/library/ms191241.aspx Obrigado. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Olá João, Bom eu não trabalho com SQL , cujo link vc postou, mas vou falar sobre CHAVE DE ÃNDICE para o CDX/NTX/ADS Quando vc cria um Ãndice, vc precisa colocar o FIELD do arquivo o qual vc quer criar. Use Clientes (por Exemplo) Inde On CODIGOid=red> Tag "1" To Clientes Inde On NOMEid=red> Tag "2" To Clientes id=code>id=code>Nesse momento temos duas Tag, sendo uma por codigo e outra por nome. Então qual é a Chave de Ãndice do primeiro Tag ? Se responder que é Codigo, acertou , se não, volta a estudar heheheheh Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 5, 2008 Report Share Posted November 5, 2008 citação: citação:Vagner, bom dia. Gentileza, poderia EXPLANAR um pouco sobre CHAVE DE INDICE: http://msdn.microsoft.com/pt-br/library/ms191241.aspx Obrigado. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Olá João, Bom eu não trabalho com SQL , cujo link vc postou, mas vou falar sobre CHAVE DE ÃNDICE para o CDX/NTX/ADS Quando vc cria um Ãndice, vc precisa colocar o FIELD do arquivo o qual vc quer criar. Use Clientes (por Exemplo) Inde On CODIGOid=red> Tag "1" To Clientes Inde On NOMEid=red> Tag "2" To Clientes id=code>id=code>Nesse momento temos duas Tag, sendo uma por codigo e outra por nome. Então qual é a Chave de Ãndice do primeiro Tag ? Se responder que é Codigo, acertou , se não, volta a estudar heheheheh Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>KKKKKKKKKKKKKKKKKKK ENTÃO, PERAI, PERAI!!! QUERES DIZER ENTÃO, QUE SE EU ENTRAR COM O SET ORDER TO 1 FIZER A ALTERACAO E TROCAR O TAG PARA SET ORDER TO 2 EM VEZ DE DIZER SET ORDER TO 0, TEREI MENSAGEM DE CORRUPTION DETECTED?? FOI ISSO QUE DISSESTES?? DEVE SER ALGUMA COISA COM MEU MODO DE PROGRAMAR, POIS SE USO O SET OPRDER T0 0, TENHO PROBLEMAS, Jà USANDO A ORDEM DOS TAGS COMO AS CRIEI EM MEU INDEXADOR, NADA CONSTA PARA DESABONAR. CONTINUAREI USANDO DA FORMA QUE APRENDI. ATÉ QUE SE PROVE EM CONTRÃRIO. MESMO PORQUE NÃO SOU O DONO DA RAZÃO. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 Grande Vagner, Olha na verdade tenho que fazer desta forma pois tenho 5 indices neste arquivo que podem ser alterados. De qualquer forma obrigado. E lembrando que tenho outros arquivos, e claro utilizo da mesma forma e aparentimente não apresenta o problema. E pena que meu problema continua. Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 Grande João. So para você não ficar bravo, já tentei não utilizando set order to 0, antes mesmo de postar aqui,e continua apresentando os mesmos erros. No meu caso não é este o problema. Obrigado Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted November 5, 2008 Report Share Posted November 5, 2008 Francisco, tudo bem?? Pelo que você relatou, parece que em algum momento você não está com o Ãndice aberto na hora de gravar. Acho que corrupção é uma coisa, não mostrar os dados é outra. Será que você não está criando um Ãndice temporário em algum lugar, esquecendo de religar o Ãndice principal. Um abraço Quote Link to comment Share on other sites More sharing options...
vagner Posted November 5, 2008 Report Share Posted November 5, 2008 citação:KKKKKKKKKKKKKKKKKKK ENTÃO, PERAI, PERAI!!! QUERES DIZER ENTÃO, QUE SE EU ENTRAR COM O SET ORDER TO 1 FIZER A ALTERACAO E TROCAR O TAG PARA SET ORDER TO 2 EM VEZ DE DIZER SET ORDER TO 0, TEREI MENSAGEM DE CORRUPTION DETECTED?? FOI ISSO QUE DISSESTES?? DEVE SER ALGUMA COISA COM MEU MODO DE PROGRAMAR, POIS SE USO O SET OPRDER T0 0, TENHO PROBLEMAS, Jà USANDO A ORDEM DOS TAGS COMO AS CRIEI EM MEU INDEXADOR, NADA CONSTA PARA DESABONAR. CONTINUAREI USANDO DA FORMA QUE APRENDI. ATÉ QUE SE PROVE EM CONTRÃRIO. MESMO PORQUE NÃO SOU O DONO DA RAZÃO. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Vamos novamente ? quem sabe vc entenda Use Clientes (por Exemplo) Inde On CODIGO Tag "1" To Clientes Inde On NOME Tag "2" To Clientes //Vou Dar um Append Blank, então não há necessidade de se mudar a ordem do indexado, pois a chave ainda não existe no indexado, não haverá erro algum Appen Blank ... Repl Codigo With "001" Repl Nome With "Teste" ... id=code>id=code>Vou ALTERARid=red> a Chave CODIGOid=red>, que está no Ãndice um e estou com ele aberto, nesse momento, fatalmente dará erro de CORRUPTION DETECT, pois estou alterando a chave FÃsica do 1º Ãndice. Clientes->(DbSetOrder(1)) ... Repl Codigo With "002" ... id=code>id=code>Muito, mas muito mesmo provável dará corruption detect, para isso não ocorrer, temos que mudar o Ãndice para que o 1º, não esteja "ativo" (não estar ativo, não significa que está fechado ) Vou ALTERARid=red> o CODIGO, e ter certeza que não me dará problema algum, eu ou posso mudar o Ãndice, ou setar para 0 (zero), fazendo com que o Ãndice que será alterado não esteja "ativo" (não estar ativo, não significa que está fechado ) Clientes->(DbSetOrder(2)) -> Mudo para o Ãndice 2 (nome) ouid=red> Clientes->(DbSetOrder(0)) -> mudo para nenhum Ãndice, mesmo continuando ativos, serão atualizados, mas não me dará problemas ... Repl Codigo With "002" ... id=code>id=code>Agora supondo que eu esteja com o 2º Ãndice e vá alterar o nome Clientes->(DbSetOrder(2)) ... Repl Nome With "Teste 2" ->Provavelmente, dará problemas id=code>id=code>Certeza de não dar problemas Clientes->(DbSetOrder(1)) -> Mudo para o Ãndice 1 (Codigo) ouid=red> Clientes->(DbSetOrder(0)) -> mudo para nenhum Ãndice, mesmo continuando ativos, serão atualizados, mas não me dará problemas ... Repl Nome With "Teste 2" id=code>id=code>Espero que tenha entendido , estou cansando de falar a mesma coisa pra vc mais de 3 vezes Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
vagner Posted November 5, 2008 Report Share Posted November 5, 2008 Agora em Relação ao Francisco. Realmente estou com o Paulo, isso está estranho, vc falow q os registros estão no dbf, mas não atualizou o Ãndice é isso ? Bom, pode ser vários problemas, um deles seria a abertura sem os Ãndices, na hora de gravar, coisa que acho q não é pois vc deve abrir o arquivo com o Ãndice não é ? Vc tém algum FOR no seu Ãndice ? isso pode estar ocasionando o problema (Mais lógico). Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 citação:Francisco, tudo bem?? Pelo que você relatou, parece que em algum momento você não está com o Ãndice aberto na hora de gravar. Acho que corrupção é uma coisa, não mostrar os dados é outra. Será que você não está criando um Ãndice temporário em algum lugar, esquecendo de religar o Ãndice principal. Um abraço id=quote>id=quote>Correto Paulo, más os indices estão ligados sim. E o pior que como no primeiro post, na ordem de númerica o intervalo não aprarece... doido né, más está lá. Por outra ordem está lá e se edito e salvo ele volta a aparecer na ordem númerica. Obrigado Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted November 5, 2008 Report Share Posted November 5, 2008 Francisco, Mostre a indexação e aponte qual a ordem que está com problema. Um abraço Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 Senhores, Esta disputa do Vagner e João não é facil. Agora sobre o meu problema, os indices estã abertos sim pois o novo registro está lá certinho nos arquivos de indices. Abraços. Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted November 5, 2008 Report Share Posted November 5, 2008 Francisco, Além do código da indexação, mostre também a rotina de gravação na hora de incluir. Vou dar uma de bidú: se você está usando STRZERO(... na chave do Ãndice, pode passar para STR(... imediatamente, pois tem pau no RDD quando se usa essa função.id=red> Editado por - pauloaraujo on 05/11/2008 10:49:05 Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 Olha estou fazendo alterações para descobrir a mais de um mês, e não tenho a menor ideia do que está acontecento já mudei tudo e nada, já abortei, folder, listbox, funções, arquivos, nem sei mais o que. Vamos lá então, *************** Arquivo ******************************* bAction:={|oMeter,oText,oDlg,lEnd| Reorganiza(oMeter,oText,oDlg,@lEnd)} TemArq:=sPtdir+"\DADOS\OS.DBF" TemInd:=sPtdir+"\CDX\OS.CDX" NroInd:=5 // nro de indices ChInd1:="NRO" | ChInd2:="DTEMI" | ChInd3:="NOMCLI" > Chaves ChInd4:="NROCLI+DTOS(DTTER)" | ChInd5:="DTTER" | ... MsgMeter(bAction,vNomeArq,"Reindexando Banco de Dados") ... DbUseArea(.F.,,TemArq,"LANOS",lCompart,lLeitura) SET INDEX TO &TemInd STATIC FUNCTION reorganiza(oMeter,oText,oDlg,lEnd) Local vTam,vRec CursorWait() USE &TemArq EXCLUSIVE Pack vRec:=LastRec() vTam:=(vRec/100)*2 oMeter:nTotal:=vRec*NroInd IF ! Empty(ChInd1) INDEX ON &ChInd1 TAG 1 TO &TemInd EVAL {|| oMeter:Set(Recno())} EVERY vTam ENDIF IF ! Empty(ChInd2) INDEX ON &ChInd2 TAG 2 TO &TemInd EVAL {|| oMeter:Set(vRec+Recno())} EVERY vTam ENDIF IF ! Empty(ChInd3) INDEX ON &ChInd3 TAG 3 TO &TemInd EVAL {|| oMeter:Set(vRec*2+Recno())} EVERY vTam ENDIF IF ! Empty(ChInd4) INDEX ON &ChInd4 TAG 4 TO &TemInd EVAL {|| oMeter:Set(vRec*3+Recno())} EVERY vTam ENDIF IF ! Empty(ChInd5) INDEX ON &ChInd5 TAG 5 TO &TemInd EVAL {|| oMeter:Set(vRec*4+Recno())} EVERY vTam ENDIF CLOSE DATA lEnd:=.T. RETURN Nil ************************ Rotina de Gravação **************************** STATIC FUNCTION fGrava(cOpcao,oFld) Sele lanos orderAnt:=IndexOrd() IF cOpcao=="I" lockfile() // bloqueia arquivo DbSetOrder(0) DbAppend() lanos->nro:=cNro ELSE lockrec() // bloqueia registro DbSetOrder(0) ENDIF lanos->dtemi:=dDtemi;lanos->nrocli:=cNrocli;lanos->nomcli:=cNomcli;lanos->hoemi:=cHoemi lanos->orca:=cOrca;lanos->contato:=cContato;lanos->fone:=cFone;lanos->email:=cEmail lanos->atdg:=iif(lAtdg=.t.,"S","N");lanos->rat:=cRat;lanos->ctgr:=Str(cCtgr,1,0) lanos->motivo:=cMotivo;lanos->dtter:=dDtter;lanos->hoini:=cHoini;lanos->hoter:=cHoter lanos->nrotec:=cNrotec;lanos->nomtec:=cNomtec;lanos->obs:=cObs;lanos->obs2:=cObs2 lanos->retorno:=iif(lRetorno==.t.,"S","N")+cRetos+cRettec+cRetnom lanos->defaca:=cNroDef+cNomDef+cNroAca+cNomAca lanos->condpg:=cCondpg;lanos->vlrfinal:=nVlrfinal;lanos->dtpag:=dDtpag DbCommit() DbUnlock() DbSetOrder(orderAnt) IF cOpcao=="I" Sele ipdos ipdos->(OrdScope(0,cNro)) ipdos->(OrdScope(1,cNro)) DbGotop() Sele isvos isvos->(OrdScope(0,cNro)) isvos->(OrdScope(1,cNro)) DbGotop() Sele icsos icsos->(OrdScope(0,cNro)) icsos->(OrdScope(1,cNro)) DbGotop() Sele lanos cOpcao:="A" oSay3:SetText(cNro) oFld:aEnable:={.t.,.t.,.t.,.t.} oBton:SetFocus() ENDIF RETURN Nil ******************************************* id=code>id=code> Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Editado por - frkiko on 05/11/2008 10:51:44 Quote Link to comment Share on other sites More sharing options...
vagner Posted November 5, 2008 Report Share Posted November 5, 2008 Ok Francisco, Vamos lá. 1ªmente, retire o LockFile IF cOpcao=="I" // lockfile() // bloqueia arquivo // DbSetOrder(0) não ha necessidade no Appen Do Whil .T. DbAppend() If ! NetErr() ; Exit ; Endif Enddo lanos->nro:=cNro Endif id=code>id=code>Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 citação:Ok Francisco, Vamos lá. 1ªmente, retire o LockFile IF cOpcao=="I" // lockfile() // bloqueia arquivo // DbSetOrder(0) não ha necessidade no Appen Do Whil .T. DbAppend() If ! NetErr() ; Exit ; Endif Enddo lanos->nro:=cNro Endif id=code>id=code>Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>Nada Vagner. Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted November 5, 2008 Report Share Posted November 5, 2008 Francisco, Não và em lugar algum você deletar o Ãndice antigo. Outra coisa, faça um teste substituindo: lanos->nro:=cNro POR: REPLACE NRO WITH CNRO Quote Link to comment Share on other sites More sharing options...
vagner Posted November 5, 2008 Report Share Posted November 5, 2008 citação:Nada Vagner. Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop id=quote>id=quote>Ok, Vamos Colocar um logfile para ver se está passando IF cOpcao=="I" // lockfile() // bloqueia arquivo // DbSetOrder(0) não ha necessidade no Appen Do Whil .T. DbAppend() If ! NetErr() ; Exit ; Endif Enddo LogFile("ErroAppe.Txt",{cNro}) lanos->nro:=cNro Endif id=code>id=code>Isso fará criar o arquivo "ErroAppe.Txt" com o numero Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 5, 2008 Report Share Posted November 5, 2008 citação: citação:KKKKKKKKKKKKKKKKKKK ENTÃO, PERAI, PERAI!!! QUERES DIZER ENTÃO, QUE SE EU ENTRAR COM O SET ORDER TO 1 FIZER A ALTERACAO E TROCAR O TAG PARA SET ORDER TO 2 EM VEZ DE DIZER SET ORDER TO 0, TEREI MENSAGEM DE CORRUPTION DETECTED?? FOI ISSO QUE DISSESTES?? DEVE SER ALGUMA COISA COM MEU MODO DE PROGRAMAR, POIS SE USO O SET OPRDER T0 0, TENHO PROBLEMAS, Jà USANDO A ORDEM DOS TAGS COMO AS CRIEI EM MEU INDEXADOR, NADA CONSTA PARA DESABONAR. CONTINUAREI USANDO DA FORMA QUE APRENDI. ATÉ QUE SE PROVE EM CONTRÃRIO. MESMO PORQUE NÃO SOU O DONO DA RAZÃO. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Vamos novamente ? quem sabe vc entenda Use Clientes (por Exemplo) Inde On CODIGO Tag "1" To Clientes Inde On NOME Tag "2" To Clientes //Vou Dar um Append Blank, então não há necessidade de se mudar a ordem do indexado, pois a chave ainda não existe no indexado, não haverá erro algum Appen Blank ... Repl Codigo With "001" Repl Nome With "Teste" ... id=code>id=code>Vou ALTERARid=red> a Chave CODIGOid=red>, que está no Ãndice um e estou com ele aberto, nesse momento, fatalmente dará erro de CORRUPTION DETECT, pois estou alterando a chave FÃsica do 1º Ãndice. Clientes->(DbSetOrder(1)) ... Repl Codigo With "002" ... id=code>id=code>Muito, mas muito mesmo provável dará corruption detect, para isso não ocorrer, temos que mudar o Ãndice para que o 1º, não esteja "ativo" (não estar ativo, não significa que está fechado ) Vou ALTERARid=red> o CODIGO, e ter certeza que não me dará problema algum, eu ou posso mudar o Ãndice, ou setar para 0 (zero), fazendo com que o Ãndice que será alterado não esteja "ativo" (não estar ativo, não significa que está fechado ) Clientes->(DbSetOrder(2)) -> Mudo para o Ãndice 2 (nome) ouid=red> Clientes->(DbSetOrder(0)) -> mudo para nenhum Ãndice, mesmo continuando ativos, serão atualizados, mas não me dará problemas ... Repl Codigo With "002" ... id=code>id=code>Agora supondo que eu esteja com o 2º Ãndice e vá alterar o nome Clientes->(DbSetOrder(2)) ... Repl Nome With "Teste 2" ->Provavelmente, dará problemas id=code>id=code>Certeza de não dar problemas Clientes->(DbSetOrder(1)) -> Mudo para o Ãndice 1 (Codigo) ouid=red> Clientes->(DbSetOrder(0)) -> mudo para nenhum Ãndice, mesmo continuando ativos, serão atualizados, mas não me dará problemas ... Repl Nome With "Teste 2" id=code>id=code>Espero que tenha entendido , estou cansando de falar a mesma coisa pra vc mais de 3 vezes Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>Humildemente, vou esperar o MISTER PAULO ARAÚJO resolver este MISTERIO, e depois, volto a este ASSUNTO AKI. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kleyber Posted November 5, 2008 Report Share Posted November 5, 2008 Francisco, Como o Paulo citou, eu faria assim na rotina de criação dos Ãndices. Tente assim: *************** Arquivo ******************************* bAction:={|oMeter,oText,oDlg,lEnd| Reorganiza(oMeter,oText,oDlg,@lEnd)} TemArq:=sPtdir+"\DADOS\OS.DBF" TemInd:=sPtdir+"\CDX\OS.CDX" NroInd:=5 // nro de indices ChInd1:="NRO" | ChInd2:="DTEMI" | ChInd3:="NOMCLI" > Chaves ChInd4:="NROCLI+DTOS(DTTER)" | ChInd5:="DTTER" | ... MsgMeter(bAction,vNomeArq,"Reindexando Banco de Dados") ... DbUseArea(.F.,,TemArq,"LANOS",lCompart,lLeitura) STATIC FUNCTION reorganiza(oMeter,oText,oDlg,lEnd) Local vTam,vRec vIndice:=Directory("*.cdx") FOR I=1 TO Len(vIndice) FERASE(vIndice[1]) NEXT CursorWait() USE &TemArq EXCLUSIVE Pack vRec:=LastRec() vTam:=(vRec/100)*2 oMeter:nTotal:=vRec*NroInd IF ! Empty(ChInd1) INDEX ON &ChInd1 TAG 1 TO &TemInd EVAL {|| oMeter:Set(Recno())} EVERY vTam ENDIF IF ! Empty(ChInd2) INDEX ON &ChInd2 TAG 2 TO &TemInd EVAL {|| oMeter:Set(vRec+Recno())} EVERY vTam ENDIF IF ! Empty(ChInd3) INDEX ON &ChInd3 TAG 3 TO &TemInd EVAL {|| oMeter:Set(vRec*2+Recno())} EVERY vTam ENDIF IF ! Empty(ChInd4) INDEX ON &ChInd4 TAG 4 TO &TemInd EVAL {|| oMeter:Set(vRec*3+Recno())} EVERY vTam ENDIF IF ! Empty(ChInd5) INDEX ON &ChInd5 TAG 5 TO &TemInd EVAL {|| oMeter:Set(vRec*4+Recno())} EVERY vTam ENDIF CLOSE DATA lEnd:=.T. RETURN Nil id=code>id=code>Porque ao meu entender, você além de não apagar os Ãndices antes de recriá-los, estás abrindo os mesmos ANTES da recriação. Veja se assim dá certo pra ti. Ah e repare que eu retirei a linha: SET INDEX TO &TemInd que está ANTES do STATIC FUNCTION reorganiza() Abraços, Kleyber Derick xHarbour 1.1.0 + FWH 8.02 (BMW Zerada!!!) + xDevStudio + SQLLIB Visite São LuÃs - MA A Ilha dos Amores Editado por - kleyber on 05/11/2008 11:24:26 Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 Tá certo que não postei tudo. Bom 1. Estou sim apagando o indice. 2. A criação de indice é uma função antes de abrir os arquivos de indeces. Paulo alterei para replace e nada. Vagner não apresenta erro, somente quando mudo o indice e procuro um determinado número e não aparece. Na verdade não havia postado antes pois sabia que seria dificil a solução . Más mesmo assim obrigado a todos. Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Editado por - frkiko on 05/11/2008 11:49:54 Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted November 5, 2008 Report Share Posted November 5, 2008 citação:Tá certo que não postei tudo. Bom 1. Estou sim apagando o indice. 2. A criação de indice é uma função antes de abrir os arquivos de indeces. Paulo alterei para replace e nada. Vagner não apresenta erro, somente quando mudo o indice e procuro um determinado número e não aparece. Na verdade não havia postado antes pois sabia que seria dificil a solução . Más mesmo assim obrigado a todos. Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Editado por - frkiko on 05/11/2008 11:49:54 id=quote>id=quote>Francisco, Faça uma inclusão, saia do sistema, entre novamente e consulte. Se não der certo, tem como você me mandar tudo zipado??? Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 Paulo isso acontece em um arquivo de Ordem de Serviços, para ver se o erro acontece no orçamento, fora do programa dei um append from Os para o arquivo de Orçamento, ai executei a inclução e funciona normalmente. E a rotina é da mesma forma que postei, tanto na criação do indice, como na inclução de dados. Muito doido isso. Zipar o que? Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 5, 2008 Report Share Posted November 5, 2008 citação:Paulo isso acontece em um arquivo de Ordem de Serviços, para ver se o erro acontece no orçamento, fora do programa dei um append from Os para o arquivo de Orçamento, ai executei a inclução e funciona normalmente. E a rotina é da mesma forma que postei, tanto na criação do indice, como na inclução de dados. Muito doido isso. Zipar o que? Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop id=quote>id=quote>FRANCISCO, O BANCO DE DADOS, É O MESMO??? SE NÃO FOR, ABRA O BANCO QUE OCORRE O PROBLEMA COM O FOX.EXE E OLHE NÃO SÓ A ESTRUTURA DO BANCO, BEM COMO O CONTEUDO DO MESMO, PARA VER SE NÃO TEM NENHEM REGISTRO ´ESQUISITO´. O BANCO PODE ESTAR DANIFICADO, E VOCE NÃO PERCEBEU. OU ENTÃO RELEIA A ROTINA NOVAMENTE, POIS VOCE PODE TER DEIXADO PASSAR ´ALGO´ E NÃO PERCEBEU. Vá relatando.... SE VOCE CONSEGUIR REPRODUZIR UM FONTE, TELA E BANCO DE DADOS, ZIP E ENVIE AO MISTER PAULO ARAUJO. FOI ISSO QUE ELE KIZZ DIZER... Eu acho.... hehehehehehe Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Editado por - kapiaba on 05/11/2008 12:47:51 Quote Link to comment Share on other sites More sharing options...
frkiko Posted November 5, 2008 Author Report Share Posted November 5, 2008 Olha João já revirei o banco de dados e não achei nenhum erro, tanto que quando recrio o indice, fica tudo normal. Nuuuuuuuuuuuu, tenho que criar um programa então, já tinha imaginado isso, vou criar um mais simples e testar se ainda continuar com problemas mando o Zip se parar o problema ai sim eu crio com todas a opções e mando o Zip. Farei isso amanhã pois minha cabeçã está ficando tonta com isso tudo. Obrigado. Francisco J S Barbosa Belo Horizonte - MG MSN: francisco@ponteware.com.br FiveWin for Harbour 2.4 - Workshop Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 5, 2008 Report Share Posted November 5, 2008 Humildemente, eu acho que errei... http://www.ousob.com/ng/53guide/ngec1fc.php Comando faz parte do CLIPPER, porque me gera erro, é o que não sei. Conforme MISTER PAULO ARAUJO, o bendito somente se dá quando se tem um UNICO TAG... Testarei no futuro. O dignissimo MISTER PAULO ARAUJO COMPROVOU a EFICÃCIA do DITO COMANDO. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe 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.