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


3 participantes

    Validação de campos

    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Validação de campos

    Mensagem  genflydol 28/5/2013, 15:01

    Boa tarde
    Alguém sabe como impedir um campo de ser preenchido de acordo com a informação de outro campo.
    Por Exemplo tenho uma tabela "Production Sheet" e quero que se no campo "Products" se o produto for "Turkey", que no campo
    "Slicers Machine" impedido de preencher.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Validação de campos Empty Validação de campos

    Mensagem  good guy 28/5/2013, 15:37

    Olá genflydol,

    Crie uma uma condição que invalide tal preenchimento no evento Ao Sair do campo Products de seu formulário.


    If Not IsNull(Products) And Products = "Turkey" Then
    Me.Slicers_Machine.Locked = False
    else
    Me.Slicers_Machine.Locked = True
    End If

    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Condicional

    Mensagem  genflydol 28/5/2013, 21:05

    Obrigado pela ajuda amigo
    Só mais uma pergunta e se quiser que além do "Turkey" outros produtos bloqueiem o campo com ficaria essa expressão?
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Validação de campos Empty Validação de Campos

    Mensagem  good guy 29/5/2013, 01:55

    Olá amigo,

    Vai depender de quantas expressões você vai empregar. Se for apenas mais uma expressão fixa:

    If Not IsNull(Products) And Products = "Turkey" Then
    Me.Slicers_Machine.Locked = False
    ElseIf Products = "OutraExpressão" Then
    Me.Slicers_Machine.Locked = False
    else
    Me.Slicers_Machine.Locked = True
    End If


    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Validação de campos

    Mensagem  genflydol 29/5/2013, 12:34

    Obrigado

    Resolvi esse problema, mas não sei aplicar a formula pro caso da informação ser diferente
    Por exemplo

    If Not IsNull(Product_Description) And Products_Description = "Beef" Then
    Me.Hand_Slicer.Locked = False
    Me.Slicer_1.Locked = False
    ElselfProducts_Description = "Turkey"
    Me.Slicer_1.Locked = False
    Me.Slicer_7.Locked = False
    ElselfProducts_Description = "Turkey"
    Me.Slicer_7.Locked = False
    Me.Slicer_1.Locked = False
    ElselfProducts_Description = "FF Bread Crumb"
    Me.Slicer_1.Locked = False
    Me.Slicer_7.Locked = False
    ElselfProducts_Description = "FF Bread Crumb"
    Me.Slicer_7.Locked = False
    Else
    Me.Slicer_1.Locked = True
    Me.Slicer_7.Locked = True
    End If
    Essa formula faz com que quando preencho o campo (Product_Description),com os nomes listados, bloquei as Slicer 1 e 7
    O que pretendo é bloquear a máquina "Hand Slicer" para um produto especifico "Organic"
    Bloquear "Slicer 1 e 7" para um "Customers" especifico mas associado a um "Product_Description" especifico
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Validação de campos Empty Validação de campos

    Mensagem  good guy 29/5/2013, 14:39

    Olá genflydol,

    Não entendi direito, bloquear a máquina Hand Slicer(?). Por que você está repetindo as condições? Em todo caso, tente assim:

    If Not IsNull(Product_Description) And Products_Description = "Beef" Then
    Me.Hand_Slicer.Locked = False
    Me.Slicer_1.Locked = False
    Elself Products_Description = "Turkey"
    Me.Slicer_1.Locked = False
    Me.Slicer_7.Locked = False
    Elself Products_Description = "Turkey"
    Me.Slicer_7.Locked = False
    Me.Slicer_1.Locked = False
    Elself Products_Description = "FF Bread Crumb"
    Me.Slicer_1.Locked = False
    Me.Slicer_7.Locked = False
    Elself Products_Description = "FF Bread Crumb"
    Me.Slicer_7.Locked = False
    Elself Products_Description = "Organic"
    Me.Slicer_1.Locked = False
    Me.Slicer_7.Locked = False
    ElseIf Produts_Description <> "Turkey" Or Produts_Description <> "FF Bread Crumb" Or Produts_Description <> "Organic" Then
    Me.Slicer_1.Locked = True
    Me.Slicer_7.Locked = True
    Else
    Exit Sub
    End If


    Última edição por good guy em 29/5/2013, 22:46, editado 1 vez(es)
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Validação de campos

    Mensagem  genflydol 29/5/2013, 21:08

    Amigão Obrigado
    É eu não quero que o campo permita introduzir informação se o produto for "Organic"
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Validação de campos Empty Validação de campos

    Mensagem  good guy 29/5/2013, 21:28

    Olá genlydol,

    O código acima não ajudou?
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Mensagens de alerta

    Mensagem  genflydol 30/5/2013, 10:15

    Amigão não, porque as máquinas são muitas e os critérios que meus patrões querem tbm são diversos.
    Talvez tentasse algo mais simples para esse caso.
    Por exemplo quando selecionar um cliente especifico é possível que surja uma mensagem de alerta do gênero " Para esse cliente o produto tal só pode ser fatiado na máquina tal"??????. Assim quem for preencher o formulário já fica a saber que equipamento escolher para um cliente e seu produto especifico.
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Validação de campos

    Mensagem  genflydol 30/5/2013, 11:13

    Boa tarde companheiro

    Será que será possível resolver o problema com as SeImed, Dlookup.......
    Se que uma delas da pra aplicar o critério e a outra vai buscar o critério em um campo de escolha
    Então pensei que pode ser possível no campos aonde irei selecionar as máquinas de corte colocar um critério e ir buscar esse critério na tabela clientes.
    O que achas??
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Validação de campos Empty Validação de Campos

    Mensagem  good guy 30/5/2013, 22:16

    Com certeza,

    Para sabermos o que você precisa, coloque suas ideias em forma de algoritmos. Isso vai ajudar a desenvolver o programa. Crie uma lista em sequência do que o programa deve fazer para que possamos te ajudar.
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Re: Validação de campos

    Mensagem  genflydol 31/5/2013, 10:10

    Bom dia Godd Guy
    Seguinte, possuo um formulário com os seguintes campos "Customers", "Product_Description", "Slicer_1", "Slicer_2 e "Hand Slicer"
    Quero para alguns e somente para meia duzia de customers pois esses a partida são sempre os mesmos, que ao escolher um deles pois eles já aparecem no campo pois possuo um caixa de listagem que apresenta a relação dos mesmos, quero que me apareça um mensagem de alerta ou sugestão do gênero "Para esse fornecedor só se pode cortar na máquina tal" e outra do gênero " Para esse fornecedor se escolhido o produto tal, só se pode cortar na máquina tal".
    Gostaria de criar algo assim pro Campo "Customers" e algo por campo "Products_Description" no segundo caso a mensagem seria "Esse produto só pode ser cortado na máquina tal"
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Mensagens de alerta

    Mensagem  genflydol 31/5/2013, 10:13

    Por acaso consegui criar uma macro que lança a mensagem de alerta, isso é fácil, mas a macro lança a mensagem quando introduzo qualquer dado.
    Se conseguisse associar a macro a um nome especifico, como um nome de fornecedor ou a um produto, tendo em conta que não variam são sempre os mesmos
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Validação de campos Empty Validação de campos

    Mensagem  good guy 31/5/2013, 18:39

    Olá genflydol,

    Crie uma tabela de clientes especiais conforme você descreveu e outra tabela com todos os clientes inclusive os clientes especiais. No formulário principal, uma combobox(Customers) cuja origem de dados seja uma consulta a essa última tabela com todos os Clientes cujo critério seja É Negado Nulo para o campo Cliente e CodigoCliente indexado com chave primária.

    Private Sub Customers_BeforeUpdate(Cancel As Integer)
    If Not IsNull(Customers) Then
    If Nz(DLookup(Cliente, "tblClientes")) = Nz(DLookup(Cliente, "tblClientesEspeciais")) Then

    MsgBox "Para esse fornecedor só se pode cortar na máquina tal", vbCritical, "Fábrica"
    MsgBox "Para esse fornecedor se escolhido o produto tal, só se pode cortar na máquina tal", vbInformation, "Fábrica"
    End If
    End If
    End Sub

    Crie uma tabela de produtos especiais conforme você descreveu e outra tabela com todos os produtos inclusive os produtos especiais. No formulário principal, uma combobox(Products_Description) cuja origem de dados seja uma consulta a essa última tabela com todos os Products_Description cujo critério seja É Negado Nulo para o campo Products_Description e CodigoProduto indexado com chave primária.


    Private Sub Product_Description_BeforeUpdate(Cancel As Integer)
    If Not IsNull(Products_Description) Then
    If Nz(DLookup(Products_Description, "tblProdutos")) = Nz(DLookup(Products_Description, "tblProdutosEspeciais")) Then
    MsgBox "Esse produto só pode ser cortado na máquina tal", vbCritical, "Fábrica"
    End If
    End If
    End Sub
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Validação de campos

    Mensagem  genflydol 3/6/2013, 11:37

    Bom dia amigo.
    Seguinte não consigo identificar qual é o erro
    Aparece-me a sehinte mensagem de erro: Erro em tempo de execução "2428", você nseriu um argumento invalido em uma função de agregação de dominio

    Private Sub Customers_BeforeUpdate(Cancel As Integer)
    If Not IsNull(Customers) Then
    If Nz(DLookup(Southlincs, "Customers")) = Nz(DLookup(Southlincs, "Special Customers")) Then
    MsgBox "Para esse fornecedor só se pode cortar na máquina tal 7", vbCritical, "Hougton Hams"
    MsgBox "Para esse fornecedor, se escolhido MSG, só se pode cortar na Hand Slicer", vbInformation, "Hougton Hams"
    End If
    End If
    End Sub

    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    Validação de campos Empty Validação de Campos

    Mensagem  good guy 3/6/2013, 19:34

    Desculpa aí genflydol,

    Na pressa aqui com muitos serviços esqueci de um detalhe importante. Criar e declarar a variável que servirá de critério na expressão com Dlookup.

    Private Sub Customers_BeforeUpdate(Cancel As Integer)
    On Error Resume Next
    Dim nValor As String

    nValor = Customers.Column(0) 'Se for uma combobox ou Customers ser for uma caixa de texto

    If Not IsNull(Customers) Then
    If Nz(DLookup(Southlincs, "Customers","Southlincs= '" & nValor & "'")) = Nz(DLookup(Southlincs, "Special Customers","Southlincs= '" & nValor & "'")) Then
    MsgBox "Para esse fornecedor só se pode cortar na máquina tal 7", vbCritical, "Hougton Hams"
    MsgBox "Para esse fornecedor, se escolhido MSG, só se pode cortar na Hand Slicer", vbInformation, "Hougton Hams"
    Else
    Exit Sub 'Ou outra MsgBox com outra informação
    End If
    End If
    End Sub

    Tenta aí, se não der certo é só falar
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Validação de campos

    Mensagem  genflydol 5/6/2013, 09:56

    Obrigadão Brother
    Olha, sei que já estou a chatear pra caramba mas já estou quanse no final do projeto, depois se quiser te mando um cópia, afinal sem Ti não seria possivel conclui-lo

    Me ajuda ai a fazer esse comando funcionar Update()Set()= null
    Eu preciso que ao abrir o formulario só dois campos espicficos fiquem em branco para serem repreechidos, ou seja tenho por exemplo 3 campos, "Produtos", "Quantidade Total" e "Número de máquinas", os dois ultimos campos quero que estejam em branco assim que abro o formulario, sei que é com essa fórmula mas não sei onde e nem com devo aplica-la pra funcionar, já tente no construtor de expressões e não deu, com macros também não fui capaz. Já não sei o que estou fazendo mal.
    avatar
    genflydol
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 33
    Registrado : 22/05/2013

    Validação de campos Empty Validação de campos

    Mensagem  genflydol 5/6/2013, 12:20

    Eu não tinha reparado mas hoje fui inserir um produto no fórmulario e o campo está bloqueado deliberadamente sem critério, ou seja, não importa qual o produto que eu coloque o campo fica sempre bloqueado.

    A fórmula que me deste é essa:

    If Not IsNull(Products) And Products = "Turkey" Then
    Me.Slicers_Machine.Locked = False
    ElseIf Products = "OutraExpressão" Then
    Me.Slicers_Machine.Locked = False
    else
    Me.Slicers_Machine.Locked = True
    End If

    Já tentei de tudo pra corrigi-la mas não sou capaz.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    Validação de campos Empty Re: Validação de campos

    Mensagem  JPaulo 5/6/2013, 12:27

    Fernando, em qual evento VBA do formulario está esse trecho de código ?

    Faça o teste no currente do formulario, com apenas uma condição:


    Private Sub Form_Current()
    If Me.Products = "Turkey" Then
    Me.Slicers_Machine.Locked = False
    Else
    Me.Slicers_Machine.Locked = True
    End If
    End Sub


    Penso que mais facil para si, seria utilizar o Select Case;


    Private Sub Products_AfterUpdate()
    Select Case Me.Products
    Case Is = "Turkey"
    Me.Slicers_Machine.Locked = False
    Case Is = "xpto"
    Me.Slicers_Machine.Locked = False
    Case Is = "yxxx"
    Me.Slicers_Machine.Locked = False
    Case Else
    Me.Slicers_Machine.Locked = True
    End Select
    End Sub




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    Validação de campos Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Validação de campos Folder_announce_new 102 Códigos VBA Gratuitos...
    Validação de campos Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    Validação de campos Empty Re: Validação de campos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 09:49