Pergunte aqui

Histórico de revisões [voltar]

clique para ocultar/mostrar a revisão 1
Versão inicial

Para conseguir o que quer , crie uma macro baseada nessa:`

Sub filtrar_subform  'nome da macro

Dim Form1, SubForm_1, oConsulta, cmb_codhw, cmb_softw, cons_subtab, txtM, txtS As Object, sSQL As String 'Declaração de variáveis

'Associar controles dos forms ( principal e subform ) as varáveis

Set Form1=Forms("frm_principal") ' Nome do form principal
Set SubForm_1 = Form1.Controls("Subform") ' Trata o subform como um controle (nome do subform )
Set cons_subtab = SubForm_1.form.Controls("Controle_de_tabela_1") ' declara a grid (controle de tabela ) que fica dentro do subform
Set cmb_combo=Form1.Controls("cmb_principal") ' declara o controle combobox do form principal
oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("cons_subtab_pesquisa") ' declara a consulta que será a origem dos dados do grid ( controle de tabela ) do subform associado ao form principal

sSQL = ("SELECT FROM `tab_minha tabela` WHERE `meu_campo` =  ' " & cmb_combo.Value & " ' ' filtra a consulta pelo valor do campo do registro selecionado na combobox e mais a frente atualiza o form

RunSQL(sSQL) ' executa ainstrução SQL

cmb_combo.Value="" ' após a atualização a combo fica em branco para uma nova operação se desejável

Form1.Requery ' Atualiza o formulário e seus controles

Basicamente a sintaxe é essa, adapte ao seu código.

um abraço.

Para conseguir o que quer , crie uma macro baseada nessa:`

Sub filtrar_subform filtrar  'nome da macro

Declaração de variáveis

Dim Form1, SubForm_1, oConsulta, cmb_codhw, cmb_softw, cmb_combo, cons_subtab, txtM, txtS As Object, sSQL As String 'Declaração de variáveis
 
'Associar controles dos forms ( principal e subform ) as varáveis

Set Form1=Forms("frm_principal") ' Nome do form principal
Set SubForm_1 = Form1.Controls("Subform") Form1=Forms("frm_principal")

' Trata o subform como um controle (nome do subform )
Set cons_subtab = SubForm_1.form.Controls("Controle_de_tabela_1") ) 
Set SubForm_1 = Form1.Controls("Subform") 

 ' declara a grid (controle de tabela ) que fica dentro do subform
Set cmb_combo=Form1.Controls("cmb_principal") cons_subtab = SubForm_1.form.Controls("Controle_de_tabela_1")

 ' declara o controle combobox do form principal
oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("cons_subtab_pesquisa") Set cmb_combo=Form1.Controls("cmb_principal")

 ' declara a consulta que será a origem dos dados do grid ( controle de tabela ) do subform associado ao form principal
 oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("cons_subtab_pesquisa")


'filtra a consulta pelo valor do campo do registro selecionado na combobox e mais a frente atualiza o form
sSQL = ("SELECT FROM `tab_minha tabela` WHERE `meu_campo` =  ' " & cmb_combo.Value & " ' ' filtra a consulta pelo valor do campo do registro selecionado na combobox e mais a frente atualiza o form

RunSQL(sSQL)  ' executa ainstrução SQL

cmb_combo.Value="" RunSQL(sSQL) 

 ' após a atualização a combo fica em branco para uma nova operação se desejável

Form1.Requery cmb_combo.Value=""

 ' Atualiza o formulário e seus controles
Form1.Requery

Basicamente a sintaxe é essa, adapte ao seu código.

um abraço.

Para conseguir o que quer , crie uma macro baseada nessa:`

Sub filtrar  'nome da macro

Declaração de variáveis

Dim Form1, SubForm_1, oConsulta, cmb_combo, cons_subtab, As Object, sSQL As String 

'Associar controles dos forms ( principal e subform ) as varáveis

' Nome do form principal
Set Form1=Forms("frm_principal")

' Trata o subform como um controle (nome do subform ) 
Set SubForm_1 = Form1.Controls("Subform") 

 ' declara a grid (controle de tabela ) que fica dentro do subform
Set cons_subtab = SubForm_1.form.Controls("Controle_de_tabela_1")

 ' declara o controle combobox do form principal
Set cmb_combo=Form1.Controls("cmb_principal")

 ' declara a consulta que será a origem dos dados do grid ( controle de tabela ) do subform associado ao form principal
oConsulta = ThisDatabaseDocument.DataSource.QueryDefinitions.getByName ("cons_subtab_pesquisa")


'filtra a consulta pelo valor do campo do registro selecionado na combobox e mais a frente atualiza o form
sSQL = ("SELECT "SELECT FROM `tab_minha tabela` WHERE `meu_campo` =  ' (' " & cmb_combo.Value & " ' ');" 


' executa ainstrução SQL
RunSQL(sSQL) 

 ' após a atualização a combo fica em branco para uma nova operação se desejável
cmb_combo.Value=""

 ' Atualiza o formulário e seus controles
Form1.Requery

Basicamente a sintaxe é essa, adapte ao seu código.

um abraço.