MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 352
    Registrado : 11/12/2017

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro Empty [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    Mensagem  Ismael Silva em 5/4/2019, 17:11

    Boa tarde,


    No meu Frm de Abastecimentos de Frotas tenho a descrição de placas, conforme abaixo:

    Placa        Equipamento
    IHJ 0001  -     IG-Orgânico

    Ou seja, esta placa com o descritivo IG-Orgânico, tem um posto pré determinado que pode-se abastecer, no caso(Posto_Chafariz), porém, as vezes, essa mesma placa, abastece em outro posto de outra cidade, então, eu quero que antes, ou depois de atualizar o campo posto, o código verifique se o posto informado, é o pré cadastrado para esta placa, caso não for, quero que dê um aviso, do tipo, "Abastecimento em Posto diferente do cadastro. Deseja seguir com o lançamento mesmo assim?".
    A intenção não é impedir o usuário de fazer o lançamento, caso o posto seja diferente do cadastro, e sim alertar apenas.

    Não estou conseguindo fazer sozinho o que desejo.

    Obrigado desde já.
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 879
    Registrado : 01/03/2014

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro Empty Re: [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    Mensagem  Celso Roberto em 5/4/2019, 18:54

    Olá...

    Tem uma maneira de se fazer mais ou menos assim:

    1 - Declare uma variável no inicio do módulo, Ex:

    Option Compare Database

    Dim NomeVariável As String

    2 - No evento ao carregar o formulário, Carregue a variável com o nome do posto autorixado, Ex:

    NomeVariável = NomedoCampoPostoAutorizado

    3 - No evento antes de atualizar do CampoPostoAbastecido, Comparar a Variável com nome do CampoPostoAbastecido, Ex:

    If NomeVariável <> CampoPostoAbastecido then

    msgbox "criar"

    else

    exit sub

    end if


    Aguardamos

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 352
    Registrado : 11/12/2017

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro Empty Re: [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    Mensagem  Ismael Silva em 5/4/2019, 19:33

    Grande Celso, mais uma vez me ajudando. Estou com um tópico pendente de lhe dar retorno, mas ainda não consegui chegar lá, mas está no radar, para tão logo retornar.

    Mas voltando para este tópico


    Tentei seguir mais ou menos o que você me indicou, mas creio que algo não saiu como esperado, pois repare na TBL_Cad_Frotas, tem as placas, com as descrições, e o Posto que este veículo deve abastecer, aí no evento antes de atualizar coloquei o código que você me sugeriu, só que mesmo que eu coloque o Posto correto, está me retornando a mensagem.

    Ex: A Placa GJU 1013, está cadastrada para abastecer no posto Pedras Brancas, porém mesmo eu colocando o Posto correto ao lançar, está me retornando a mensagem.

    https://www.dropbox.com/s/z7qq5i2174698ji/Controle%20ABTC.accdb?dl=0
    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 352
    Registrado : 11/12/2017

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro Empty Re: [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    Mensagem  Ismael Silva em 5/4/2019, 20:15

    Celso, insistindo aqui, achei outra solução que foi a seguinte, criei outro campo na minha tabela, com o nome de Posto_Correto, e no evento depois de atualizar a placa, coloque assim: Posto_Correto = DLookup("Posto_Abast", "Tbl_Cad_Frotas", "Placa =" & "Placa_Abast"), ou seja, no campo Posto_Correto, vai trazer o posto certo, aí no evento depois de atualizar o Posto_Abast, coloquei assim:

    If Posto <> Posto_Correto Then

    MsgBox "Veiculo não abasteceu no Posto habitual, favor verificar", vbInformation, "Atenção"

    MsgBox " Posto habitual deste veículo é " & Posto_Correto & "."

    Else

    End If

    Muito obrigado pela costumeira disposição em ajudar.

    Tópico resolvido.
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 879
    Registrado : 01/03/2014

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro Empty Re: [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    Mensagem  Celso Roberto em 5/4/2019, 21:07

    Olá...

    Para não perder a alteração que fiz, altere todos os códigos do módulo vba para o abaixo:

    Código:
    Option Compare Database
    Dim NomePosto As String

    Private Sub Form_Load()

    DoCmd.GoToRecord , , acNewRec

    End Sub
    Private Sub Placa_Abast_AfterUpdate()

    Me.Veiculo = DLookup("Desc_Veiculo", "Tbl_Cad_Frotas", "Placa ='" & Me.Placa_Abast & "'")
    NomePosto = DLookup("Posto_Abast", "Tbl_Cad_Frotas", "Placa ='" & Me.Placa_Abast & "'")
    End Sub
    Private Sub Posto_BeforeUpdate(Cancel As Integer)

    If NomePosto <> Me.Posto Then

    MsgBox "Veiculo não abasteceu no Posto habitual, favor verificar", vbInformation, "Atenção"

    Else

    Exit Sub

    End If

    End Sub

    Private Sub Salvar_Click()

    Me.Lista_Lancamentos.Requery
    Me.Recalc

    DoCmd.GoToRecord , , acNewRec

    End Sub


    Não precisa alterar nada e nem acrecentar outros campos

    Aguardo

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....
    avatar
    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 352
    Registrado : 11/12/2017

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro Empty Re: [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    Mensagem  Ismael Silva em 5/4/2019, 21:17

    Perfeitamente Celso, vou testar a sua solução, contudo, mantenho o tópico como resolvido, e lhe agradecendo mais uma vez.
    Celso Roberto
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 879
    Registrado : 01/03/2014

    [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro Empty Re: [Resolvido]Aviso: Veículo Abastecendo em Posto Diferente do Cadastro

    Mensagem  Celso Roberto em 5/4/2019, 21:23

    Olá..

    Fico feliz por ter ajudado.

    Obrigado pelo retorno.

    Abraços e sucesso


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: 24/4/2019, 07:34