CONVETER DE STRING PARA CONTROL

 Tópico anterior Próximo tópico Novo tópico

CONVETER DE STRING PARA CONTROL

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#494981 - 16/09/2020 20:08:07

TRTNCG
CAMPINA GRANDE
Cadast. em:Fevereiro/2004


Bom gente estou tentando fazer pesquisa dinâmica, no entanto passo os nome dos campos da seguinte forma:

Método SALVAR

Public Sub Salvar(nomesdoscampos as string)

'Salvar(Text1,Text2,Text3,Text4,Text5)'

Depois com o do SPLIT pego cada nome em Separados por vírgula, ficando assim:

Text1
Text2
Text3
Text4
Text5
Text6


O problema é que preciso converter esses Text1,Text2,Text3,Text4,Text5 que são dos tipo STRING e converter para TEXTBOX para assim atribuir a propriedade TEXT o valor que eu queira, ou seja:

Text1.text = 'valor1'
Text2.text = 'valor2'
Text3.text = 'valor3'
Text4.text = 'valor4'
Text5.text = 'valor5'

Não posso usar por exemplo: Public Sub Salvar(nomesdoscampos as textbox), pois os componentes podem ser labels,textboxs,checkboxs e etc




#494983 - 16/09/2020 21:33:16

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Como é VB vai ficar um pouco mais complicado. Mas você pode criar uma classe com as propriedades: NomeCampo, Tipo, Valor, salvar uma Collection com instâncias dessa classe e depois uma rotina que salva e lê. Lembro de ter feito um tempo atrás(uns 15 anos atrás mais ou menos) algo assim para um gerador de relatórios dinâmicos, usava isso para criar um form dinamicamente para fazer os filtros. É possível, mas bem trabalhoso.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#494998 - 17/09/2020 15:28:26

JABA
CABO FRIO
Cadast. em:Agosto/2005


Não sei se compreendi bem a sua dúvida. Esses Textboxs já foram criados previamente? Se sim, você poderia criar um índice para cada um deles na propriedade tag deles e depois se basear na ordem de entrada dos parâmetros da função Salvar para preenche-los.

_______________________________________________________________________________________________

Se a alma ou esprito so imateriais, como eles fazem para se localizar quando o corpo est em movimento?



#494999 - 17/09/2020 23:18:32

NOBODY
BOA VISTA / PE
Cadast. em:Agosto/2009


Última edição em 17/09/2020 23:44:59 por SONILDO

Você poderia usar assim:
o parâmetro 'dados' pegaria os textos e dentro da sub faria o processo

Private Sub Inserir(ParamArray dados())
    Dim i As Long
    For i = 0 To UBound(dados)
        MsgBox dados(i) '<lista dos dados obtidos do form
    Next
End Sub

O uso da sub
Call Inserir('sonildo', 'Gabriel', 'Ferreira')

Espero ter ajudado




#495000 - 18/09/2020 07:17:37

CARLINHOS_SONEG
GUARIBA
Cadast. em:Maio/2004


Eu precisei de uma rotina parecida há alguns anos e resolvi assim:

For each objetos in form.controls
   if objetos.name = NOME_DO_TXT_BOX then      'também já usei    if typeof objetos is TetxBox then
     'Sua Rotina
       '...
  end if
next

Veja se atende a sua necessidade, qualquer coisa posta ai....

If Sei = True then
Repondo
else
nao_respondo
end if

Mas pelo menos no atrapalho!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário