MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Erro ao gravar Quantidade fracionada

    Compartilhe

    Chamon Consultoria
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 173
    Registrado : 31/08/2012

    [Resolvido]Erro ao gravar Quantidade fracionada

    Mensagem  Chamon Consultoria em Sab 23 Jul 2016, 21:38

    Boa tarde!

    Bd em Access 2010.

    O formulário contínuo possui no cabeçalho um campo não acoplado no formato Número Geral, chamado "txtQte". O conteúdo desse campo é transportado para o campo "Qte" localizado em Detalhes deste mesmo formulário.

    Quando a quantidade informada nesse campo é um número inteiro a função funciona, por exemplo 5. Porém, quando a quantidade não é um número inteiro, por exemplo, 0,85, aparece a seguinte mensagem: "Número de valores da consulta e campos de destino não coincidem."

    Desde já agradeço!

    Segue código:

    If AçãoBotão = "IncluirProdutosComposicao" Then
    Set dbs = CurrentDb
    strSQL = "SELECT * FROM tbl_ProdutosComposicao order by CODCOM"
    Set rst = dbs.OpenRecordset(strSQL)

    If rst.RecordCount = 0 Then
    txtCodCom = 1
    Else
    rst.MoveLast
    txtCodCom = rst("CODCOM") + 1
    End If
    rst.Close

    strSQL = "INSERT INTO tbl_ProdutosComposicao ("
    strSQL = strSQL & "CODCOM,"
    strSQL = strSQL & "CODPRO,"
    strSQL = strSQL & "CODPROCOM,"
    strSQL = strSQL & "QTE)"

    strSQL = strSQL & " VALUES (" & txtCodCom & ","
    strSQL = strSQL & txtCodPro & ","
    strSQL = strSQL & txtCodProCom & ","
    strSQL = strSQL & txtQte & ");"

    On Error GoTo erro
    Workspaces(0).Databases(0).Execute strSQL
    End If

    If PrimeiroRegistro = True Then
    PrimeiroRegistro = False
    End If

    ListaProdutos = ""
    txtQte = 0
    Me.Requery
    ListaProdutos.SetFocus
    CalculaSubTotal
    CalcularCustoTotal
    txtQte.enabled = False

    VoltaErro:

    Exit Sub

    erro:
    Beep
    MsgBox Error$, vbCritical, "Edição"
    Resume VoltaErro

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Erro ao gravar Quantidade fracionada

    Mensagem  Avelino Sampaio em Sab 23 Jul 2016, 23:20

    Olá!

    Altere para:

    strSQL = "INSERT INTO tbl_ProdutosComposicao ("
    strSQL = strSQL & "CODCOM,"
    strSQL = strSQL & "CODPRO,"
    strSQL = strSQL & "CODPROCOM,"
    strSQL = strSQL & "QTE)"

    strSQL = strSQL & " VALUES ('" & txtCodCom & "','"
    strSQL = strSQL & txtCodPro & "','"
    strSQL = strSQL & txtCodProCom & "','"
    strSQL = strSQL & replace(txtQte,",",".") & "');"


    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Chamon Consultoria
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 173
    Registrado : 31/08/2012

    Re: [Resolvido]Erro ao gravar Quantidade fracionada

    Mensagem  Chamon Consultoria em Dom 24 Jul 2016, 00:03

    Avelino, obrigado pela orientação, ela funcionou.
    Apenas não usei o replace, pois no campo destino a quantidade precisa estar fracionada.

    Antes de fechar esse tópico, se possível gostaria de uma breve explicação da alteração feita.

    No mais, muito obrigado!

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3348
    Registrado : 04/04/2010

    Re: [Resolvido]Erro ao gravar Quantidade fracionada

    Mensagem  Avelino Sampaio em Dom 24 Jul 2016, 09:36

    Olá!

    Apenas não usei o replace, pois no campo destino a quantidade precisa estar fracionada.

    O valor fracionado continua existindo com o replace. Observe o valor salvo no campo da tabela


    Antes de fechar esse tópico, se possível gostaria de uma breve explicação da alteração feita.

    Quanto aos acréscimos dos apóstrofos, veja na minha dica 17:

    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso!




    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    Chamon Consultoria
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 173
    Registrado : 31/08/2012

    Re: [Resolvido]Erro ao gravar Quantidade fracionada

    Mensagem  Chamon Consultoria em Dom 24 Jul 2016, 16:27

    Muito obrigado Avelino!

    Abraço

      Data/hora atual: Seg 05 Dez 2016, 16:30