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


    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    avatar
    Convidado
    Convidado


    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Convidado 16/1/2013, 01:20

    Amigos tenho esta SQL/VBA que funciona perfeitamente onde StrPath é o caminho do BD...

    StrCboUsuario = "SELECT * FROM tblUsuários IN '" & StrPath & "'"

    Pergunto.. como aplicar em uma SQL baseada em mais tabelas? Sei que com o Workspace dá.. mas utilizando a lógica acima é possível?

    Workspace
    Código:


    Set ws = DBEngine.Workspaces(0)
    Set db = ws.OpenDatabase(DirBancoDados & "\SysApac_Be.Accdb", False, False, "MS Access;PWD=senha")

                    StrSQLDetentos = ("SELECT * FROM Detentos")

    Set rs = db.OpenRecordset(StrSQLDetentos)


    StrCboUsuario = "SELECT tblUsuários.IdUsuario, tblUsuários.Login,
    tblUsuários.Senha, tblUsuários.Bloqueado, tblUsuários.IdGrupo,
    tblGrupos.Nivel" _
    & " FROM tblGrupos INNER
    JOIN tblUsuários ON tblGrupos.IdGrupo = tblUsuários.IdGrupo ORDER BY
    tblUsuários.Login;"


    Cumprimentos.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Re: [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Avelino Sampaio 16/1/2013, 06:43

    Olá

    Sabia que as SQl também trabalham com consultas ? Uma das opções é vc montar esta consulta no back-end e então carregá-la pela SQL. Exemplo:

    StrCboUsuario = "SELECT * FROM NomeDaConsulta IN '" & StrPath & "'"

    Outra opção:

    Dependendo aonde irá aplicar a SQL vc pode montar pelo recordset e usar o SET. Exemplo

    Para carregar um formulário

    SET me.recordset = rs

    Para carregar uma lista ou uma combobox

    SET me!lista.recordset = rs

    Sucesso!


    Última edição por Avelino Sampaio em 16/1/2013, 06:52, editado 1 vez(es)


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Re: [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Avelino Sampaio 16/1/2013, 06:51

    Agora, em todos esses casos se está trabalhando "Vinculado". Por que então não se trabalha direto com as tabelas vinculadas ?

    Ande vc está achando ganho de desempenho nisso ? Está perdendo é tempo, em ficar realizando malabarismo (risos). O Access foi feito para trabalhar com vinculos.

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Re: [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Convidado 16/1/2013, 10:31

    Eu entendo vossa colocação Mestre... Ocorre que esse sistema (Syspen) eu fiz totalmente desvinculado, e o estou adaptando a outro cliente... e acredite irá dá mais trabalho aplicar tabelas vinculadas do que desvincular o sistema de login....

    Agora me diga lá uma coisa... entre o vínculo de tabelas e o desvinculo em vossa opinião, qual é o melhor?

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Re: [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Convidado 16/1/2013, 10:47

    Boas novamente Avelino...

    Tentei assim e não deu certo, o que seria?


    '******************************************************************
    'FUNÇÕES DE CAREGAMENTO DA COMBO
    '******************************************************************

    'Carrega a ComBox's usadas no Form
    Private Sub CarregaCombo()
    Parametros_de_Inicializacao "SysApac.par"
    Dim Db As DAO.Database
    Dim Ws As DAO.Workspace
    Dim Rs As DAO.Recordset
    Dim NomeBD As String
    Dim StrPath As String
    Dim StrSQLUsuario As String


    Set Ws = DBEngine.Workspaces(0)
    Set Db = Ws.OpenDatabase(DirBancoDados & "\SysApac_Be.Accdb", False, False, "MS Access;PWD=senha")

    'ComBox CboUsuário
    StrSQLUsuario = "SELECT tblUsuários.IdUsuario, tblUsuários.Login, tblUsuários.Senha, tblUsuários.Bloqueado, tblUsuários.IdGrupo, tblGrupos.Nivel FROM tblGrupos" _
    & " INNER JOIN tblUsuários ON tblGrupos.IdGrupo=tblUsuários.IdGrupo ORDER BY tblUsuários.Login; "

    Set Rs = Db.OpenRecordset(StrSQLUsuario)

    Set cboUsuário.Recordset = Rs
    Me![cboUsuário].ColumnCount = 6
    Me![cboUsuário].ColumnWidths = "0cm;4cm;0cm;0cm;0cm;0cm"


    'Encerra a conexão
    Db.Close
    Set Db = Nothing

    End Sub



    Cumprimentos.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Re: [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Avelino Sampaio 16/1/2013, 13:17

    Experimente não encerrar a conexao

    Set Rs = Db.OpenRecordset(StrSQLUsuario)
    Set cboUsuário.Recordset = Rs
    Me![cboUsuário].ColumnCount = 6
    Me![cboUsuário].ColumnWidths = "0cm;4cm;0cm;0cm;0cm;0cm"
    'Encerra a conexão
    'Db.Close
    'Set Db = Nothing

    End Sub


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Convidado
    Convidado


    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Re: [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Convidado 16/1/2013, 14:12

    Boas Avelino, deu certo...

    Pergunto
    :
    1 - é necessário encerrar a conexão ao fechar o form ou ela é automaticamente encerrada ao fechar o mesmo?
    2 - Quais os prós e os contras comparando esse procedimento e a utilização de tabelas vinculadas?


    Cumprimentos.

    Conteúdo patrocinado


    [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado Empty Re: [Resolvido]Consulta baseada em duas tabelas (VBA) em Front-End Desvinculado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 05:35