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 inserir dados na tabela via código

    Compartilhe

    dlourencini
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 13/05/2011

    [Resolvido]Erro ao inserir dados na tabela via código

    Mensagem  dlourencini em Qui 07 Jan 2016, 14:06

    Boa tarde pessoal.

    Sei que na informática não existe "parou de funcionar sozinho", mas no meu caso, é o que parece, pois de uma hora para outra, uma instrução que tenho no formulário simplesmente não funciona mais.
    Vamos ao problema.
    Estou montando um esquema de pagamento via crediário. Estava tudo pronto e funcionando, mas agora apresenta erros.
    A tela de crediário [frm_input_crediario] traz automaticamente do formulário de pedido [frm_input_pedido] o código do pedido, data e valor.
    Em um campo não acoplado é informado o número de parcelas [qtdparcelas]. Existe a opção de crediário com ou sem entrada, e o saldo será dividido pelo número de parcelas.

    Um botão [botao_gerar_parcelas] tem a seguinte programação:

    If qtdparcelas <> "" Then
           Dim I As Integer
           Dim StrDateAdd As Date
           Dim StrValorParc As Double
           Dim StrParc As String
           StrValorParc = (Me.saldo / Me.qtdparcelas)
           For I = 1 To (Me.qtdparcelas)
               StrDateAdd = DateAdd("m", I, Format((Me.datadopedido), "dd/mm/yyyy"))
               StrParc = I & "/" & Me.qtdparcelas
               CurrentDb.Execute "insert into tb_crediario_parcelas(controle,codigodopedido,numeroparcela,datavencimento,valorparcela) Values(" & Me.controle.Value & "," & Me.codigodopedido.Value & ",'" & StrParc & "',#" & Format(StrDateAdd, "mm/dd/yyyy") & "#, " & StrValorParc & ");"
           Next I
           Me.Requery
           Me.frm_crediario_parcelas.Requery
           DoCmd.GoToRecord , , acLast
           Me.botao_fechar_crediario.SetFocus
       Else
           MsgBox "Quantidade de parcelas não informada.", vbInformation, "Aviso"
       End If

    O depurador indica a linha do "CurrentDb.Execute....." como sendo o problema, e o erro é o "Erro em tempo de execução 3346 - Números de valores da consulta e campos de destino não são os mesmos."

    Como eu disse, sem mudar sequer uma vírgula, funcionava e parou de funcionar.

    Alguém consegue enxergar uma luz para que o sistema volte ao normal?

    Obrigado

    dlourencini
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Anónimo
    Mensagens : 4
    Registrado : 13/05/2011

    Re: [Resolvido]Erro ao inserir dados na tabela via código

    Mensagem  dlourencini em Qui 07 Jan 2016, 17:53

    Depois de tentativas e erros, achei o que faltava: uma aspas simples.
    Não havia sido removida, nunca esteve no código, mas coloquei e funcionou.

      Data/hora atual: Sab 03 Dez 2016, 02:25