MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


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

    avatar
    dlourencini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  dlourencini 7/1/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
    avatar
    dlourencini
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  dlourencini 7/1/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: 19/3/2024, 02:05