MaximoAccess

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

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Criação de checklist de campos de um formulário

    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 15/2/2020, 19:46

    Saudações!

    Sou iniciante em Access, tenho aprendido bastante por aqui, agradeço a todos o compartilhamento de conhecimento.
    Tenho um formulário cujos campos caixas de texto (a grande maioria) e algumas caixas de combinação. Eu inseri nele várias caixas de seleção. Eu gostaria que, à medida que eu fosse preenchendo os campos as caixas de seleção fossem sendo "ticadas", de forma que, ao completar o preenchimento, eu visualizasse todas as caixas de seleção marcadas (ticadas).
    Agradeço a todos que puderem ajudar.

    Abraços.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 13/12/2016

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Alexandre Fim em 17/2/2020, 19:03

    Ola Thearles,

    Fiz um pequeno exemplo de checklist de campos.

    Segue:

    [Resolvido]Criação de checklist de campos de um formulário Checkl10


    OBS.: Após carregar o frmCheckList, pressione ALT+F11 e veja o código-fonte com os comentários de cada procedimento.

    Boa sorte.
    Anexos
    [Resolvido]Criação de checklist de campos de um formulário AttachmentCheckListCampo.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (26 Kb) Baixado 12 vez(es)


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 17/2/2020, 20:46

    Boa tarde Alexandre Fim!

    Desde já agradeço por ter respondido. O seu exemplo é exatamente o que eu desejo.
    Fiz a leitura do código e tentei adaptar para o meu BD, mas ao executar recebo a mensagem de erro: Erro de compilação: Tipo incompatível de argumento ByRef.

    Saberia informar onde estou "comendo pança"?

    Muito obrigado.

    Public Sub Verifica()
    Dim ctrl As Control

       For Each ctrl In Me.Controls
           'Se o tipo de controle for caixa de texto ou caixa de combinação,
           'então pegue sua TAG (propriedade "Marca" do campo)
           If TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then
               i = ctrl.Tag
               If Trim(ctrl.Value) <> Empty Or Not IsNull(ctrl.Value) Then  'Se o controle não for vazio e nem nulo
                   Call CheckList(i, True)                                  'chama o procedimento CheckList passando 2 parâmetros
               Else
                   Call CheckList(i, False)
               End If
           End If
       Next ctrl


    End Sub
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 13/12/2016

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Alexandre Fim em 18/2/2020, 04:02

    Provavelmente, este erro foi gerado pq vc precisa numerar cadas campo através da propriedade "Marca" e relacionar seu respectivo checkbox. Veja o detalhe abaixo:

    [Resolvido]Criação de checklist de campos de um formulário Check10


    Espero ter ajudado.

    Boa sorte.


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 18/2/2020, 16:25

    Boa tarde Alexandre Fim!
    Obrigado pelo retorno.

    Eu não havia numerado cada campo através da propriedade "Marca", mas a relação com o checkbox já estava feita. O código ficou assim:

    'Verifica quais os tipos de controles da tela (textbox = caixa de texto / combobox = caixa de combinação)
    '
    Public Sub Verifica()
    Dim ctrl As Control

       For Each ctrl In Me.Controls
           'Se o tipo de controle for caixa de texto ou caixa de combinação,
           'então pegue sua TAG (propriedade "Marca" do campo)
           If TypeOf ctrl Is TextBox Or TypeOf ctrl Is ComboBox Then
               i = ctrl.Tag
               If Trim(ctrl.Value) <> Empty Or Not IsNull(ctrl.Value) Then  'Se o controle não for vazio e nem nulo
                   Call CheckList(i, True)                                  'chama o procedimento CheckList passando 2 parâmetros
               Else
                   Call CheckList(i, False)
               End If
           End If
       Next ctrl


    End Sub

    Public Sub CheckList(nTag As Integer, checked As Boolean)
         
       Select Case (nTag)
           Case 1: checklist1.Value = checked 'se o campo estiver preenchido, marque como Checked (True) ou Unchecked (False)
           Case 2: checklist2.Value = checked
           Case 3: checklist3.Value = checked
           Case 4: checklist4.Value = checked
           Case 5: checklist5.Value = checked
           Case 6: checklist6.Value = checked
           Case 7: checklist7.Value = checked
           Case 8: checklist8.Value = checked
           Case 9: checklist9.Value = checked
           Case 10: checklist10.Value = checked
           Case 11: checklist11.Value = checked
           Case 12: checklist12.Value = checked
           Case 13: checklist13.Value = checked
           Case 14: checklist14.Value = checked
           Case 15: checklist15.Value = checked
       End Select

    End Sub


    Porém, o erro persiste.
    Call CheckList(i, True)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 13/12/2016

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Alexandre Fim em 18/2/2020, 17:26

    Thearles,

    Os controles do teu form são textbox e combobox? ou tem outro tipo de controle?

    Se possivel , poste aqui o seu banco de dados (somente partes envolvidas) para análise e solução do problema.

    Obrigado.

    Att,


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 19/2/2020, 02:02

    Saudações, Alexandre Fim!

    Este é o link para o banco de dados: https://ths.box.com/s/axbbbtx0h5ckg2betzaoguo0i33rgfth

    Antes de abrir os formulários, abra a tabela "Dados" e, na coluna "LocalFoto", corrija o endereço físico das imagens, para o formulário poder funcionar com menos erros.
    Bom, ao abrir o banco de dados (formulário "Acessar") você verá que tenho um outro erro (Erro em tempo de execução '94': Uso de "Null" inválido), que ainda não consegui resolver, mas se quiser pode priorizar o assunto do tópico do fórum, apenas. Clique em "Fim".
    Com "Acessar" aberto, clique duas vezes sobre a primeira linha da Caixa de Listagem, para abrir o formulário "Editar".
    Você já verá a mensagem de erro.
    Caso consiga abrir, por este método, o formulário "Editar", será preciso clicar sobre o ícone no canto superior esquerdo (o quarto ícone da esquerda para a direita) para poder editar os dados.
    As caixas de seleção estão na página "Verificação dos dados", no formulário "Editar".
    Qualquer dúvida, poste aqui, por favor.

    Muito obrigado, por tudo.
    Abraços!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 13/12/2016

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Alexandre Fim em 19/2/2020, 17:26

    Olá Thearles,

    Na tabela "Dados", no campo "LocalFoto", para não gerar erro eu fiz a seguinte:

    [Resolvido]Criação de checklist de campos de um formulário Localf10

    Neste campo eu coloquei somente a descrição da pasta e do arquivo (Ex.: \Imagens\000002.jpg), porque o diretório do banco de dados fica armazenado em uma variável que representa o banco de dados, chamada "CurrentProject" e também a propriedade "Path" desta variável, ou seja, "CurrentProject.Path" (CurrentProject = Projeto atual / Path = Caminho)

    Mesmo que vc mude o arquivo de diretório, o sistema vai rodar normalmente, sem que voce necessite de alterar o caminho da imagem.
    OBS.: a pasta "Imagens" deve estar na mesma pasta do sistema senão vai gerar erro.

    E o erro da linha "Call CheckList(i, True) era porque faltou voce declarar a variaável "i" (Dim i as Integer).

    É isso!!!

    Espero ter ajudado.

    Boa sorte!!!
    Anexos
    [Resolvido]Criação de checklist de campos de um formulário AttachmentDatabase_v2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (156 Kb) Baixado 9 vez(es)


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 2/3/2020, 20:47

    Boa tarde Alexandre Fim!

    Agradeço muitíssimo pela ajuda, valeu demais, está quase perfeito.
    O código está retornando erro  quando o campo que armazena o endereço da imagem (LocalFoto) está vazio (Erro em tempo de execução '2220': O Microsoft Access não pode abrir o arquivo ...).
    A ideia era que ele exibisse a imagem SemImagem.jpg, que está dentro da pasta Imagens, quando LocalFoto estiver vazio.

    Private Sub lst_nomes_AfterUpdate()
       If IsNull(Me.LocalFoto) Or Me.LocalFoto = "" Then
           Me.Foto.Picture = CurrentProject.Path & "\Imagens\SemImagem.jpg"
       Else
           Me.Foto.Picture = CurrentProject.Path & "\" & Me.lst_nomes.Column(Cool
       End If
    Dim StrName As String
    End Sub

    Agradeço se puder ajudar.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 13/12/2016

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Alexandre Fim em 3/3/2020, 03:05

    Olá Thearles,
    Você pode incluir no seu form a imagem "SemImagem.jpg" como padrão e quando algum registro tiver a imagem, vc esconde a "SemImagem.jpg". Desta forma, vc não fica na dependência desta imagem na pasta.

    Espero ter ajudado.



    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 3/3/2020, 03:13

    Saudações Alexandre Fim!

    Obrigado pelo retorno. Eu vinculei uma imagem à caixa de imagem, ela está sendo exibida por padrão, assim que abro o formulário. Porém, o código precisa ser reescrito, pois a mensagem de erro continua aparecendo.

    Agradeço se puder ajudar.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 13/12/2016

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Alexandre Fim em 3/3/2020, 18:32

    Se a imagem "SemImagem.jpg" já aparece como padrão, então você só deve tratar a exceção, ou seja, quando algum registro possuir o endereço da imagem, do contrário, mantém a imagem padrão.
    Faça assim:

    Código:


     Private Sub lst_nomes_AfterUpdate()

        If Not IsNull(Me.LocalFoto) Or Trim(Me.LocalFoto) <> Empty Then
            Me.Foto.Picture = CurrentProject.Path & "\" & Me.lst_nomes.Column(0)
        End If
       
        '-----------------------------------------------------------------------------------
        'OBSERVAÇÃO:
        'Verifique esta declaração de variável. Ela não está sendo usada neste contexto.
        'Declaração de variaveis são feitas após o Private Sub (topo)
        Dim StrName As String
        '-----------------------------------------------------------------------------------
       
    End Sub

    Espero ter ajudado.


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 3/3/2020, 22:57

    Saudações Alexandre Fim!

    Analisei o código, e cheguei à conclusão de que ele deveria olhar se a coluna da caixa de listagem estava vazia, e não o campo da tabela (no caso Me.LocalFoto). Realizei as alterações, e tudo funcionou com perfeição.
    O código ficou assim:

    Private Sub lst_nomes_AfterUpdate()
    Dim StrName As String
    If IsNull(Me.lst_nomes.Column(Cool) Or Me.lst_nomes.Column(Cool = "" Then
    Me.Foto.Picture = CurrentProject.Path & "\Imagens\SemImagem2.jpg"
    Else
    Me.Foto.Picture = CurrentProject.Path & "\" & Me.lst_nomes.Column(Cool
    End If
    End Sub


    Só tenho a lhe agradecer. Muitíssimo obrigado! Abraços.
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 3/3/2020, 23:03

    Cool
    Thearles
    Thearles
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 31
    Registrado : 26/12/2011

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Thearles em 3/3/2020, 23:04

    Razz
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1028
    Registrado : 13/12/2016

    [Resolvido]Criação de checklist de campos de um formulário Empty Re: [Resolvido]Criação de checklist de campos de um formulário

    Mensagem  Alexandre Fim em 5/3/2020, 17:56

    Valeu Thearles... cheers cheers

    Boa sorte e sucesso !!!


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.

      Data/hora atual: 10/8/2020, 06:54