MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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]Erro comando "SELECT * FROM [com string]"

    diegojacob
    diegojacob
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 06/07/2011

    [Resolvido]Erro comando "SELECT * FROM [com string]" Empty [Resolvido]Erro comando "SELECT * FROM [com string]"

    Mensagem  diegojacob em 11/11/2020, 19:50

    Prezados, boa tarde!

    dando continuação no tópico:
    https://www.maximoaccess.com/t22856-resolvidoalterar-a-tabela-fonte-de-controle-de-um-subformulario-via-vba

    Onde tivemos uma ótima resposta do Mestre JPaulo:

    Private Sub Select_tabela_AfterUpdate()
    Select Case Me.Select_tabela.Column(0)
           Case Is = "tbl_test_01"
       Me.subformFilho.Form.RecordSource = "SELECT * from tbl_test_01"
       Me.subformFilho.Form.Requery
           Case Is = "tbl_test_02"
       Me.subformFilho.Form.RecordSource = "SELECT * from tbl_test_02"
       Me.subformFilho.Form.Requery
           Case Is = "tbl_test_03"
       Me.subformFilho.Form.RecordSource = "SELECT * from tbl_test_03"
       Me.subformFilho.Form.Requery
    End Select
    End Sub


    Gostaria de saber:

    Se eu declarar o nome da tabela em uma string, eu consigo usar o comando "SELECT * FROM [com string]"?

    Exemplo:

    Dim Filtro_tabela as String

    Filtro_tabela = Me.formcampotabela ' retorna o nome da tabela
    'Pois o nome da tabela será selecionado em uma combo, tendo como resultado o nome da tabela corretamente.

       Me.subformFilho.Form.RecordSource = "SELECT * from Filtro_tabela"
       Me.subformFilho.Form.Requery

    Pois ao tentar o comando acima, ocorre um erro:

    Erro de Execução '2580':

    A fonte de registro 'SELECT * FROM Filtro_tabela' especificada neste formulário ou relatório não existe.


    Obrigado e conto com a ajuda dos amigos do Forum.

    Diego
    marcelo3092
    marcelo3092
    Avançado
    Avançado

    Respeito às Regras 100%

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

    [Resolvido]Erro comando "SELECT * FROM [com string]" Empty Re: [Resolvido]Erro comando "SELECT * FROM [com string]"

    Mensagem  marcelo3092 em 11/11/2020, 20:47

    Dentro da sua instrução tá faltando chama a variável
    Tenta assim
    ' Select * from " & suavariavel & " '

    diegojacob gosta desta mensagem

    diegojacob
    diegojacob
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 06/07/2011

    [Resolvido]Erro comando "SELECT * FROM [com string]" Empty Re: [Resolvido]Erro comando "SELECT * FROM [com string]"

    Mensagem  diegojacob em 12/11/2020, 12:35

    Prezado Marcelo (marcelo3092), bom dia!

    Perfeitamente, era isso mesmo!! lol!

    Me.subformFilho.Form.RecordSource = "SELECT * from " & Filtro_tabela & " "


    Question Uma última questão a qual peço sua contribuição, teria como, ao alterar a tabela do subformulário, fazer com que altere também uma consulta de uma caixa de listagem?

    Eu uso uma caixa de listagem para selecionar um registro no subformulário e ao alterar a tabela do subformulário, ele alterava também a consulta da caixa de listagem (List box), pois tenho que selecionar o registro referente a tabela alterada, logo, tenho que trocar a consulta da lista para que fique com os mesmos registros da tabela selecionada.

    ex:

    ...

    'SubForm
    Me.subformFilho.Form.RecordSource = "SELECT * from " & Filtro_tabela & " "
    Me.subformFilho.Form.Requery

    'Caixa de listagem (list box)
    Me.Nome_ListBox .RecordSource = "SELECT * from " & Filtro_query & " "
    Me.Nome_ListBox  .Requery

    Pois dessa forma está ocorrendo erro no RecordSource.
    Acho que a a forma como chamo a minha caixa de listagem.
    Para chamar um formulário, é (Me.subformFilho.Form.RecordSource = ...)

    Agora para chamar uma caixa de listagem, seria (Me.Nome_ListBox .RecordSource = ...)  Question  Question  Question  Question

    Att.
    Diego
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2515
    Registrado : 22/11/2016

    [Resolvido]Erro comando "SELECT * FROM [com string]" Empty Re: [Resolvido]Erro comando "SELECT * FROM [com string]"

    Mensagem  DamascenoJr. em 12/11/2020, 16:14

    Rowsource


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    diegojacob gosta desta mensagem

    diegojacob
    diegojacob
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 06/07/2011

    [Resolvido]Erro comando "SELECT * FROM [com string]" Empty Re: [Resolvido]Erro comando "SELECT * FROM [com string]"

    Mensagem  diegojacob em 12/11/2020, 20:34

    Prezado DamascenoJr, certíssimo!

    Obrigado pela ajuda, funcionou perfeitamente!

    marcelo3092 e DamascenoJr , muito obrigado pela colaboração!

    Tópico concluído! lol!

    Att.
    Diego Jacob

    diegojacob gosta desta mensagem


      Data/hora atual: 16/1/2021, 10:50