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]Carregar dados do Sub Formulário Desvinculado DB MySql.

    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  marcos_novack em 30/4/2019, 03:05

    Boa Noite!!!

    Estou com dificuldade em carregar os dados do subFormulário, o banco de dados é MySql, tenho 3 registro no sub, mas só carrega um registro.

    alguém poderia me mostrar o caminho das pedras?

    O código roda com duplo clique em um formulário de filtro aux.

    Código:
    Call Lista_Select_Sub_Encaixe("select * from tblSubEncaixe where Codigo_ID_Principal=" & str, Forms![frmEncaixe]![frmSubEncaixe].Form)
     

    Sub rotina que uso no formulário principal quero adaptar para subformulário.

    Código:
    Sub Lista_Select_Sub_Encaixe(cSql, ForMy)


        Call Conexao_Open(cSql)

        Dim FormAberto As Form
        Dim Controle As control

        Set FormAberto = ForMy

            For Each Controle In FormAberto
        
                If Controle.ControlType = acTextBox Or Controle.ControlType = acComboBox Then
        
                    rs(Controle.Name) = FormAberto.Controls(Controle.Name).Value
        
                End If

            Next
        
        rs.Close    'Encerra a conexão com o recordeset
        Cn.Close    'Encerra a conexão com a base de dados

    End Sub

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Telaen10
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  marcos_novack em 1/5/2019, 23:42

    Então, é minha primeira vez que trabalho com formulário desvinculado.

    O sub formulário não assume a sua função de continuo sem uma tabela vinculada, não adiciona novo registro, preciso de orientação de qual configuração tenho que fazer para poder usá-lo normalmente como quando tem tbl vinculada.

    alguém sabe como resolver isso?

    Código:
    Sub Lista_Select_Sub_Encaixe(cSql, ForMy)

        Call Conexao_Open(cSql)
            
            For i = 1 To rs.RecordCount
                            
              [Forms]![frmEncaixe].Form![frmSubEncaixe].SetFocus
              [Forms]![frmEncaixe].Form![frmSubEncaixe]![codmalha] = rs("codmalha").Value ' Quando funcionar acrescento os demais campos
              DoCmd.GoToRecord , , acNewRec
            
        rs.MoveNext
        
      Next
        rs.Close    'Encerra a conexão com o recordeset
        Cn.Close    'Encerra a conexão com a base de dados
     
    End Sub
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  marcos_novack em 1/5/2019, 23:58

    Tem alguém aqui que trabalha com subformulário desvinculado?
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  marcos_novack em 3/5/2019, 03:37

    Boa noite!!

    Bem, como não tive sucesso com sub formulário continuo desvinculado, estou usando outra técnica, que usa o sub formulário apenas para alterar incluir e excluir apenas um registro de cada vez como um formulário simples...

    segue imagem que ilustra o que estou dizendo;

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Telaen11

    Caso algum companheiro tenha uma experiência diferente e queria compartilhar fique a vontade, todo conhecimento é bem vindo!

    Saudações
    Marcos Novack
    Avelino João
    Avelino João
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 298
    Registrado : 10/03/2012

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  Avelino João em 4/5/2019, 21:27

    Boa Noite, gostaria saber qual a finalidade de quer usar subformulario, si é para consulta aconselho a usar listbox ou listview.


    .................................................................................
    Proaccess - Angola
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty RE:

    Mensagem  marcos_novack em 5/5/2019, 14:00

    Bom dia Avelino

    Originalmente quando trabalho com tabela vinculada esse formulário tem as relações de tabela 1 pra muitos, uma referências tem mais de um encaixe, então o usuário podia ir adicionando quantos encaixes queria para referência.

    Agora com as tabelas desvinculadas, essa lógica não consigo aplicar no sub, ele não abre mais que um registro.

    Então fiz essa adaptação adicionando um registro por vez e visualizando todos os encaixes nas listbox.

    Para atualizar ou excluir selecionou registro na listbox , que carrega o sub para atualizar os dados ou excluir.

    Foi essa a forma que encontrei.

    Teria uma forma melhor para implementação deste formulário?

    A finalidade do sub é para inserir, alterar e excluir.

    Obrigado pela atenção.
    Avelino João
    Avelino João
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Angola
    Mensagens : 298
    Registrado : 10/03/2012

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  Avelino João em 5/5/2019, 21:09

    Não é muito aconselhavel trabalhar com Subformulario quando se trabalha desvinculado, eu normalmente uso dessa forma que estas usar mais com txtbox e a função Visible = False / Visible = True.


    .................................................................................
    Proaccess - Angola
    marcelo3092
    marcelo3092
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 154
    Registrado : 19/08/2010

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  marcelo3092 em 6/5/2019, 00:32

    Boa noite amigo vejo que esta usando o codigo da Kartofel né tb estava usando ele.
    Para que carregue um subformulario e necessario carregar uma tabela temporaria para que exibi os registros.

    No caso vc queria que no subformulario fosse exibido somente dados especificos ou todos os dados pois o código abaixo tras os dados do mysql para uma tabela access


    Public Function Carrega_Clientes()

    Dim objRSC As DAO.Recordset

    Call Conexao_Open("select * from tblcliente;") ' pega os dados da tabela clientes no mysql sem filtro ele abre carregando todos clientes.

    ' Ele deleta a tabela para ficar limpa
    CurrentDb.Execute "delete * from temp_Cliente_Login;"

    ' Abre a tabela novamente e adiciona os dados novamente
    Set objRSC = CurrentDb.OpenRecordset("temp_Cliente_Login", , Cool

    While (Not rs.EOF)

    ' aqui vai os campos tanto da tabela no access quanto no mysql de preferencia que seja o mesmo nome com os mesmos tipos de dados.


    objRSC.AddNew
    objRSC.Fields("Cod_Cliente").Value = rs.Fields("Cod_Cliente").Value
    objRSC.Fields("Status").Value = rs.Fields("Status").Value
    objRSC.Fields("Razao_Social").Value = rs.Fields("Razao_Social").Value
    objRSC.Fields("CNPJ_CPF").Value = rs.Fields("CNPJ_CPF").Value
    objRSC.Fields("Senha").Value = rs.Fields("Senha").Value


    objRSC.Update

    rs.MoveNext 'vai para o proximo registro


    Wend

    rs.Close 'fecha o recorset
    cn.Close 'fecha o banco de dados

    Rem fechando a tabela temporária aberta na memória do vba
    objRSC.Close: Set objRSC = Nothing

    End Function

    Chama ela usando Call Carrega_Clientes

    Agora se você quiser pegar somente um cliente especifico. Usa com filtro


    vc pode colocar esse código ao abrir um formulário por exemplo.


    Public Function Carrega_Clientes()
    On Error Resume Next


    Dim objRSC As DAO.Recordset


    Call Conexao_Open("select * from tblcliente where CNPJ_CPF=" & Me.txtlogin) ' aqui vai o filtro para o cliente especifico como pra mim um cpnj digitado


    CurrentDb.Execute "delete * from temp_Cliente_Login;"


    Set objRSC = CurrentDb.OpenRecordset("temp_Cliente_Login", , Cool


    While (Not rs.EOF)


    objRSC.AddNew
    objRSC.Fields("Cod_Cliente").Value = rs.Fields("Cod_Cliente").Value
    objRSC.Fields("Status").Value = rs.Fields("Status").Value
    objRSC.Fields("Razao_Social").Value = rs.Fields("Razao_Social").Value
    objRSC.Fields("CNPJ_CPF").Value = rs.Fields("CNPJ_CPF").Value
    objRSC.Fields("Senha").Value = rs.Fields("Senha").Value
    objRSC.Fields("Limite_Credito").Value = rs.Fields("Limite_Credito").Value
    objRSC.Fields("Desconto").Value = rs.Fields("Desconto").Value
    objRSC.Fields("Tipo_Cliente").Value = rs.Fields("Tipo_Cliente").Value
    objRSC.Fields("Endereco").Value = rs.Fields("Endereco").Value
    objRSC.Fields("N").Value = rs.Fields("N").Value
    objRSC.Fields("Bairro").Value = rs.Fields("Bairro").Value
    objRSC.Fields("Cep").Value = rs.Fields("Cep").Value
    objRSC.Fields("Cidade").Value = rs.Fields("Cidade").Value
    objRSC.Fields("UF").Value = rs.Fields("UF").Value
    objRSC.Fields("Telefone1").Value = rs.Fields("Telefone1").Value
    objRSC.Fields("C_Endereco").Value = rs.Fields("C_Endereco").Value
    objRSC.Fields("C_N").Value = rs.Fields("C_N").Value
    objRSC.Fields("C_Cep").Value = rs.Fields("C_Cep").Value
    objRSC.Fields("C_Cidade").Value = rs.Fields("C_Cidade").Value
    objRSC.Fields("C_UF").Value = rs.Fields("C_UF").Value
    objRSC.Fields("C_Telefone1").Value = rs.Fields("C_Telefone1").Value
    objRSC.Fields("C_Contato").Value = rs.Fields("C_Contato").Value
    objRSC.Fields("C_Email").Value = rs.Fields("C_Email").Value
    objRSC.Fields("Aviso_Sonoro").Value = rs.Fields("Aviso_Sonoro").Value
    objRSC.Update

    rs.MoveNext 'vai para o proximo registro


    Wend

    rs.Close 'fecha o recorset
    cn.Close 'fecha o banco de dados

    Rem fechando a tabela temporária aberta na memória do vba
    objRSC.Close: Set objRSC = Nothing


    End Function


    Porem modifiquei tambem usando listbox nos meus e o procedimento que uso para fazer um recorset uso as Store procedure que ao em vez de vc fazer o recordset no programa vc faz no servidor somente passando o parametro para ele e ele retorna a resposda e carrega a listbox aliviando assim a memoria do programa.

    uma dica e se por ventura no cadastro vc for usar alguma combox para ela carrega vc tem que mudar o modulo parametros dados



    '---------------------------------------------------------------------------------------
    ' PROCEDIMENTO: Lista_Select
    ' DESCRIÇÃO: Carrega o registro selecionado
    '---------------------------------------------------------------------------------------

    Public Sub Lista_Select(csql, Formy)


    Call Conexao_Open(csql)

    Dim FormAberto As Form
    Dim Controle As control

    Set FormAberto = Forms(Formy)

    For Each Controle In FormAberto
    If Controle.Tag = 2 Then
    If Controle.ControlType = acTextBox Then

    FormAberto.Controls(Controle.Name) = rs(Controle.Name).Value

    'ElseIf Controle.ControlType = acListBox Then

    'FormAberto.Controls(Controle.Name) = rs(Controle.Name).Value

    ElseIf Controle.ControlType = acComboBox Then

    FormAberto.Controls(Controle.Name) = rs(Controle.Name).Value

    End If
    End If

    Next

    rs.Close 'Encerra a conexão com o recordeset
    cn.Close 'Encerra a conexão com a base de dados




    End Sub

    Por ele vem com padrao para somente carregar campos Textbox

    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  marcos_novack em 6/5/2019, 17:03

    boa tarde!!

    Agradeço imensamente as dicas dos senhores, vou analisar a situação e ver qual se adéqua ao meu caso, depois posto o que foi implementado.

    abraço!
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty [RESOLVIDO]

    Mensagem  marcos_novack em 7/5/2019, 02:24

    boa noite.

    Pelos meus teste vou ficar com a List box. (interatividade entre Sub e List Box)

    obrigado aos colegas pelo esclarecimento das minhas duvidas.

    resolvido!

    form.
    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Frmenc10
    marcos_novack
    marcos_novack
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 19/01/2011

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  marcos_novack em 10/5/2019, 15:17

    Resolvido.

    Conteúdo patrocinado

    [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql. Empty Re: [Resolvido]Carregar dados do Sub Formulário Desvinculado DB MySql.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/7/2019, 08:06