Jump to content
Fivewin Brasil

Rede x Append


Luiz Arruda (ICO)

Recommended Posts

Bom Dia.

Bem é o seguinte. Meu prog. está em rede, tá funcionando que é uma beleza (quase) só que ao dar um append no SERVIDOR retorna o erro abaixo, lembrando que isso nao ocorre se eu dar o APPEND FRom em um terminal. Porque ??

Tai o erro é esse;

Error description: Error DBFNTX/1020 Data type error

Called from LOCKERRHAN(0)

Called from (b)INITHANDL$(0)

Called from __DBTRANS(0)

Called from __DBAPP(0)

Called from ATSALDOS(16) esta é a linha do APPENDid=blue>

Called from (b)MAINN(93)

Called from TBTNBMP:CLICK(0)

Called from TBTNBMP:LBUTTONUP(0)

Called from TBTNBMP:HANDLEEVEN(0)

Called from WINRUN(0)

Called from TWINDOW:ACTIVATE(0)

Called from MAINN(142)

Obrigado

VOCÊ NAO PODE PERDER: 3º ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005

Luarruda.jpg iko67@ibest.com.br

Link to comment
Share on other sites

Bom Dia.

Bem é o seguinte. Meu prog. está em rede, tá funcionando que é uma beleza (quase) só que ao dar um append no SERVIDOR retorna o erro abaixo, lembrando que isso nao ocorre se eu dar o APPEND FRom em um terminal. Porque ??

Tai o erro é esse;

Error description: Error DBFNTX/1020 Data type error

Called from LOCKERRHAN(0)

Called from (b)INITHANDL$(0)

Called from __DBTRANS(0)

Called from __DBAPP(0)

Called from ATSALDOS(16) esta é a linha do APPENDid=blue>

Called from (b)MAINN(93)

Called from TBTNBMP:CLICK(0)

Called from TBTNBMP:LBUTTONUP(0)

Called from TBTNBMP:HANDLEEVEN(0)

Called from WINRUN(0)

Called from TWINDOW:ACTIVATE(0)

Called from MAINN(142)

Obrigado

VOCÊ NAO PODE PERDER: 3º ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005

Luarruda.jpg iko67@ibest.com.br

Link to comment
Share on other sites

Bom Dia.

Bem é o seguinte. Meu prog. está em rede, tá funcionando que é uma beleza (quase) só que ao dar um append no SERVIDOR retorna o erro abaixo, lembrando que isso nao ocorre se eu dar o APPEND FRom em um terminal. Porque ??

Tai o erro é esse;

Error description: Error DBFNTX/1020 Data type error

Called from LOCKERRHAN(0)

Called from (b)INITHANDL$(0)

Called from __DBTRANS(0)

Called from __DBAPP(0)

Called from ATSALDOS(16) esta é a linha do APPENDid=blue>

Called from (b)MAINN(93)

Called from TBTNBMP:CLICK(0)

Called from TBTNBMP:LBUTTONUP(0)

Called from TBTNBMP:HANDLEEVEN(0)

Called from WINRUN(0)

Called from TWINDOW:ACTIVATE(0)

Called from MAINN(142)

Obrigado

VOCÊ NAO PODE PERDER: 3º ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005

Luarruda.jpg iko67@ibest.com.br

Link to comment
Share on other sites

citação:SELECT 2

USE C:\DADOS\EMITE ALIAS EMITE EXCLUSIVE NEW

ZAP

APPEND FROM DIARIO FOR CONTA:=CTA

****

Nao deu.


id=quote>id=quote>

select 2

use c:\dados\emite exclusive

if .not. NETERR()

zap

append frm Diario for conta=CTA

ELSE

.......

ENDIF

******

Mangueira

Clipper53b/Blinker7/FW2.6(Ufa!!!)/MED 3.01/WorkShop 4.5

forumfw@conpete.com.br

mangueira@ig.com.br

Manaus - Amazonas

Visite Manaus-Am e Tambem Campina Grande-PB

III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005... To Nessa!!!!!

Link to comment
Share on other sites

Kra, desculpem-me meter o bedelho, mas naum existe dois campos de mesmo nome, mas de tipos diferentes??

Tipo

"NOME","C",40,0

&

"NOME","N",40,0

Pois o que eu entendo por DBFNTX/1020 Data type error é que este erro só ocorre qdo se atribui um valor para uma variavel de tipo incompativel..

Desculpem-me se eu estiver errado

Abraços

Nesse mundo nada se cria, tudo se compila<<

//--Clipper 5.3b / FiveWin 2.6 / Blinker 7.0 --//

//--

_Dom Quixote_

RO Iris Server / Agility Kina / 7*/3*

Link to comment
Share on other sites

Isto não é solução!!!

Se ocorreu uma vez, pode ocorreo outras vezes. Será que

o cliente vai querer ficar apagando e renomeando tabelas???

Eu não utilizo o Append From por conta disso. Ja tive vários problemas. Criei uma função semelhante, mas bem mais

rápida.

********************************************************************************

* Funcao......: MyDbApp() *

* Objetivo....: Appenda uma tabela na outra *

