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


2 participantes

    Exibir consultas SQL feitas em Access

    luizsd942
    luizsd942
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 10/03/2014

    Exibir consultas SQL feitas em Access Empty Exibir consultas SQL feitas em Access

    Mensagem  luizsd942 1/4/2014, 18:55

    Olá,
    Estou tentando fazer um Select no VBA e exibir o resultado, seja em uma folha de dados, uma ViewPreview.
    O meu código está da seguinte maneira na função Function ConsultaSQL(codS):

    Function ConsultaSQL(codS As Integer)
       Dim connector As ADODB.Connection
       Dim rs As ADODB.Recordset
       Dim SQL As String
       
       Set connector = New ADODB.Connection
       connector.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = H:\Projeto Acces\bdAltAdm.mdb;"
       
       'Verifica se a conexão foi efetivamente efetuada
       If connector.State = adStateOpen Then
           'MsgBox " Conexão ativa "
       Else
           MsgBox " Não foi possível efetuar a Conexão com o banco de dados! "
       End If
           
       Set rs = New ADODB.Recordset
       rs.ActiveConnection = connector
       
       rs.Open "TEL"
       
       Set rs = connector.Execute("SELECT NOME, EMPRESA FROM TEL where situacao = codS;")
       SQL = SQL & rs("NOME") & " - " & rs(EMPRESA)
       'Do While rs.NextRecordset
       '   SQL = SQL & rs("NOME") & " - " & rs(EMPRESA)
       'Loop
       

           rs.Close
       
       ConsultaSQL = SQL
       
       Set rs = Nothing

       connector.Close
       Set connector = Nothing

    End Function

    -------------------------------
    e faço a chamada da função:

    Private Sub Comando2_Click()

    Dim teste As Integer

    me.nomeResult = ConsultaSQL(Me.codS)

    End Sub
    -------------------------------


    Estou passando como parâmetro o código da situação, mas é gerado o erro: Nehum valor foi fornecido para um ou mais parâmetros, na linha;
    Set rs = connector.Execute("SELECT NOME, EMPRESA FROM TEL where situacao = codS;")...

    Mas se eu colocar o código da situação direto no SELECT e liberar o trecho do código:

       'Do While rs.NextRecordset
       '   SQL = SQL & rs("NOME") & " - " & rs("EMPRESA")
       'Loop

    aí ocorre o erro de que "O provedor atual não oferece suporte para retornar vários conjuntos de registros de uma única execução.".

    Eu sei que posso fazer através de uma consulta no Access e exibir no openQuery, mas o meu objetivo está no VBA.
    Quem puder me ajudar eu agradeço.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Exibir consultas SQL feitas em Access Empty Re: Exibir consultas SQL feitas em Access

    Mensagem  Alexandre Neves 1/4/2014, 22:15

    Boa noite,
    tente
    Set rs = connector.Execute("SELECT NOME, EMPRESA FROM TEL where situacao=" & codS)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    luizsd942
    luizsd942
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 25
    Registrado : 10/03/2014

    Exibir consultas SQL feitas em Access Empty Retornando mais de um dado.

    Mensagem  luizsd942 2/4/2014, 17:24

    Obrigado Alexandre Neves,

    Resolveu o problema da consulta com código, mas e como faço para exibir mais de um dado, seja em um SubForm ou em uma folha de dados preferencialmente?
    Por exemplo, se digitar situação =1, retornará mais de uma pessoa.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

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

    Exibir consultas SQL feitas em Access Empty Re: Exibir consultas SQL feitas em Access

    Mensagem  Alexandre Neves 2/4/2014, 21:01

    Boa noite,
    Não chame a função. Execute o código directamente e
    onde tem
    ConsultaSQL = SQL

    coloque
    TxtA= rs("NOME") & " - " & rs(EMPRESA)
    rs.MoveNext
    TxtB= rs("NOME") & " - " & rs(EMPRESA)


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    Exibir consultas SQL feitas em Access Empty Re: Exibir consultas SQL feitas em Access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 19:29