Ir para conteúdo
Fórum Script Brasil
  • 0

Ado.recordset.update Run-time Error '-2147217887


Guest --Leila --

Pergunta

Guest --Leila --

Eu havia colocado essa mensagem no forum errado.

All,

Embora esse erro já tenha sido discutido no forum, não vi nenhuma solução que me atendesse.

Já tentei ver os status da cada field do recordset MsgBox Ado.Recordset!fields(0).status ( estão todos com status 0),

Já tentei ver se o tamanho do conteúdo é superior ao describe da coluna da tabela (não é),

O que mais pode ser?

Trata-se de um datagrid1 cujo o datasource é o ADO onde o record source é a query da tabela

(SELECT * FROM ITENS WHERE HEADER = 0).

Alguma idéia para me ajudar?

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Guest --Leila --

kuroi essa é a mensagem:

Run-time erro '-2147217887 (80040e21):

Operação de várias etapas gerou erros. Verifique cada valor de status.

O erro ocorre neste comando

AdoItem.Recordset.Update

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --LEILA --

kuroi,

O CODIGO DO EVENTO GRAVAITEM

Private Sub cmdGravaITEM_Click()

Screen.MousePointer = vbHourglass

If Trim(txtCodProduto.Text) = "" Then

MsgBox "Código do Produto Vazio"

Screen.MousePointer = vbDefault

txtCodProduto.SetFocus

Exit Sub

End If

If CCur(txtTotal.Text) = 0 And txtIndCancel.Text = "N" Then

MsgBox "Valor Total = 0, Verificar Quantidade e Preço"

Screen.MousePointer = vbDefault

txtQTD.SetFocus

Exit Sub

End If

' Obtém usuário logado

m$ = Space$(255)

i% = GetUserName(m$, Len(m$))

AdoITEM.Recordset!wma_user = Left(m$, InStr(m$, Chr(0)) - 1) & " - " & Date & " - " & Time

AdoITEM.Recordset.Update

AdoITEM.RecordSource = "select * from itfin_ITEM_sobras where wmaid_dof = " & Str(WMAID_DOF_Inclusao) & " order by num_item"

AdoITEM.Refresh

ControlaBotoesITEM

Screen.MousePointer = vbDefault

cmdIncITEM.SetFocus

End Sub

A AGORA O DESCRIBE DA TABELA ITEM. Eu não gravo todos os campos, somente os do data grid.(13 campos que estão formatados com General nas propriedades.)

'CODIGO_EST' 'VARCHAR2' 50 'Y'

'E_S' 'VARCHAR2' 1 'Y'

'CODIGO_TIPO_DOC' 'VARCHAR2' 50 'Y'

'SERIE_SUBSERIE' 'VARCHAR2' 50 'Y'

'NUMERO' 'VARCHAR2' 50 'Y'

'DT_EMISSAO' 'DATE' 7 'Y'

'CODIGO_PFJ_DESTINATARIO' 'VARCHAR2' 50 'Y'

'CODIGO_PFJ_EMITENTE' 'VARCHAR2' 50 'Y'

'ALIQ_IPI' 'NUMBER' 22 7 'Y'

'ALIQ_ISS' 'NUMBER' 22 7 'Y'

'ALIQ_ICMS' 'NUMBER' 22 7 'Y'

'ALIQ_ICMS_DIFERENCA' 'NUMBER' 22 7 'Y'

'CODIGO_CUSTO' 'VARCHAR2' 50 'Y'

'CGC_REMETENTE' 'VARCHAR2' 255 'Y'

'CGC_TRANSPORTADOR' 'VARCHAR2' 255 'Y'

'CGC_DESTINATARIO' 'VARCHAR2' 255 'Y'

'CODIGO_NBM' 'VARCHAR2' 20 'Y'

'SUBCLASSE_IDF' 'VARCHAR2' 1 'Y'

'CLASSIFICACAO_PRODUTO' 'VARCHAR2' 4 'Y'

'CODIGO_PRODUTO' 'VARCHAR2' 50 'Y'

'CODIGO_SERVICO' 'VARCHAR2' 50 'Y'

'CODIGO_CFOP' 'VARCHAR2' 50 'Y'

'CODIGO_NATUREZA' 'VARCHAR2' 50 'Y'

'DT_NF_REMETENTE' 'DATE' 7 'Y'

'DT_ROMANEIO' 'DATE' 7 'Y'

'DESC_COMPL_PRODUTO' 'VARCHAR2' 255 'Y'

'DESC_COMPL_SERVICO' 'VARCHAR2' 255 'Y'

'CODIGO_VOLUME' 'VARCHAR2' 50 'Y'

'IND_ICMS' 'VARCHAR2' 1 'Y'

'IND_IPI' 'VARCHAR2' 1 'Y'

'CODIGO_FRETE' 'VARCHAR2' 50 'Y'

'NUM_NF_REMETENTE' 'VARCHAR2' 50 'Y'

'NUM_CONTRATO_SERVICO' 'VARCHAR2' 50 'Y'

'NUM_ITEM' 'NUMBER' 22 6 'N'

'NUM_ROMANEIO_REF' 'VARCHAR2' 50 'Y'

'PESO_BRUTO' 'NUMBER' 22 19 'Y'

'PESO_LIQUIDO' 'NUMBER' 22 19 'Y'

'QTD_VOLUMES' 'NUMBER' 22 19 'Y'

'QTD' 'NUMBER' 22 19 'Y'

'SERIE_SUBSERIE_NF_REMETE' 'VARCHAR2' 50 'Y'

'CODIGO_STE_A' 'VARCHAR2' 50 'Y'

