MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Criar uma outra ordem de serviços para equipamento que ja foi arrumado

    Compartilhe

    Samuel Ribeiro
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 566
    Registrado : 05/02/2011

    [Resolvido]Criar uma outra ordem de serviços para equipamento que ja foi arrumado

    Mensagem  Samuel Ribeiro em Sab 01 Nov 2014, 15:34

    Boa tarde..

    De novo eu com minhas duvidas..

    Estou desenvolvendo um sistema de ordens de serviços, onde os equipamentos depois de arrumados podem voltar em uma outra ocasião, pretendo que se o equipamento tiver um ordem de serviços ja concluída, pelo seu numero de controle de equipamento (Codigo) o sistema me avisa que este código de controle de equipamento ja se encontra cadastrado no sistema, só que de ontem para hoje começou a dar o erro em tempo de execução 424: O objeto é obrigatório. To tentando resolver este erro mas ta difícil.
    O que eu preciso de verdade é que quando ele me der esta mensagem ele me pergunte também, se quero abrir outra ordem de serviços para este código de controle de equipamento, e me retorne os dados do mesmo no formulário.
    Segue o Código com a linha onde esta dando o erro grifada.
    Código:
    Private Sub txtNumeroControleEquipamento_AfterUpdate()
    Dim strDocName As String
    Dim strLinkCriteria As String
        strDocName = "Frm_OS"
     If (Not IsNull(DLookup("[Codigo]", "tblOrdemDeServiços", _
            "[Codigo] ='" & Me!Codigo & "'"))) Then
    [u]MsgBox "Este Código de controle de Produto ja se encontra Cadastrado no Sistema.: " & Codigo.Value, vbInformation, "Sistema de Geração de Ordem de Serviços - Aviso!"[/u]
    Cancel = True
    Me!Codigo.Undo
     strLinkCriteria = "[Codigo]=" & "'" & Me![Codigo] & "'"
        DoCmd.OpenForm strDocName, , , stLinkCriteria
        End If
    End Sub
    Segue em anexo os objetos
    Anexos
    OS.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (938 Kb) Baixado 39 vez(es)


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro

    Samuel Ribeiro
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 566
    Registrado : 05/02/2011

    Re: [Resolvido]Criar uma outra ordem de serviços para equipamento que ja foi arrumado

    Mensagem  Samuel Ribeiro em Seg 03 Nov 2014, 21:03

    Boa noite

    Ninguem pode me dar uma ideia de como fazer esta nova Ordem de Serviço.?


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro

    Samuel Ribeiro
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 566
    Registrado : 05/02/2011

    Re: [Resolvido]Criar uma outra ordem de serviços para equipamento que ja foi arrumado

    Mensagem  Samuel Ribeiro em Qui 06 Nov 2014, 18:48

    Boa noite
    Até o momento consegui com que quando eu informasse o código de controle do equipamento ele recupere os dados do equipamento, mas ele traz é a ultima Ordem de Serviços que foi aberta para o equipamento em questão.

    Renomeei as tabelas e formulários e corrigi o código que ficou assim:

    Código:
    Private Sub txtNumeroControleEquipamento_AfterUpdate()
    Dim strDocNome As String
    Dim strLinkCriteria As String
        strDocNome = "frmOrdemDeServiços"
    If (Not IsNull(DLookup("[NumControleEquipamento]", "tblOrdemDeServiços", _
            "[NumControleEquipamento] ='" & Me!NumControleEquipamento & "'"))) Then
    MsgBox "Este Número de Controle de Equipamento ja se encontra Cadastrado no Sistema.: " & txtNumeroControleEquipamento.Value, vbInformation, "Sistema de Geração de Ordem de Serviços - Aviso"
    Cancel = True
    Me!txtNumeroControleEquipamento.Undo
     strLinkCriteria = "[NumControleEquipamento]=" & "'" & Me![NumControleEquipamento] & "'"
        DoCmd.OpenForm strDocNome, , , strLinkCriteria
        End If
    End Sub

    Até ai tudo bem, não estou conseguindo e que o sistema inicie uma nova Ordem de Serviços para este equipamento com as informações que ele puxou da Ordem de Serviços em questão.

    Desde ja Agradeço..


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro

    Samuel Ribeiro
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 566
    Registrado : 05/02/2011

    Re: [Resolvido]Criar uma outra ordem de serviços para equipamento que ja foi arrumado

    Mensagem  Samuel Ribeiro em Sab 29 Nov 2014, 16:27

    Boa tarde

    Consegui resolver o problema com a ajuda do Dilson de outro fórum:

    Segue o código com ficou.

    Na propriedade do campo txtSeuNomedeCampo, na aba evento, antes de atualizar, adapte o código para seu projeto com os nomes de seus campos e comandos.

    Código:
    Dim strDocNome As String
    Dim strLinkCriteria As String
       strDocNome = "frmOrdemDeServiços"
    If (Not IsNull(DLookup("[NumControleEquipamento]", "tblOrdemDeServiços", _
           "[NumControleEquipamento] ='" & Me!NumControleEquipamento & "'"))) Then

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("SELECT * FROM tblOrdemDeServiços WHERE NumControleEquipamento='" & Me!NumControleEquipamento & "'")
    rs.MoveLast
    If MsgBox("Este Número de Controle de Equipamento ja se encontra Cadastrado no Sistema: " & txtNumeroControleEquipamento.Value & "" _
    & vbCrLf & vbCrLf & "Você deseja abrir outra ordem de serviço para este equipamento?", vbQuestion + vbYesNo, "Decisão") = vbYes Then
    'Autopreencher os campos com os dados do registro encontrado:
    Me.txtSerialEquipamento = rs("SerialEquipamento")
    'Me.txtOutroCampo = rs("OutroCampo")

    Else
    'Outros comandos caso aperte a opção Não.
    End If
    End If


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro

      Data/hora atual: Seg 05 Dez 2016, 01:21