Clipper On Line • Ver Tópico - Como resolver os próprios problemas
Página 1 de 1

Como resolver os próprios problemas

MensagemEnviado: 12 Jun 2020 12:30
por JoséQuintas
SYSTEM ERROR
Error WINOLE/1007 O item não pode ser encontrado na coleção correspondente ao nome ou ao ordinal solicitado. (0x800A0CC1): ADODB.Recordset;(DOS Error -2147352567)
Called from WIN_OLEAUTO:FIELDS(0)
Called from ADOCLASS:NUMBER(379)
Called from CRIATEMP(658)
Called from IMPRIME3(355)
Called from IMPRIME(174)
Called from PNOTARELNOTAS(83)
Called from DO(0)
Called from DOPRG(128)
Called from (b)RUNMODULE(98)


Ah.... mas não mexo com ADO....
Fod.-se que não mexe com ADO.
A mensagem diz que está usando uma coisa que não existe.

Então ..... é olhar a linha....

Called from WIN_OLEAUTO:FIELDS(0) - isso não ajuda nada

Called from ADOCLASS:NUMBER(379) - isso pega o que foi passado

Called from CRIATEMP(658) - provavelmente aqui

então é olhar o fonte:

DO WHILE jppedido->idPedido == StrZero( :Number( "PDPEDIDO" ), 6 ) .AND. ! Eof()

Está pegando o conteúdo chamado de PDPEDIDO.
Oras... então esse nome tá errado.

Aí olha o comando SQL, e confirma que lá tem NFPEDIDO e não PDPEDIDO.

Então....
Tem programador que considera tudo estranho, e acaba nem tentando entender o erro.

A mensagem de erro é pra isso: ela mostra qual foi o erro, e aonde foi o erro.
Com base nisso, é tentar entender o que aconteceu, e procurar nos lugares indicados.

Na maioria das vezes, isso resolve.

No final, a gente pode até aprender mais com os erros, desde que prestemos atenção nas mensagens de erro.
Porque?
Porque a partir daí, ou fazemos certo, ou corrigimos rápido, por já saber do que se trata.
E ao invés de ficar perguntando no fórum sempre a mesma coisa, já sabemos a solução.

Pra quem acha que eu faço sempre tudo certo.... não é.
É porque corrijo os erros que já conheço, e só pergunto aqui em último caso.

Mesmo assim, as vezes pergunto no fórum, e depois tento entender por outro ponto de vista.
E de vez em quando acontece de eu mesmo colocar a resposta.... rs

Mas tem que tomar cuidado com erros grandes, do tipo DELETE ALL, porque aí, já é abusar demais da sorte kkkk