'CODIGO_STE_B' 'VARCHAR2' 50 'Y'

'CODIGO_STF' 'VARCHAR2' 50 'Y'

'CODIGO_UNIDADE' 'VARCHAR2' 10 'Y'

'CODIGO_UNIDADE_PADRAO' 'VARCHAR2' 10 'Y'

'VL_BASE_SUBSTITUICAO' 'NUMBER' 22 17 'Y'

'VL_BASE_ICMS' 'NUMBER' 22 17 'Y'

'VL_BASE_IPI' 'NUMBER' 22 17 'Y'

'VL_BASE_ISS' 'NUMBER' 22 17 'Y'

'VL_BASE_REDUCAO_IPI' 'NUMBER' 22 17 'Y'

'VL_RED_BASE_ICMS' 'NUMBER' 22 17 'Y'

'VL_FRETE' 'NUMBER' 22 17 'Y'

'VL_SEGURO' 'NUMBER' 22 17 'Y'

'VL_DESCONTO' 'NUMBER' 22 17 'Y'

'VL_DESCONTO_SERVICO' 'NUMBER' 22 17 'Y'

'VL_ICMS' 'NUMBER' 22 17 'Y'

'VL_ICMS_SUBST' 'NUMBER' 22 17 'Y'

'VL_IPI' 'NUMBER' 22 17 'Y'

'VL_ISS' 'NUMBER' 22 17 'Y'

'VL_PRECO_UNIT' 'NUMBER' 22 17 'Y'

'VL_SERVICO' 'NUMBER' 22 17 'Y'

'VL_OUTRAS_DESPESAS' 'NUMBER' 22 17 'Y'

'VL_PRECO_TOTAL_ITEM' 'NUMBER' 22 17 'Y'

'VL_TOTAL_NF_REMETE' 'NUMBER' 22 17 'Y'

'CODIGO_TRANSPORTE' 'VARCHAR2' 50 'Y'

'CTRL_INSTRUCAO' 'VARCHAR2' 1 'Y'

'MSG_CRITICA' 'VARCHAR2' 2000 'Y'

'DH_CRITICA' 'DATE' 7 'Y'

'CTRL_CRITICA' 'NUMBER' 22 3 'Y'

'COD_PROD_NF' 'VARCHAR2' 50 'Y'

'NUM_CAD_BENS' 'VARCHAR2' 30 'Y'

'QTD_PROD_ESTOQUE' 'NUMBER' 22 19 'Y'

'NOP_CODIGO' 'VARCHAR2' 20 'Y'

'CHAVE_ORIGEM' 'VARCHAR2' 255 'Y'

'ORIGEM' 'VARCHAR2' 30 'Y'

'VL_OUTROS_ICMS' 'NUMBER' 22 19 'Y'

'VL_OUTROS_IPI' 'NUMBER' 22 19 'Y'

'VL_ISENTO_ICMS' 'NUMBER' 22 19 'Y'

'VL_ISENTO_IPI' 'NUMBER' 22 19 'Y'

'IND_ESCRITURACAO' 'VARCHAR2' 1 'Y'

'CHAVE_LOTE' 'VARCHAR2' 30 'Y'

'ANEXO' 'VARCHAR2' 10 'Y'

'ALIQ_IPI_CONV' 'NUMBER' 22 19 'Y'

'VL_BASE_ICMS_CONV' 'NUMBER' 22 19 'Y'

'VL_ICMS_CONV' 'NUMBER' 22 19 'Y'

'ALIQ_ICMS_CONV' 'NUMBER' 22 19 'Y'

'VL_BASE_IPI_CONV' 'NUMBER' 22 19 'Y'

'VL_IPI_CONV' 'NUMBER' 22 19 'Y'

'VL_CONT_ICMS_CONV' 'NUMBER' 22 19 'Y'

'VL_CONT_IPI_CONV' 'NUMBER' 22 19 'Y'

'WMAID_DOF' 'NUMBER' 22 15 'N'

'WMAID_IDF' 'NUMBER' 22 15 'Y'

'WMA_USER' 'VARCHAR2' 100 'Y'

'WMA_STATUS' 'VARCHAR2' 10 'Y'

Link para o comentário
Compartilhar em outros sites

  • 0

hum... talvez no grid o campo esteja com um formato q no banco ele não vai aceitar. algum campo numerico ou data talvez.

tenta fazer o seguinte. va testando o update cada vez com um campo a menos. tipo, tire um campo e veja se da certo. se não, tira outro e veja se da certo, ate descobrir qual campo exatamente ta causando esse erro. apesar q podem ser mais de um, o esquema é descobrir o q causa esse erro.

tente isso q eu falei, qualquer coisa poste ai.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --LEILA --

kuroi, segui sua sugestão e parece que encontrei o problema. No lostfocus dos campos de valores havia a formataçao .Text = Format(.Text, "########0.00") eu substitui uma para ver se funcionava para .Text = Format(.Text, "########0,00") e passou, agora a minha dúvida é se isso é problema de configuração da máquina. Será que após eu gerar o executável e rodar em uma máquina que o separador de decimais for ponto, irá gerar problemas ou isso acompanha o banco? Eu vou testar. Pelo menos já me encontrei com o problema.

Obrigada pela dica!

Link para o comentário
Compartilhar em outros sites

  • 0

acho q não vai ter problema não, você fazendo a formatacao, a configuracao do pc não importa. mas se você acabar tendo algum problema com isso, pode fazer a formatacao na string na mao mesmo, na hora de gravar, usando replace pra trocar virgula por ponto e etc.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...