none
Setar valor em ControlSource - Access 2007 RRS feed

  • Pergunta

  • Amigos,

    tenho o seguinte impasse, uso o Vba para determinar um valor padrão para o ControlSource:

    Me!txtEmpresa.ControlSource = "='" & Me![cmbEmpresa].Column(0) & "'"

    Funciona tudo bem, vejo o valor correto no campo, porém qdo fecho o form e abro de novo o valor zera, o ControlSource fica Null.

    Como setar o valor padrão para ControlSource, usando VBA, de forma que ele fique gravado?

    Grato,

    Raimundo

    quarta-feira, 24 de outubro de 2012 20:29

Respostas

  • Desculpe amigo, mas o ControlSource é para indicar o nome de um campo ou expressão que por sua vez irá retornar um valor.

    O seu exemplo é equivalente a:  Me!txtEmpresa=Me![cmbEmpresa].Column(0)

    Você está usando uma expressão que devolve um texto, por isso mais vale colocá-lo directamente no valor da TextBox.

    Quanto ao seu problema em que ao abrir de novo perde o valor, veja bem:

    Num arquivo Access pode existir uma base de dados onde os dados são guardados automaticamente, e também pode existir uma aplicação que irá manipular esse dados, cuja gravação é dependente do programador, a qual em sua normal utilização não deverá ser gravada(alterada).

    O que você deve e pode é utilizar o Evento load para carregar esse valor no TextBox, ou criar uma função que retorne esse valor e coloca-la como expressão no CotrolSource da TextBox.

    • Sugerido como Resposta Hezequias VasconcelosModerator quarta-feira, 31 de outubro de 2012 14:25
    • Não Sugerido como Resposta Weivisson quarta-feira, 31 de outubro de 2012 14:35
    • Marcado como Resposta Weivisson quarta-feira, 13 de novembro de 2013 10:44
    quinta-feira, 25 de outubro de 2012 21:10