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


2 participantes

    [Resolvido]Botão de Comando Gravar

    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Botão de Comando Gravar Empty Botão de Comando Gravar

    Mensagem  Assis 20/7/2013, 00:18

    Boa noite Amigos

    Tenho este comando num botão de gravar que grava em 3 tabelas diferentes.
    Acontece que na parte que está entre o tracejado a vermelho, eu queria que se o campo "Vendedor" for nulo não gravava nada na tabela TabComissoes, mas está a gravar.

    If MsgBox("Gravar Documento ? " & Chr(10) + Operação & Chr(10) + Cliente & Chr(10) + Chr(13) & "Documento " & Format(Encomenda, "0000000 "), vbYesNo + vbQuestion, "Conforlar") = vbYes Then

    Dim BancoDeDados As Database
    Dim TabLançamentos As Recordset
    Set BancoDeDados = CurrentDb
    Set TabLançamentos = BancoDeDados.OpenRecordset("TabRecebimentos")
    With TabLançamentos
    .AddNew
    !LN = Nz(DMax("LN", "TabRecebimentos")) + 1
    !LNN = Me.LN
    !DataFT = Me.Data
    !Cliente = Me.Cliente
    !TipoMov = Me.Operação
    !Doc = Me.Encomenda
    !Falta = Forms![Encomenda]![DetalhesArtigos]![Texto29]
    .Update
    End With

    '--------------------------------------------------------
    If IsNull(Me!Vendedor) Or Me!Vendedor = "" Then GoTo Continuar

    Set BancoDeDados = CurrentDb
    Set TabLançamentos = BancoDeDados.OpenRecordset("TabComissoes")
    With TabLançamentos
    .AddNew
    !LN = Nz(DMax("LN", "TabComissoes")) + 1
    !LNN = Me.LN
    !DataFT = Me.Data
    !Cliente = Me.Cliente
    !TipoMov = Me.Operação
    !Doc = Me.Encomenda
    !Vendedor = Me.Vendedor
    !Debito = 0
    !Credito = Forms![Encomenda]![DetalhesArtigos]![Texto96]

    .Update
    End With

    Continuar:
    '---------------------------------------------------------

    Me.valorComi = Forms![Encomenda]![DetalhesArtigos]![Texto96]
    Me.Falta = Forms![Encomenda]![DetalhesArtigos]![Texto29]
    Me.ValorIva = Forms![Encomenda]![DetalhesArtigos]![Texto91]
    MsgBox "Documento Gravado ! ", vbQuestion, "Conforlar"
    DoCmd.GoToRecord , , acNewRec
    Me.Operação.SetFocus

    Exit Sub
    Else

    DoCmd.RunCommand acCmdDeleteRecord
    Exit Sub
    End If
     
    End Sub


    Obrigado


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Botão de Comando Gravar Empty Re: [Resolvido]Botão de Comando Gravar

    Mensagem  Silvio 20/7/2013, 00:55

    Boa noite Assis...

    Pelo que eu li no teu código, esta a me parecer correto. Já tentou compactar e reparar o mesmo ??


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Botão de Comando Gravar Empty Re: [Resolvido]Botão de Comando Gravar

    Mensagem  Assis 20/7/2013, 01:24

    Boa noite Silvio

    O meu problema e que quando o campo VENDEDOR é nulo, é sinal que o documento não tem comissão a pagar, portanto eu não quero gravar nada na TabComissoes.

    Mas mesmo com o campo VENDEDOR seja nulo o comando gravar grava igual na tabela TabComissão os outros campos

    Obrigado
    Bom fim de semana




    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Botão de Comando Gravar Empty Re: [Resolvido]Botão de Comando Gravar

    Mensagem  Silvio 20/7/2013, 01:30

    bom dia .....

    Tente

    If IsNull(Me.Vendedor) Or Me.Vendedor = " " Then GoTo Continuar:


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Botão de Comando Gravar Empty Re: [Resolvido]Botão de Comando Gravar

    Mensagem  Assis 20/7/2013, 12:21

    Bom dia

    Nada melhor que uma boa noite de sono

    Obrigado Silvio

    Foi sá trazer a tabComissoes para inicio da função

    If MsgBox("Gravar Documento ? " & Chr(10) + Operação & Chr(10) + Cliente & Chr(10) + Chr(13) & "Documento " & Format(Encomenda, "0000000 "), vbYesNo + vbQuestion, "Conforlar") = vbYes Then
    DoCmd.SetWarnings False


    If IsNull(Me!Vendedor) Or Me!Vendedor = "" Then GoTo Continuar

    Dim BancoDeDados As Database
    Dim TabLançamentos As Recordset
    Set BancoDeDados = CurrentDb
    Set TabLançamentos = BancoDeDados.OpenRecordset("TabComissoes")
    With TabLançamentos
    .AddNew
    !LN = Nz(DMax("LN", "TabComissoes")) + 1
    !LNN = Me.LN
    !DataFT = Me.Data
    !Cliente = Me.Cliente
    !TipoMov = Me.Operação
    !Doc = Me.Encomenda
    !Vendedor = Me.Vendedor
    !Debito = 0
    !Credito = Forms![Encomenda]![DetalhesArtigos]![Texto96]

    .Update
    End With

    Continuar:


    Set BancoDeDados = CurrentDb
    Set TabLançamentos = BancoDeDados.OpenRecordset("TabRecebimentos")
    With TabLançamentos
    .AddNew
    !LN = Nz(DMax("LN", "TabRecebimentos")) + 1
    !LNN = Me.LN
    !DataFT = Me.Data
    !Cliente = Me.Cliente
    !TipoMov = Me.Operação
    !Doc = Me.Encomenda
    !Falta = Forms![Encomenda]![DetalhesArtigos]![Texto29]
    .Update
    End With



    Me.ValorComi = Forms![Encomenda]![DetalhesArtigos]![Texto96]
    Me.Falta = Forms![Encomenda]![DetalhesArtigos]![Texto29]
    Me.ValorIva = Forms![Encomenda]![DetalhesArtigos]![Texto91]
    MsgBox "Documento Gravado ! ", vbQuestion, "Conforlar"
    DoCmd.GoToRecord , , acNewRec
    Me.Operação.SetFocus


    Exit Sub
    Else
    DoCmd.SetWarnings False
    DoCmd.RunCommand acCmdDeleteRecord
    Exit Sub
    End If

    End Sub

    Private Sub Comando9_Click()
    On Error Resume Next

    If MsgBox("Anular Todo Documento ? " & Chr(10) + Operação & Chr(10) + Cliente & Chr(10) + Chr(13) & "Documento " & Format(Encomenda, "0000000 "), vbYesNo + vbQuestion, "Conforlar") = vbYes Then
    DoCmd.SetWarnings False

    DoCmd.RunCommand acCmdDeleteRecord
    Me.Texto72 = Null
    Me.Texto73 = Null
    Me.PreçoTabela = Null
    Me.Preço = Null
    Me.Ref = Null
    Me.Tipo = Null
    Me.Tamanho = Null
    Me.Descrição = Null
    Me.Vendedor = Null
    Me.Comissao = Null
    Exit Sub
    Else
    Forms![Encomenda]![DetalhesArtigos]![Ref].SetFocus
    Exit Sub
    End If

    Me.Operação.SetFocus

    End Sub

    Private Sub Comissao_AfterUpdate()
    On Error Resume Next

    If Nz(Comissao) <> Nz(Comissao.OldValue) Then
    If MsgBox("A comissão foi Alterada ?" & vbCrLf & "Confirma Alteração ?", _
    vbYesNo + vbQuestion, "Conforlar") = vbNo Then
    Me.Undo ' Desfaz a alteração.
    Me.Data.SetFocus
    Else
    Dim DB As Database, rs As Recordset
    Set DB = CurrentDb()
    Set rs = DB.OpenRecordset("Clientes", dbOpenDynaset)
    rs.FindFirst "nome = " & Me.Cliente
    rs.Edit
    rs("comissao") = Me.Comissao
    rs.Update
    rs.Close
    Set rs = Nothing
    Set DB = Nothing
    Me.Data.SetFocus
    End If
    End If

    End Sub


    .................................................................................
    *** Só sei que nada sei ***
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5120
    Registrado : 20/04/2011

    [Resolvido]Botão de Comando Gravar Empty Re: [Resolvido]Botão de Comando Gravar

    Mensagem  Silvio 20/7/2013, 13:16

    Grande Amigo Assis...boa tarde !

    Que bom que deu certo. Aprendi mais uma contigo.

    Um ótimo fim de semana para ti.

    Abraços.

    Silvio


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."

    Conteúdo patrocinado


    [Resolvido]Botão de Comando Gravar Empty Re: [Resolvido]Botão de Comando Gravar

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 00:49