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


    Salvar registro por DAO sem digitar todos os campos no vba

    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 31/01/2014

    Salvar registro por DAO sem digitar todos os campos no vba Empty Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  wilflx2 em 23/8/2018, 02:43

    Boa noite aos grandes mestres!

    Venho mais uma vez pedir ajuda em uma questão que vi por esses dias mas me passou batido.
    Em algum site americano que não me lembro qual, continha um codigo VBA usando a biblioteca DAO para salvar registros na tabela, porem sem digitar todos os campos como fazemos.

    Exemplo de código:

    Dim db As DAO.Database
       Dim rs As DAO.Recordset
       Set db = CurrentDb()
       Set rs = db.OpenRecordset("tabPEItem", dbOpenDynaset)

       With rs
           .AddNew
               !Ncontrole = Ncontrole 'O primeiro campo é o da tabela, o segundo é o do formulario
               !DataPedido = DataPedido
               !Ano = Ano
               !PedidoParaMes = PedidoParaMes
               !Paciente = Paciente
               !DataNasc = DataNasc
               !Prontuario = Prontuario
               !TipoExame = TipoExame
               !MedicoSolic = MedicoSolic
               !StatusPend = StatusPend
               !StatusAuto = StatusAuto
               !StatusNaoAuto = StatusNaoAuto
                                     
           .Update
       .Close
       End With
       Set rs = Nothing

    O código pelo que entendi, grava na tabela indicada os valores dos campos do formulário que tem os nomes iguais aos da tabela, então ao invés de digitar campo por campo, usa-se o Ctrl do formulário. Tem um modelo de Modulo que limpa campos que peguei aqui no fórum, apenas dando um call na função ele limpa todos os campos do formulário ativo, seria algo igual.
    Me desculpe pela linguagem leiga, não me lembro bem, se estiver dizendo algo errado, peço que me corrijam.
    Alguém já viu esse tipo de código?
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

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

    Salvar registro por DAO sem digitar todos os campos no vba Empty Re: Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  Alexandre Fim em 10/9/2018, 17:32

    Ola Willian,

    Sua dúvida não ficou bem clara.

    Você que uma rotina que grave os dados na tabela através dos controles do form ou você quer uma function que limpe todos os controles do form?

    []'s
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

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

    Salvar registro por DAO sem digitar todos os campos no vba Empty Re: Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  Alexandre Fim em 10/9/2018, 18:05

    Segue exemplo de uma function que limpa os objetos do form.

    Boa sorte

    []'s
    Anexos
    Salvar registro por DAO sem digitar todos os campos no vba AttachmentManipulandoControles.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (43 Kb) Baixado 11 vez(es)
    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 31/01/2014

    Salvar registro por DAO sem digitar todos os campos no vba Empty Re: Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  wilflx2 em 12/9/2018, 06:05

    Ola Alexandre Fim,

    Desculpe se não fui claro, vou tentar explicar melhor.
    Seguinte, cheguei a ver um codigo vba onde no botão Salvar, onde para cada campo com o mesmo nome na tabela ele salva os valores usando DAO.
    Ele usa um começo assim:

    Dim ctl As Control
    For Each ctl In Frm.Controls
    Select Case ctl.ControlType

    Ele captura os valores dos campos e salva na tabela nos campos que tem os nomes iguais aos do campo do Form, não tendo que digitar todo o codigo, campo por campo.

    E por ai vai, sei que minha duvida é muito vaga e explicar sem ter uma base é complicado, mas quem sabe alguém já não viu algo assim.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

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

    Salvar registro por DAO sem digitar todos os campos no vba Empty Re: Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  Alexandre Fim em 12/9/2018, 14:24

    Bom dia Will,

    Para cada campo da tela você pode utilizar a Propriedade Marca (Tag) e atribuir valor pra cada um.
    Essa Tag servirá como um "índice" do campo onde você pode atribuir o valor do campo com o índice de uma collection.

    Fiz essa implementação no form "frmCadCliente"

    Segue o exemplo.

    Espero ter ajudado.

    []'s
    Anexos
    Salvar registro por DAO sem digitar todos os campos no vba AttachmentManipulandoControles_NOVO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 18 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

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

    Salvar registro por DAO sem digitar todos os campos no vba Empty Re: Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  Alexandre Fim em 13/9/2018, 00:35

    Olá Will,
    Testou o exemplo? Deu certo?
    avatar
    wilflx2
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 31/01/2014

    Salvar registro por DAO sem digitar todos os campos no vba Empty Re: Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  wilflx2 em 18/9/2018, 18:59

    Alexandre Fim

    Grande!! É bem isso que procuro!
    Porem não entendi a busca sSQL, ele se baseia nela para inserir os dados na tabela?

    Conteúdo patrocinado

    Salvar registro por DAO sem digitar todos os campos no vba Empty Re: Salvar registro por DAO sem digitar todos os campos no vba

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 13/12/2019, 05:37