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]Operação com Formulário POPUP e bloqueio de formulário

    avatar
    ddoc
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 77
    Registrado : 05/08/2011

    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  ddoc 25/2/2012, 19:41

    Prezados Amigos

    Estou com o seguinte problema.

    Criei um formulário de SAC com os respectivos sub-formulários. Meu problema.

    Ao encerrar um SAC, um funcionário da empresa irá abrir o SAC e fazer a pesquisa de satisfação. Ele pressionará um botão que irá abrir um formulário popup que está pronto (somente em modo de adição), mas que deverá estar relacionado com o SAC pelo NrSac, como em um sub-formulário.

    Depois de encerrada a pesquisa, ao clicar em Salvar, o formulário deverá ser encerrado e bloquear o registro de ambos os formulários, para que não permita a edição.
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  criquio 25/2/2012, 19:59

    Não entendi muito bem. Você vai abrir um formulário popup filtrado pelo registro do primeiro formulário? E depois que fechar esse popup desabilitar os campos do primeiro formulário?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    ddoc
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 77
    Registrado : 05/08/2011

    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  ddoc 26/2/2012, 00:56

    Deixe-me ver se consigo explicar melhor.

    O primeiro formulário é o SAC. Este formulário tem a finalidade de abrir um protocolo sobre um questionamento do consumidor. Ele registra a reclamação e as áreas envolvidas são designadas para atendimento ao SAC.

    Quando o protocolo é encerrado, 5 dias após, é realizado uma pesquisa de satisfação com o consumidor a respeito do atendimento.

    Esta pesquisa é aberta a partir do formulário SAC. Por quê? A pesquisa precisa ser popup para que o funcionário possa movimentar a janela e ver as questões do problema e das soluções apresentadas. Caso o consumidor continue insatisfeito, o funcionário poderá duplicar o SAC, criando um novo protocolo interno. Mas voltando para a pesquisa, quando o funcionário clicar no botão que estará no formulário do SAC, abrirá a pesquisa em popup, relacionando o registro da pesquisa com o código NrSac que é a chave privada. Após a pesquisa ser respondida, o funcionário clicará em salvar. Neste momento o botão deveria (digo deveria pois não tenho a menor idéia de como fazer), bloquear todos os campos daquele registro, impedindo os mesmos de serem alterados.
    avatar
    Convidado
    Convidado


    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  Convidado 26/2/2012, 02:32

    Adicione esta linha no inicio do seu código salvar.
    Me.seucampo.Locked = False. isso para cada campo.
    E no inicio do seu botão novo
    Me.seucampo.Locked = true. isso para cada campo

    e se tiver muitos campos pode ser assim:
    No evento ao abrir do "formulário" Form.AllowEdits = False
    e no evento ao clicar do botão novo Form.AllowEdits = True

    qualquer duvida retorne.....
    avatar
    Convidad
    Convidado


    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  Convidad 26/2/2012, 03:29

    ddoc

    Se o bloqueio é definitivo, crie na tabela um campo Bloqueado sim/não

    Assim cada vez que se abrir esse form nesse registro as caixas de texto estarão bloqueada.

    Aqui está o código para bloquear e desbloquear(mudando o true para false) de todas as caixas de texto do formulário.

    Irá usar essa função tanto para abrir o formulário verificando o campo sim/não e no botão salvar.
    Código:

    Private Sub Comando10_Click()
    For Each ctl In Me.Controls
        If ctl.ControlType = acTextBox Then
          ctl.Locked = True
        End If
        I = I + 1
         
    Next
    End Sub


    A idéia e o código estão ai, bom proveito !!!

    Abraços
    avatar
    ddoc
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 77
    Registrado : 05/08/2011

    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  ddoc 26/2/2012, 13:21

    Private Sub Comando10_Click()
    For Each ctl In Me.Controls
    If ctl.ControlType = acTextBox Then
    ctl.Locked = True
    End If
    I = I + 1

    Next
    End Sub

    Eu tinha pensado em uma situação assim, colocando na tabela um campo bloqueado. Minha dúvida era saber em como alterar. Mas acho que esta é a resposta que fecha com meu entendimento. Agora, como uso o código?

    Coloco esse código no evento Abrir formulário?

    Código:
    Private Sub AbrirPesqPopup_Click()
    On Error GoTo Err_AbrirPesqPopup_Click

        Dim stDocName As String
        Dim stLinkCriteria As String

        stDocName = "Frm_PesqSatisf_Popup"
        DoCmd.OpenForm stDocName, , , stLinkCriteria

    Exit_AbrirPesqPopup_Click:
        Exit Sub

    Err_AbrirPesqPopup_Click:
        MsgBox Err.Description
        Resume Exit_AbrirPesqPopup_Click
       
    End Sub

    E como vincular o formulário popup com o formulário SAC? Em anexo o formulário popup. O Campo SAC (NrSac) tem que se vincular com o campo NrSac do formulário SAC. Se fosse um subform, eu não teria problemas em fazer. Mas com popup eu não consigo. E é essencial o vínculo, para que o comando que você sugeriu possa alterar na tabela SAC, pois o form popup salva os dados em outra tabela.


    E quanto ao salvar?
    O código do botão pelo assistente é esse:

    Código:
    Private Sub salvapesquisa_Click()
    On Error GoTo Err_salvapesquisa_Click


        DoCmd.RunCommand acCmdSaveRecord

    Exit_salvapesquisa_Click:
        Exit Sub

    Err_salvapesquisa_Click:
        MsgBox Err.Description
        Resume Exit_salvapesquisa_Click
       
    End Sub

    Onde adiciono?

    Pessoal, desculpe o trabalhão. Estou pesquisando, mas mesmo assim, fico limitado.





    avatar
    Convidad
    Convidado


    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  Convidad 26/2/2012, 14:18

    ddoc

    Vamos por partes, primeiro vamos acertar o bloqueio.

    No botão salvar:
    Código:

    Private Sub salvapesquisa_Click()
    On Error GoTo Err_salvapesquisa_Click
    dim ctl as control
    For Each ctl In Me.Controls
        If ctl.ControlType = acTextBox Then
          ctl.Locked = True
        End If
        I = I + 1
    Next
        Me.Bloqueado = True
        DoCmd.RunCommand acCmdSaveRecord

    Exit_salvapesquisa_Click:
        Exit Sub

    Err_salvapesquisa_Click:
        MsgBox Err.Description
        Resume Exit_salvapesquisa_Click
       
    End Sub

    Como o formulário é de pesquisa, creio que irá verificar vários registros com ele aberto, então é melhor colocar o evento No atual
    Dai então é só verificar se o campoBloquado = True para bloquear as caixa de texto e colocar o código que bloqueia as caixa de texto.
    Caso contrario:

    No evento ao Abrir do formulário:

    Código:

    Private Sub Form_Open(Cancel As Integer)
    if Dcount("idPesquisa","tblPesquisa","[CampoBloqueado] = True and [idPesquisa] = " & me.IdPesquisa)<>0 Then
    ' O Dcount é mais ou menos isso ai em cima, pode se tentar com o Dlookup
    ' Você pode testar ele na janela imediata.
      dim ctl as control
    For Each ctl In Me.Controls
        If ctl.ControlType = acTextBox Then
          ctl.Locked = False
        End If
        I = I + 1
    Next 

    Depois de acertarmos o bloqueio, iramos para o outro formulário, ok?
    Como não sei os nomes dos campos e controles, você deverá fazer os testes.
    No aguardo
    avatar
    ddoc
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 77
    Registrado : 05/08/2011

    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  ddoc 26/2/2012, 14:41

    Segue campos e tabelas...

    Código:
    [b]Tabela SAC - Tab_sacbd[/b]
    NrSac - Num. Automatica - Chave Primaria
    NrSacAnterior - Número
    Atendente - Número - Busca Tabela Funcionários
    DataEmissaoSac - Data/Hora
    IDCliente - número - Busca tabela clientes
    NomeClienteNcadastrado - Texto
    Telefone - Texto
    e-mail - Texto
    TipoAtendimento - número - busca tabela de tipo de atendimento
    Observações - campo memo
    Plataforma - número - busca tabela plataforma
    Produto - número -- busca tabela produtos
    Aprovado Cliente - Sim/Não
    DataEncerramento - Data/Hora
    Hora Encerramento - Data/Hora
    Reabertura - Sim/Não
    NrNovoSac - número

    [b]Tabela SAC Detalhe - TabSacDetalhe[/b]
    SacDetCod - número - chave privada
    NrSac - número - relaciona com NrSac Tab_sacbd
    Transcricao - memo - Registro da Reclamação
    ObsAtendInicial - memo - impressões do funcionário
    Data_Atend_inic - data/hora - Data inicial do atendimento
    NFVendaProduto - número - NF
    NrLote - número - número do lote de fabricação
    NrInmetro - número - número de rastreabilidade do inmetro
    DataEncerramAtendInicial - data/hora
    PlatInicial - número - busca tabela plataforma
    DataAbertPlatInicial - data/hora
    ObsPlatafInicial - memo
    DataEncerPlatInicial - data/hora
    RespPlataInicial - número -- busca tab funcionários
    PlatSec - número - busca tabela plataforma
    DataAbertPlatSec - data//hora
    ObsPlatafSec - memo
    DataEncerPlatSec - data/hora
    RespPlataSec - número - tabela funcionários
    SolucaoAplicada - memo
    DataComunCliente - data/hora
    ObsCliente - memo

    [b]Tabela Pesquisa Satisfação - TabPesqSatisf[/b]
    CodPesq - Chave primaria
    NrSac - número - relaciona com NrSac Tab_sacbd
    ConsideraAtendimento - texto - opções (dropdown)
    FoiAtendidoPlenamente - sim/não
    Motivo - memo
    OAtendimentoFoiRápido - sim/não
    RestouAlgumaDúvida - sim/não
    QuerComentar - sim/não
    Comentario - memo

    Em tempo, todas as tabelas recebem dados pelas consulta. A origem de dados dos formulários estão nas seguintes consultas (fiz assim, pois em pesquisa pela net vi que era mais rápido em ambiente multi-usuário):

    Tab_sacbd = CnsAddSac
    TabSacDetalhe = CnsAddSacDetalhe
    TabPesqSatisf = CnsAddPesqSatisf

    A tabela Tab_sacbd está em um formulário principal - Frm_Sac, sendo que a tabela TabSacDetalhe está em um subformulário - Frm_Sac_Detalhe, com vinculo pelo NrSac. A tabela TabPesqSatisf está no formulário Frm_PesqSatisf_Popup.

    Vou testar agora a informação que você enviou. Pelo que entendi vou ter que criar o campo bloqueado na tabela Tab_sacbd, certo? Vou testar...
    avatar
    ddoc
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 77
    Registrado : 05/08/2011

    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  ddoc 29/2/2012, 03:49

    Oi a todos os amigos,

    Resolvi de uma forma mais simples.

    Resolvi desistir do formulário popup.

    Fiz assim.

    Clonei os formulários que eu havia criado e bloqueei os campos.

    criei um campo de bloqueio de registro em cada tabela.

    criei uma macro que executa uma sql de update para alterar os bloqueios de não para sim.

    para poder visualizar os registros que eu queria ver nos formulários com bloqueio de registro, adicionei um critério na consulta. Pronto.

    Obrigado a todos! Como tenho dificuldade com VBA, resolvi fazer um caminho mais longo, mas chegando no mesmo destino.

    Conteúdo patrocinado


    [Resolvido]Operação com Formulário POPUP e bloqueio de formulário Empty Re: [Resolvido]Operação com Formulário POPUP e bloqueio de formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/11/2024, 13:15