MANIPULAR CONTROLES

MARVB6 31/05/2010 11:01:05
#343342
Bom dia Galera!
Estou com dificuldade em manipular Objetos de um form.
Exemplo:
Tenho uma variável do tipo Objetct: Public MEU_OBJ As Object
Quando atribuo um obejto ela funciona normalmente : Set MEU_OBJ = Form1.text1(3)
Porém o nome dos obejto estão em uma tabela, ou seja, ficaria asssim: Set MEU_OBJ = rs!campo_nome_obj
No caso acima teria o mesmo valor [Ô]Form1.text1(3)[Ô], porém como está no meu Recordset, é uma string.
Dessa forma dá erro, porque estou atribuindo um conteudo do recordset(String) á uma variaval de obejto.
Alguém sabe como devo fazer para resolver esse problema ? Há como converter o conteudo do meu recordset em um obejto quando vou passar para a variavel MEU_OBJ?

Obrigado.

Marcelo

ASHKATCHUP 31/05/2010 11:08:07
#343345
Resposta escolhida
Creio que não existe como converter uma string para objeto.
Eu suponho que você está usando isso para guardar controles...
Então, sugiro que você varra o form e pegue o objeto que está definido no campo.
MARVB6 31/05/2010 11:13:07
#343347
Não entendi como varrer o FORM, pode me dar um ideia ? Obrigado.
ASHKATCHUP 31/05/2010 11:24:39
#343355
Mais ou menos isso


Private Sub Form_Load()
Dim sControle As String
Dim objControle As Object
[ô]
sControle = (rs!Controle & [Ô][Ô])
[ô]
If sControle <> [Ô][Ô] Then
Set objControle = func_Retorna_Controle(sControle)
End If
[ô]
End Sub

Private Function func_Retorna_Controle(sNome As String) As Object
Dim objControleLocal As Object
[ô]
func_Retorna_Controle = Nothing
[ô]
For Each objControleLocal In Me.Controls
[ô]
If objControleLocal.Name = sNome Then
Set func_Retorna_Controle = objControleLocal
Exit Function
End If
[ô]
Next
[ô]
End Function

MARVB6 31/05/2010 11:46:11
#343369
Meu amigo ...fechou ! Só vou acrescentar na função mais uma verificação, além da propriedade NAME, checar também a Index, no caso de arrays.
Muito obrigado.
Tópico encerrado , respostas não são mais permitidas