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]campo nome em branco

    avatar
    kadhu
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 734
    Registrado : 25/04/2012

    [Resolvido]campo nome em branco Empty [Resolvido]campo nome em branco

    Mensagem  kadhu 9/5/2012, 16:46

    BOM DIA,A TODOS preciso de uma frm para inserir no campo nome do frm livro caixa,que me avise que o com o campo nome está em branco me dando uma aviso para preenche-lo; porém neste campo ja existe uma formula para inserir cliente não cadastrado na tabela cadastro de clientes ,isso é possivel?
    avatar
    Convidad
    Convidado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Convidad 9/5/2012, 18:08


    Você pode colocar código no evento Antes de atualizar do Form para exigir o preenchimento do campo:

    Código:
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If IsNull(Me.CampoCliente) Then
        Cancel = True
        Me.CampoCliente.SetFocus
        MsgBox "Informe o nome do Cliente."
        Exit Sub
    End If
    End Sub

    E pode inserir um novo cliente na tabela se o nome digitado não existir na combo onde escolhe o cliente:

    Código:
    Private Sub CampoCliente_NotInList(NewData As String, Response As Integer)
    If MsgBox("Deseja adicionar  " & NewData & "  ao cadastro de Clientes?, vbQuestion + vbYesNo, "Confirmação") = vbYes Then
        If CurrentProject.AllForms("FrmClientes").IsLoaded Then DoCmd.Close acForm, "FrmClientes", acSavePrompt
          Dim db As Database
          Dim rs As DAO.Recordset
          Set db = CurrentDb
          Set rs = db.OpenRecordset("TblClientes")
          rs.AddNew
          rs!NomeCliente = NewData
          rs.Update
          rs.Close
          Set rs = Nothing
          db.Close
          Set db = Nothing
          Response = acDataErrAdded
    Else
          Response = acDataErrContinue
          Me.CampoCliente.Undo
    End If
    End Sub

    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Lupércio 10/5/2012, 00:44

    Olá grande Norberto como vai?

    Uma observação, dando uma passada pelos tópicos, resolvi testar seu código
    e no meu form não quer funcionar da o aviso para informar o nome do cliente mas fecha o form!

    Veja:

    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If IsNull(Me.Nome) Then
    Cancel = True
    Me.Nome.SetFocus
    MsgBox "Informe o nome do Cliente."
    Exit Sub
    End If
    End Sub
    avatar
    Convidad
    Convidado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Convidad 10/5/2012, 00:51


    Olá Lupércio

    Com certeza não é nada neste código.
    É algum procedimento seu aí que está fechando. Verifique.
    Lupércio
    Lupércio
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1143
    Registrado : 07/05/2011

    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Lupércio 10/5/2012, 00:53

    Já estou analisando aqui Norberto, porque tenho outro código tambem e está dando o mesmo erro!
    avatar
    kadhu
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 734
    Registrado : 25/04/2012

    [Resolvido]campo nome em branco Empty Campo em branco

    Mensagem  kadhu 10/5/2012, 02:52

    Achei que o cod era pro frm livro caixa ,acabei de por no frm tab clientes ,e ficouo redondinho ,.obrigado


    Última edição por kadhu em 10/5/2012, 03:20, editado 1 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Convidad 10/5/2012, 03:09


    Um código é para adicionar um nome digitado que não constar na ComboBox.

    O outro código é para verificar se o campo foi preenchido, e impedir salvar o formulário se não foi.

    Note que os eventos são diferentes:
    Um ocorre no evento Se não estiver na lista da ComboBox e o outro no evento Antes de atualizar do formulário.

    Então não há conflito.

    avatar
    kadhu
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 734
    Registrado : 25/04/2012

    [Resolvido]campo nome em branco Empty Campo em branco

    Mensagem  kadhu 10/5/2012, 03:24

    eu posso usar esse mesmo codigo do frm cadastro de cleintes no frm livro caixa para evitar seu preenchimento em branco? ,desculpe a confusão!!!ou deve ser outro código ?
    Pq eu usei ele e gerou um erro nos campo totais dos frm ,pois dentro do campo nome do frm livro caixa eu tenho esse código:


    Private Sub Combinação53_BeforeUpdate(Cancel As Integer)

    End Sub

    Private Sub Combinação53_NotInList(NewData As String, Response As Integer)

    If MsgBox("Deseja adicionar " & NewData & " ao cadastro de Clientes?", vbQuestion + vbYesNo, "Confirmação") = vbYes Then
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Tab_Clientes")
    rs.AddNew
    rs!Nome = NewData
    rs.Update
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Response = acDataErrAdded
    Else
    Response = acDataErrContinue
    Me.Combinação53.Undo
    End If

    End Sub
    avatar
    Convidad
    Convidado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Convidad 10/5/2012, 03:35


    Parece que em alguma confusão aí.

    O código é para um form (pode ser o livro caixa) onde você vai escolher o cliente numa caixa de combinação (que chamamos também de combo ou ComboBox).
    Se o cliente não estiver na lista da caixa, pode ser adicionado ao cadastro diretamente, sem abrir o form de clientes.

    E a outra parte é para garantir que o nome do cliente seja preenchido. Este, enfim, serve nos dois casos: tanto para um cadastro de clientes, ou para um form onde se escolhe o cliente numa lista.

    No form de clientes não vai haver uma caixa de combinação para escolher o cliente, pois você estará cadastrando o próprio.

    Então estou meio perdido.

    Se precisar de esclarecimentos, por favor, explique direitinho (com todos os detalhes).
    Informe o nome do formulário, o nome dos campos envolvidos, e o que exatamente quer que seja feito.
    avatar
    kadhu
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 734
    Registrado : 25/04/2012

    [Resolvido]campo nome em branco Empty Campo em branco

    Mensagem  kadhu 10/5/2012, 03:53

    Entaum é assim ,no frm cadastro de clientes a formula (código) esta funcionando certinho,ja no frm livro caixa, o campo nome tem a função de adicioanr o cliente que não estiver na lista ok, eu so preciso da função ,de não registrar o campo nome em branco ,(tipo um Alerta):para o campo ser preenchido,antes de salvar!!!!.
    Pois eu usei esse codigo que vc me passou, no campo nome, do frm livro caixa, e gerou um erro nos campos totais:
    o nome, do campo nome, no frm livro caixa é: caixa de combinação53 e o cód no evento antes de atualizar é esse:

    Private Sub Combinação53_BeforeUpdate(Cancel As Integer)

    End Sub

    Private Sub Combinação53_NotInList(NewData As String, Response As Integer)

    If MsgBox("Deseja adicionar " & NewData & " ao cadastro de Clientes?", vbQuestion + vbYesNo, "Confirmação") = vbYes Then
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Tab_Clientes")
    rs.AddNew
    rs!Nome = NewData
    rs.Update
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Response = acDataErrAdded
    Else
    Response = acDataErrContinue
    Me.Combinação53.Undo
    End If

    End Sub


    E o cod no evento, se não estiver na lista é esse:

    Private Sub Combinação53_BeforeUpdate(Cancel As Integer)

    End Sub


    Private Sub Combinação53_NotInList(NewData As String, Response As Integer)

    If MsgBox("Deseja adicionar " & NewData & " ao cadastro de Clientes?", vbQuestion + vbYesNo, "Confirmação") = vbYes Then
    Dim db As Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Tab_Clientes")
    rs.AddNew
    rs!Nome = NewData
    rs.Update
    rs.Close
    Set rs = Nothing
    db.Close
    Set db = Nothing
    Response = acDataErrAdded
    Else
    Response = acDataErrContinue
    Me.Combinação53.Undo
    End If

    End Sub

    avatar
    Convidad
    Convidado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Convidad 10/5/2012, 04:11


    Então os códigos devem se exatamente os que coloquei na mensagem 2, só alterando o nome CampoCliente para Nome, já que este é o nome do campo. Fica como segue:

    No evento Antes de atualizar (apenas cole o código no módulo, para não repetir a declaração do procedimento e seu final (End Sub), como aconteceu aí em cima.


    Private Sub Form_BeforeUpdate(Cancel As Integer)
    If IsNull(Me.Nome) Then
    Cancel = True
    Me.Nome.SetFocus
    MsgBox "Informe o nome do Cliente."
    Exit Sub
    End If
    End Sub


    A parte que marquei em vermelho na sua mensagem anterior deve ser excluída, e o código acima entra no lugar.
    avatar
    kadhu
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 734
    Registrado : 25/04/2012

    [Resolvido]campo nome em branco Empty Campo em branco

    Mensagem  kadhu 10/5/2012, 04:24

    Obrigado Norberto ,boa noite!vou fazer as mudanças
    avatar
    Convidad
    Convidado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Convidad 10/5/2012, 04:26


    Disponha, kadhu.

    Boa noite!
    avatar
    kadhu
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 734
    Registrado : 25/04/2012

    [Resolvido]campo nome em branco Empty campo nome em branco

    Mensagem  kadhu 10/5/2012, 15:44

    Norberto .obrigado redondinho ,!!!!!
    avatar
    Convidad
    Convidado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Convidad 10/5/2012, 15:48


    Disponha!

    O Fórum agradece seu retorno.

    cheers

    Conteúdo patrocinado


    [Resolvido]campo nome em branco Empty Re: [Resolvido]campo nome em branco

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 09:52