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
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