Bom dia!
Tenho um Form de busca de produtos que em uma opção de busca avançada abre um outro form para uma busca por atributos dos produtos (ex: Diâmetro, Altura, Dureza, Furos etc.).
Só que cada tipo de produto tem atributos específicos, então o Form cria os controles (txtbox e combobox, dependendo de cada atributo, se for opção aberta ou fechada).
O que preciso é quando criar esse controle, atribuir a ele um comando vba OnChange. Isso é possível?
Não sei se ajuda, mas estou criando os comandos com o seguinte código dentro de um Loop:
If !range = "S" Then
Set Ctl = CreateControl(Strform, acTextBox, LeFt:=Left1, Top:=Top1, Width:=Width1, Height:=Height1)
Ctl.Name = codAtrib
Else
Set Ctl = CreateControl(Strform, acComboBox, LeFt:=Left1, Top:=Top1, Width:=Width1, Height:=Height1)
Ctl.RowSource = "select index_pa1035, vlr_atrib_pa1035 from ATRIBUTOS_PA1035 where comb_pa1035 = '" & !Comb & "'"
Ctl.BoundColumn = 1
Ctl.ColumnCount = 2
Ctl.ColumnWidths = "0;1"
Ctl.Name = codAtrib
End If
Left1 = Left1 - 2500
Top1 = Top1 + 500
If Top1 > 6000 Then
Top1 = 500
Left1 = 8900
End If
Agradeço muito a ajuda!
Tenho um Form de busca de produtos que em uma opção de busca avançada abre um outro form para uma busca por atributos dos produtos (ex: Diâmetro, Altura, Dureza, Furos etc.).
Só que cada tipo de produto tem atributos específicos, então o Form cria os controles (txtbox e combobox, dependendo de cada atributo, se for opção aberta ou fechada).
O que preciso é quando criar esse controle, atribuir a ele um comando vba OnChange. Isso é possível?
Não sei se ajuda, mas estou criando os comandos com o seguinte código dentro de um Loop:
If !range = "S" Then
Set Ctl = CreateControl(Strform, acTextBox, LeFt:=Left1, Top:=Top1, Width:=Width1, Height:=Height1)
Ctl.Name = codAtrib
Else
Set Ctl = CreateControl(Strform, acComboBox, LeFt:=Left1, Top:=Top1, Width:=Width1, Height:=Height1)
Ctl.RowSource = "select index_pa1035, vlr_atrib_pa1035 from ATRIBUTOS_PA1035 where comb_pa1035 = '" & !Comb & "'"
Ctl.BoundColumn = 1
Ctl.ColumnCount = 2
Ctl.ColumnWidths = "0;1"
Ctl.Name = codAtrib
End If
Left1 = Left1 - 2500
Top1 = Top1 + 500
If Top1 > 6000 Then
Top1 = 500
Left1 = 8900
End If
Agradeço muito a ajuda!