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


3 participantes

    [Resolvido]Onde por o operador IN na SQL?

    avatar
    Convidad
    Convidado


    [Resolvido]Onde por o operador IN na SQL? Empty Onde por o operador IN na SQL?

    Mensagem  Convidad 4/4/2012, 19:50

    Amigos, em uma consulta sql no vba, onde tenho várias tabelas, onde por o operar IN?
    Pois minha consulta tem que pegar dados em um banco exteno.

    Grato
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  criquio 4/4/2012, 19:52

    Já deu uma olhada na sala de Códigos VBA e Sql?


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    avatar
    Convidad
    Convidado


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Convidad 4/4/2012, 20:05

    Sim olhei vi alguns casos que até usam o IN mas em apenas em consulta de uma tabela.
    A minha é a seguinte:

    Dim Cam As String
    Dim BD As DAO.Database
    Dim strSQL As String
    Dim F As String
    F = Me.txtBusca.Text

    Cam = Application.CurrentProject.Path & "\Dados1.1.accdb"
    Set BD = DBEngine.Workspaces(0).OpenDatabase(Cam, False, False, "MS Access;PWD=")




    strSQL = "SELECT tbProdutos.IdProduto, tbProdutos.Produto, tbCatProdutos.Categoria, tbProdutos.Preco, tbFornecedores.NomeFantasia, tbProdutos.DtCadastro FROM tbFornecedores INNER JOIN (tbCatProdutos INNER JOIN tbProdutos ON tbCatProdutos.IdCategoria = tbProdutos.CategoriaId) ON tbFornecedores.IdFornecedor = tbProdutos.FornecedorId WHERE (((Produto) Like '" & F & "*')) ORDER BY Produto;"

    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Alexandre Neves 4/4/2012, 20:33

    Boa tarde, Marcos

    O operador IN para enumerar dados que coincidam com campo
    Exemplos:
    1 - ... WHERE Campo1 IN (SELECT Campo2 FROM Tabela2...)
    O SELECT devolve o Campo2
    A cláusula WHERE filtra os valores do Campo1 que estejam contidos no Campo2

    2 - SELECT ... FROM Tabela1 WHERE Campo1 IN ('1','2')
    A cláusula WHERE filtra os valores do Campo1 que sejam '1' ou '2'
    avatar
    Convidad
    Convidado


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Convidad 4/4/2012, 20:51

    Alexandre, mas estou com o banco aberto via DAO. Será que é possível apenas por algo assim:

    IN" & " '" & MeuCaminho & "'" & "

    Mas não sei onde por.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Alexandre Neves 4/4/2012, 21:22

    Mas o que quer? ainda não percebi.
    É que sendo em base de dados externa, a cláusula IN também pode ser o caminho da bd externa
    - ... IN 'C:\...'

    Descreva o que pretende para começarmos a discernir.
    avatar
    Convidad
    Convidado


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Convidad 4/4/2012, 21:25

    Na mensagem 3, eu pus toda a SQL usada no vba para abrir localmente.

    Minha dúvida é como execultar a mesma consulta mas sendo em um um back-end desvinculado.


    (pois várias pessoas irão usar a mesma base de dados, e é melhor desvincular)

    avatar
    Convidad
    Convidado


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Convidad 5/4/2012, 09:18

    não sei se funciona, mas a instrução é mais ou menos assim;


    strSQL = "SELECT tbProdutos.IdProduto, tbProdutos.Produto, tbCatProdutos.Categoria, tbProdutos.Preco, tbFornecedores.NomeFantasia, tbProdutos.DtCadastro" _
    & " FROM tbFornecedores" _
    & " IN 'C:\Dados1.1.accdb'" _
    & " INNER JOIN (tbCatProdutos INNER JOIN tbProdutos ON tbCatProdutos.IdCategoria = tbProdutos.CategoriaId)" _
    & " ON tbFornecedores.IdFornecedor = tbProdutos.FornecedorId" _
    & " WHERE (((Produto) Like '" & F & "*')) ORDER BY Produto;"
    avatar
    Convidad
    Convidado


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Convidad 5/4/2012, 13:02

    Grato Miguel, mas infelismente não funcionou. Inclusive eu já tinha feito um teste assim...
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Avelino Sampaio 5/4/2012, 13:33

    Olá

    Veja se este tópico ajuda:

    http://comunidade.itlab.com.br/eve/forums/a/tpc/f/273606921/m/1121000932?r=7221030932#7221030932

    Sucesso!


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


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Convidad 5/4/2012, 13:53

    Obrigado Avelino, mas como usar esses dados para popular uma listbox? Não posso usar o Add, tem que ser por origem da linha, pois tenho milhares de registros e já ouvi falar que o o Add trava se tiver muitos registro.

    Grato
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Avelino Sampaio 5/4/2012, 15:36

    Fiz um teste aqui no meu Maestro e carregou a lista direitinho:

    Me!Lista8.RowSource = "SELECT códigoDocliente FROM tblpedidos IN '' [;DATABASE=c:\maestro\maestro_v3_be.accdb;PWD=a1234];"


    Sucesso!


    .................................................................................
    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 : 3883
    Registrado : 04/04/2010

    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Avelino Sampaio 5/4/2012, 15:46

    Veja uma outra forma de carregar a lista:

    Código:
    Private Sub Form_Load()
    Dim bd As DAO.Database
    Dim rs As DAO.Recordset
    Set bd = OpenDatabase("c:\maestro\maestro_v3_be.accdb", False, False, ";pwd:=a1234")
    Set rs = bd.OpenRecordset("SELECT códigoDocliente FROM tblpedidos;")
    Set Me!Lista8.Recordset = rs 'O segredinho aqui é o SET no início
    End Sub

    Sucesso!


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


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Convidad 5/4/2012, 17:07

    Perfeito Avelino, deu certo!

    Muito obrigado.

    Conteúdo patrocinado


    [Resolvido]Onde por o operador IN na SQL? Empty Re: [Resolvido]Onde por o operador IN na SQL?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 16/5/2024, 07:25