Pessoal,
preciso setar os controlsource dos objetos via programacao.....devido as
alteracoes em campos das tabelas.....
Na minha maquina , tenho as tabelas completas....entao tenho os campos
ligados no controlsource aos campos da tabela no form.....
Porem, no evento BeforeOpenTables() do Ambiente de dados, estou testando
se os campo existem na tabela.....e cfe esse resultado, quero liga-los aos
campos ou deixar os controlsource em branco, pra nao dar erro ao inicar o
form, qdo estiver executando no cliente, caso ainda nao tenha criado tais
campos........
Porem, ao setar via programacao os controlsource, no LOAD do form, nao
funciona porque os objetos ainda nao foram criados...e no INIT, tambem
nao.....pois como os controlsources dos objetos foram ligados ao campo
quando na construcao do form....(e foi detectado que os campos nao existem)
dá erro de "variavel nao encontrada"..quando tento setar o controlsource pra
"".
Em qual evento ou como posso fazer isso sem dar erro?
Há alguma forma de percorrer todos os objetos do form e verificar os controlsource
(inclusive em pageframes)?
*Codigo para setar o Controlsource dos objetos:
WITH THISFORM
IF LigaFK = .F. && Beforeopentables() detectou que os campos nao existem na tabela
THISFORM.pageframe1.page4.cmb_c1.CONTROLSOURCE = ""
THISFORM.pageframe1.page4.cmb_c2.CONTROLSOURCE = ""
THISFORM.pageframe1.page4.cmb_c3.CONTROLSOURCE = ""
THISFORM.pageframe1.page4.cmb_c4.CONTROLSOURCE = ""
THISFORM.pageframe1.page4.cmb_ct.CONTROLSOURCE = ""
ELSE
THISFORM.pageframe1.page4.cmb_c1.CONTROLSOURCE =cad_ger.cad_c1
THISFORM.pageframe1.page4.cmb_c2.CONTROLSOURCE =cad_ger.cad_c2
THISFORM.pageframe1.page4.cmb_c3.CONTROLSOURCE =cad_ger.cad_c3
THISFORM.pageframe1.page4.cmb_c4.CONTROLSOURCE =cad_ger.cad_c4
THISFORM.pageframe1.page4.cmb_ct.CONTROLSOURCE =cad_ger.cad_ct
ENDIF
LigaFK = .F.
ENDWITH
Abracos
MARCAO
Informatica - Coordenadoria da Bancada do PT - 5º andar
Assembleia Legislativa do Estado do Rio Grande do Sul
Porto Alegre - RS