Marcelo David 29/7/2014, 15:51
theand.abreu escreveu:Como disse no primeiro post, o formulário é o d e pedidos.
Vamos ver se disse qual é o formulário...
theand.abreu escreveu:Toda vez que vou para um novo registro seja clicando no "seletores de registro - novo registro" ou criando uma macro "Abrir Formulário - Modo de Dados - Adicionar" ou mesmo via VBA - "acFormAdd" mesmo sem digitar nenhuma informação no formulário ele adiciona um registro na tabela.
Perceba que você não informou nenhum nome de formulário (pedido)!
Se precisa de ajuda é necessário informa os nomes dos objetos envolvido
para assim podermos vermos o que está ocorrendo.
E como você disse na mensagem 3 e não na 1, o formulário em questão é o de pedidos (suponho Pedido seja o nome
do formulário) pude observar o seguinte:
- Código:
Me.Texto38.Value = Nz(Me.Itens.Form!SubTot.Value, 0) _
+ Nz(Me.Servicos.Form!SubTot.Value, 0)
Me.Texto46.Value = Nz(Me.Itens.Form!Texto30.Value, 0) _
+ Nz(Me.Servicos.Form!Texto30.Value, 0)
TotalGeral.Value = Nz(Me.Texto38, 0) _
- Nz(Me.ped_desconto, 0)
Mesmo que você não digite nada no formulário, no evento atualo código acima "escreve" no formulário. Ou seja,
mesmo estando em novo registro, seu código vai e escreve os totais em um campo vinculado, daí já é criado um novo registro.
Como sugestão, verifique se o registro é novo e se for, não execute o código.
Seu código no atual ficaria assim:
- Código:
If Me.NewRecord = False Then 'Verifico se não é um novo registro. Caso não seja, então execulto o código abaixo.
Set cli = CurrentDb.OpenRecordset("select cli_nome from cliente where cli_codigo = " & Nz(Me.ped_cli_codigo, 0))
If Not cli.EOF Then
Rótulo13.Caption = cli.cli_nome
Else
Rótulo13.Caption = ""
End If
Me.Texto38.Value = Nz(Me.Itens.Form!SubTot.Value, 0) _
+ Nz(Me.Servicos.Form!SubTot.Value, 0)
Me.Texto46.Value = Nz(Me.Itens.Form!Texto30.Value, 0) _
+ Nz(Me.Servicos.Form!Texto30.Value, 0)
TotalGeral.Value = Nz(Me.Texto38, 0) _
- Nz(Me.ped_desconto, 0)
Me.Rótulo45.Caption = "Porcentagem " & Format(Me.ped_desconto / Me.Texto38, "Percent")
End If
.................................................................................
Domine Access e VBA Criando Um Incrível Sistema Financeiro - [Passo a passo]
Access e VBA - Formulário Desacoplado - [Passo a passo]
Conheça meu canal no Youtube e se inscreva.