* Autor.......: Marcio Augusto Cezar *

* Data........: 30/8/2005 10:51:11 *

********************************************************************************

* Parametros..: cAlias --> Alias do arquivo a ser pesquisado *

* bSeek --> Condição de Seek para pesquisa *

* bCondicao --> Condição de avaliação *

* cField --> Campo a ser pesquisado e atualizado com xValor *

* xValor --> Valor para atualizar o campo definido com cField*

********************************************************************************

* Retorno.....: NIL *

********************************************************************************

* Observação..: *

********************************************************************************

STATIC PROCEDURE MyDbApp( cAlias, bSeek, bCondicao, cField, xValor )

LOCAL nCont, nPos, nTotalFields

LOCAL cAliasRead := cAlias

LOCAL aArrayFieldAux := {}

DEFAULT bSeek := { || .T. }

DEFAULT bCondicao := { || .T. }

aArrayFieldAux := {}

FOR nCont := 1 TO FCount()

AAdd( aArrayFieldAux, Field( nCont ) )

NEXT

nTotalFields := LEN( aArrayFieldAux )

IF EVal( bSeek )

WHILE EVal( bCondicao ) .AND. &cAliasRead.->( ! Eof() )

AddRec(5)

FOR nCont := 1 TO nTotalFields

IF Field( nCont ) <> &cAliasRead.->( Field( nCont ) )

IF ( nPos := AScan( aArrayFieldAux, &cAliasRead.->( Field( nCont ) ) ) ) <> 0

FieldPut( nPos, &cAliasRead.->( FieldGet( nCont ) ) )

IF cField <> NIL .AND. UPPER( ALLTRIM( cField ) ) == Field( nPos )

FieldPut( nPos, xValor )

ENDIF

ENDIF

ELSE

IF ValType( FieldGet( nCont ) ) == ValType( &cAliasRead.->( FieldGet( nCont ) ) )

FieldPut( nCont, &cAliasRead.->( FieldGet( nCont ) ) )

ENDIF

IF cField <> NIL .AND. UPPER( ALLTRIM( cField ) ) == Field( nCont )

FieldPut( nCont, xValor )

ENDIF

ENDIF

NEXT

DbUnLock()

&cAliasRead.->( DbSkip() )

ENDDO

ENDIF

RETURN

Márcio Augusto Cezar

FWH 2.6 PELLES 3.00.4

marcio.cezar@gmail.com

Link to comment
Share on other sites

Marcio.

Muito obrigado, mais veja o que deve ter acontecido comigo.

tenho uma pasta chamada "dados" em cada micro (4), onde deixo arquivos temp. etc... e os principais no Servidor, por força do habito devo ter criado um arquivo emite.dbf p/ outro programa com parametros diferentes. Mais valeu vou tentar aproveitar sua dica.

Abraços.

VOCÊ NAO PODE PERDER: 3º ENCONTRO DE FIVEWINNERS NOVEMBRO DE 2005

Luarruda.jpg iko67@ibest.com.br

Link to comment
Share on other sites

Meus nobres companheiros.....

Um dos fatores para o bom funcionamento de um sistema é a organização dos dados. Por mais que vc planeje seu sistema, sempre terá algo mais a acrescenta ou modificar, por isso se faz necessário uma rotina que cheque o banco de dados e que possibilite efetuar modificações na estrutura sempre que ocorrer uma mudança no projeto e isto de modo transparente ao usuário e sob seu domínio.

No meu caso, não abro mão de quatro funções que são:

Primeira Função

FUNCTION USO

Para _nrArquvo

Do case

Case _nrAquivo = 1

Arq=c:\arquivos\cadcli.dbf

Gera(_nrArquivo)

Verifica(_nrArquivo)

Ordena(_nrArquivo)_

Use &Arq

Set index to &tal1, &tal2... etc

.......

.......

Endcase

Return .t.

Segunda função

FUNCTION Gera

Para _nrArquvo

Do case

Case _nrArquivo = 1

Se não existe &arq

Cria o arquivo tal

.......

......

endcase

Terceira função

FUNCTION Verifica

Para _nrArquvo

Do case

Case _nrArquivo = 1

Verificar se campo tal existe ou se o tipo de dado do campo e valido.

Senão

1 – fecha o arquivo

2 - Modifica o nome do o arquivo

3 – Chama a função GERA

4 – usa o novo arquivo

5 – Append do arquivo que teve o nome modificado

.......

endcase

return .t.

Quarta função

FUNCTION Ordena

Para _nrArquvo

Do case

Case _nrArquivo = 1

Index ...... to ....

.....

....

endcase

return .t.

Obviamente esta funções deverão ser otimizadas a critério e conhecimento do Programador.

Bom Fim de semana

icon_smile_big.gificon_smile_big.gif

Mangueira

Clipper53b/Blinker7/FW2.6(Ufa!!!)/MED 3.01/WorkShop 4.5

forumfw@conpete.com.br

mangueira@ig.com.br

Manaus - Amazonas

Visite Manaus-Am e Tambem Campina Grande-PB

III ENCONTRO DE USUÃRIOS DE FIVEWIN - 2005... To Nessa!!!!!

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