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?
2 participantes
[Resolvido]campo nome em branco
kadhu- Super Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 734
Registrado : 25/04/2012
- Mensagem nº1
[Resolvido]campo nome em branco
Convidad- Convidado
- Mensagem nº2
Re: [Resolvido]campo nome em branco
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- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1143
Registrado : 07/05/2011
- Mensagem nº3
Re: [Resolvido]campo nome em branco
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
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
Convidad- Convidado
- Mensagem nº4
Re: [Resolvido]campo nome em branco
Olá Lupércio
Com certeza não é nada neste código.
É algum procedimento seu aí que está fechando. Verifique.
Lupércio- VIP
- Respeito às regras :
Sexo :
Localização :
Mensagens : 1143
Registrado : 07/05/2011
- Mensagem nº5
Re: [Resolvido]campo nome em branco
Já estou analisando aqui Norberto, porque tenho outro código tambem e está dando o mesmo erro!
kadhu- Super Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 734
Registrado : 25/04/2012
- Mensagem nº6
Campo em branco
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)
Convidad- Convidado
- Mensagem nº7
Re: [Resolvido]campo nome em branco
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.
kadhu- Super Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 734
Registrado : 25/04/2012
- Mensagem nº8
Campo em branco
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
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
Convidad- Convidado
- Mensagem nº9
Re: [Resolvido]campo nome em branco
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.
kadhu- Super Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 734
Registrado : 25/04/2012
- Mensagem nº10
Campo em branco
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
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
Convidad- Convidado
- Mensagem nº11
Re: [Resolvido]campo nome em branco
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.
kadhu- Super Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 734
Registrado : 25/04/2012
- Mensagem nº12
Campo em branco
Obrigado Norberto ,boa noite!vou fazer as mudanças
kadhu- Super Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 734
Registrado : 25/04/2012
- Mensagem nº14
campo nome em branco
Norberto .obrigado redondinho ,!!!!!
Convidad- Convidado
- Mensagem nº15
Re: [Resolvido]campo nome em branco
Disponha!
O Fórum agradece seu retorno.