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]Checkbox para Adicionar novas linhas

    Compartilhe

    daniel_rodopiano
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 31/12/2013

    [Resolvido]Checkbox para Adicionar novas linhas

    Mensagem  daniel_rodopiano em Seg 19 Mar 2018, 01:21

    Preciso criar um formulário onde preencheria dados de um produto e teria diversas checkboxes para cada procedimento a ser realizado sendo que algumas são grupos de procedimentos. A ideia seria ao selecionar o "procedimento A" e "Procedimento C" criar duas linhas na tabela com todos os dados do produto (repetidos) e na coluna chamada "Procedimento" adicionar por exemplo "Procedimento A" e outra linha com "Procedimento C" . Isso seria possível?
    avatar
    Maicon
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 110
    Registrado : 08/09/2012

    Acredito que seja possível.

    Mensagem  Maicon em Seg 19 Mar 2018, 06:25

    Amigo seja um pouco mais específico, diga que procedimento você se refere seria VBA ?
    Acredito que possas fazer uma consulta com base no seu formulário , criando uma consulta adição acrescentaria a tabela. Mas seria melhor postar um exemplo com o conceito do que gostaria de fazer ?

    daniel_rodopiano
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 31/12/2013

    Re: [Resolvido]Checkbox para Adicionar novas linhas

    Mensagem  daniel_rodopiano em Seg 19 Mar 2018, 12:17

    Então, o procedimento seria Procedimento da empresa mesmo e não um código.
    Tentando exemplificar com dados mais usuais seria como se eu tivesse um cadastro de Carros e uma lista de serviços a serem realizados na oficina e gostaria de cadastrar os dados de entrada do carro (Placa, modelo, cor, km, etc...) e no mesmo formulária marcar em um conjunto de checkboxes os serviços que realizaria no carro como: Troca de Óleo, Calibrar Pneu, Verificar Pastilhas, etc... e até então imagino uma tabela com as colunas "CodVeiculo" e "Serviço" onde o código veículo seria repetido diversas vezes de acordo com o número de serviços marcados em checkbox e então poderia realizar consultas como todos veículos para Troca de Óleo e etc... Eu precisaria separar os formulários completamente ou teria uma solução para isso?
    Obrigado!
    avatar
    Maicon
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 110
    Registrado : 08/09/2012

    Crie uma Tabela Serviço

    Mensagem  Maicon em Ter 20 Mar 2018, 06:06

    Mais ou menos assim crie uma tabela com todos os serviços tbl_servico , então inclua todos os serviços que deseja calibragem, abastecimento , troca de oleo.

    Em outra planilha  chamada por exemplo "tbl_Manutencao" incluiria os campos dessa forma :

    tbl_Manutencao
    id_Manutencao
    Veiculo " Aqui em dados você usa "Assistente de pesquisa" e aponta para a tabela veiculo e escolhe o veiculo.
    Servico " Aqui da mesma forma você escolhe "Assistente de pesquisa" e aponta para a tabela serviço e escolhe o campo serviço.

    Só atente para esses casos quando for referenciar a tabela manutenção em consultas retornará o valor da id_do servico e id_do veiculo deverá tomar cuidado nisso para que sejam exibidos os dados que deseja e não os números.

    veja : "https://www.juliobattisti.com.br/artigos/accbas/principal.asp" , site nosso mestre Julio Battisti , recomendo que estude bastante sobre a construção das tabelas isso ajuda para o banco não inchar mais que o necessário.
    veja: "https://support.office.com/pt-br/article/adicionar-ou-alterar-uma-coluna-de-pesquisa-75418a2b-7b32-430c-9fc0-23526f07fc35"

    fiz um exemplo bem básico veja : "https://drive.google.com/file/d/1uMcJ98jKw8465kqdwEnblg6-ZfH1zBFL/view?usp=sharing"

    daniel_rodopiano
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 31/12/2013

    Re: [Resolvido]Checkbox para Adicionar novas linhas

    Mensagem  daniel_rodopiano em Ter 20 Mar 2018, 17:54

    Maicon, obrigado!

    Agora uma dúvida... não consegui abrir o arquivo, estava solicitando senha aqui, tentarei mais tarde em casa.
    Não sei se ficou claro mas o problema é que imaginei o formulário da seguinte forma...
    Parte superior perguntando os dados do Carro como Placa, KM, etc...
    um grupo de check box para marcar os serviços a serem realizados então se um carro chegar apenas para troca de óleo marcaria troca de óleo e adicionaria uma linha CodVeiculo e CodServico um segundo poderia ter 4 serviços marcados e adicionaria 4 linhas na tabela com o mesmo CodVeiculo mas com CodServicos diferentes, mas o problema seria adicionar essas 4 linhas em um unico clique no formulário. No caso teria uns 30 serviços disponíveis em Checkbox e teria que adiconar entre 1 a 30 linhas dependendo do veículo que estava entrando... Seria mais ou menos isso, não sei se ficou claro.
    Obrigado!

    daniel_rodopiano
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 31/12/2013

    Re: [Resolvido]Checkbox para Adicionar novas linhas

    Mensagem  daniel_rodopiano em Qua 21 Mar 2018, 00:16

    Consegui abrir o exemplo agora, a ideia é essa quanto a estrutura, porém no formulário de cadastro dos serviços tinha pensado em marcar em check box cada serviço a ser realizado ao invés da lista suspensa.

    Mais uma vez obrigado
    avatar
    Maicon
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 110
    Registrado : 08/09/2012

    Só alterar o critério

    Mensagem  Maicon em Qui 22 Mar 2018, 05:04

    Basta criar regra com base nas list box ou check box ou qualquer outro campo que desejar o caminho é esse.
    Referencie ele e dará certo.

    daniel_rodopiano
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 31/12/2013

    Re: [Resolvido]Checkbox para Adicionar novas linhas

    Mensagem  daniel_rodopiano em Sab 24 Mar 2018, 16:54

    Consegui uma solução adaptada de outros exemplos que fui encontrando pelos fóruns, fiz um If para cada serviço na checkbox e a adição pelo VBA das linhas da seguinte forma, parece estar funcionando muito bem e ainda permite adicionar em uma segunda tabela, caso necessário.
    Dessa forma ele adiciona um registro novo com o mesmo CodVeiculo sempre e vai variando o valor do CodServico pelo VBA, simulei ai os valores 1,2,3,4,5,6 no exemplo que usei para testar.

    Obrigado!

    Código:
    Dim db As DAO.Database, Rs As DAO.Recordset
                        Set db = CurrentDb()
                        Set Rs = db.OpenRecordset("Manutencao")
                       
    If Me.cbA.Value = True Then
                      Rs.AddNew
                        Rs("CodVeiculo") = Me.CodVeiculo
                        Rs("CodServico") = "1"
                        Rs.Update
    End If

    If Me.cbB.Value = True Then
                      Rs.AddNew
                        Rs("CodVeiculo") = Me.CodVeiculo
                        Rs("CodServico") = "2"
                        Rs.Update
    End If
                       
    If Me.cbC.Value = True Then
                      Rs.AddNew
                        Rs("CodVeiculo") = Me.CodVeiculo
                        Rs("CodServico") = "3"
                        Rs.Update
    End If

    If Me.cbD.Value = True Then
                      Rs.AddNew
                        Rs("CodVeiculo") = Me.CodVeiculo
                        Rs("CodServico") = "4"
                        Rs.Update
    End If

    If Me.cbE.Value = True Then
                      Rs.AddNew
                        Rs("CodVeiculo") = Me.CodVeiculo
                        Rs("CodServico") = "5"
                        Rs.Update
    End If

    If Me.cbF.Value = True Then
                      Rs.AddNew
                        Rs("CodVeiculo") = Me.CodVeiculo
                        Rs("CodServico") = "6"
                                            Rs.Update

    End If

                        db.Close
                        Set db = Nothing
                        Set Rs = Nothing

      Data/hora atual: Ter 19 Jun 2018, 01:34