Guest --Leila -- Postado Agosto 23, 2007 Denunciar Share Postado Agosto 23, 2007 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 23, 2007 Denunciar Share Postado Agosto 23, 2007 pelo numero do erro eu não vo saber, qual a mensagem??ADO é um ADO Data Control?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --Leila -- Postado Agosto 23, 2007 Denunciar Share Postado Agosto 23, 2007 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 23, 2007 Denunciar Share Postado Agosto 23, 2007 hum... sera q não é problema de tipos de dados?? tipo você ta tentando salvar texto num campo numerico??posta todo o codigo do seu update pra gente ver melhor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --LEILA -- Postado Agosto 23, 2007 Denunciar Share Postado Agosto 23, 2007 kuroi, O CODIGO DO EVENTO GRAVAITEMPrivate 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.SetFocusEnd SubA 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' Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 23, 2007 Denunciar Share Postado Agosto 23, 2007 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest --LEILA -- Postado Agosto 23, 2007 Denunciar Share Postado Agosto 23, 2007 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 24, 2007 Denunciar Share Postado Agosto 24, 2007 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.