Jump to content
Fivewin Brasil

Arquivo de Indice


frkiko

Recommended Posts

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

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 icon_smile_big.gif, não perca icon_smile_big.gif

Link to comment
Share on other sites

  • Replies 79
  • Created
  • Last Reply

Top Posters In This Topic

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 icon_smile_big.gif, 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 icon_smile_big.gif, se não, volta a estudar heheheheh

Vagner Wirts

VI Encontro está chegando icon_smile_big.gif, não perca icon_smile_big.gif

Link to comment
Share on other sites

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 icon_smile_big.gif, 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 icon_smile_big.gif, se não, volta a estudar heheheheh

Vagner Wirts

VI Encontro está chegando icon_smile_big.gif, não perca icon_smile_big.gif


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

Link to comment
Share on other sites

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

Francisco J S Barbosa

Belo Horizonte - MG

MSN: francisco@ponteware.com.br

FiveWin for Harbour 2.4 - Workshop

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

assinatpaulo.jpg

Link to comment
Share on other sites

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


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 icon_smile_wink.gif)

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 icon_smile_wink.gif)


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

...

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


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

...

Repl Nome With "Teste 2"

id=code>id=code>

Espero que tenha entendido icon_smile_big.gif, estou cansando de falar a mesma coisa pra vc mais de 3 vezes icon_smile_wink.gif

Vagner Wirts

VI Encontro está chegando icon_smile_big.gif, não perca icon_smile_big.gif

Link to comment
Share on other sites

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 é icon_smile_wink.gif 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 icon_smile_wink.gif (Mais lógico).

Vagner Wirts

VI Encontro está chegando icon_smile_big.gif, não perca icon_smile_big.gif

Link to comment
Share on other sites

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

assinatpaulo.jpg


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

Francisco J S Barbosa

Belo Horizonte - MG

MSN: francisco@ponteware.com.br

FiveWin for Harbour 2.4 - Workshop

Link to comment
Share on other sites

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

Francisco J S Barbosa

Belo Horizonte - MG

MSN: francisco@ponteware.com.br

FiveWin for Harbour 2.4 - Workshop

Link to comment
Share on other sites

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>

assinatpaulo.jpg

Editado por - pauloaraujo on 05/11/2008 10:49:05

Link to comment
Share on other sites


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>

icon_smile_sad.gif

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

Link to comment
Share on other sites

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 icon_smile_big.gif, não perca icon_smile_big.gif

Link to comment
Share on other sites

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 icon_smile_big.gif, não perca icon_smile_big.gif


id=quote>id=quote>

Nada Vagner. icon_smile_sad.gif

Francisco J S Barbosa

Belo Horizonte - MG

MSN: francisco@ponteware.com.br

FiveWin for Harbour 2.4 - Workshop

Link to comment
Share on other sites

citação:

Nada Vagner. icon_smile_sad.gif

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


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 icon_smile_big.gif, não perca icon_smile_big.gif

Link to comment
Share on other sites

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


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 icon_smile_wink.gif)

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 icon_smile_wink.gif)


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

...

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


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

...

Repl Nome With "Teste 2"

id=code>id=code>

Espero que tenha entendido icon_smile_big.gif, estou cansando de falar a mesma coisa pra vc mais de 3 vezes icon_smile_wink.gif

Vagner Wirts

VI Encontro está chegando icon_smile_big.gif, não perca icon_smile_big.gif


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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

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

assinatpaulo.jpg

Link to comment
Share on other sites

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

Zipar o que?

Francisco J S Barbosa

Belo Horizonte - MG

MSN: francisco@ponteware.com.br

FiveWin for Harbour 2.4 - Workshop

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites

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

Obrigado.

Francisco J S Barbosa

Belo Horizonte - MG

MSN: francisco@ponteware.com.br

FiveWin for Harbour 2.4 - Workshop

Link to comment
Share on other sites

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

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