Visual Basic para Aplicaciones - problemas con TextBox.ControlSource y TextBox.Valu

Life is soft - evento anual de software empresarial
 
Vista:

problemas con TextBox.ControlSource y TextBox.Valu

Publicado por Leocam708 (4 intervenciones) el 10/01/2007 11:59:19
Saludos programadores y pseudoprogramadores (como yo :P)
Estoy buscando un alma caritativa que me ayude con el siguiente problema.

Estoy realizando una base de datos en Access 2002 y quisiera que luego de que un listado combinado se actualice (un AfterUpdate que toma los datos de una tabla tblCLIENTEs) varios campos TextBox actualicen su Value (por medio de unas instrucciones SQL que se ejecutan en el AfterUpdate) y que esto se imprima en los respectivos ControlSource (que se encuentran en una tabla SolCambioMaquina).

El problema es que Value no me representa el resultado sino la instrucción literal de SQL.
Les pongo el siguiente ejemplo:
El código del AfterUpdate de NumCliente es el siguiente:
Dim GetClientName As String
GetClientName = "SELECT Nombre FROM tblCLIENTES WHERE CodigoCliente = '" & Forms.SolCambioMaquina.NumCliente & "'"

Forms.SolCambioMaquina.NombreCliente = GetClientName.

Es decir, que si yo selecciono el cliente con número xxxx en lugar de que en el campo NombreCliente me aparezca el nombre correspondiente a ese número, lo que aparece es: SELECT Nombre FROM tblCLIENTES WHERE CodigoCliente = 'xxxx' (ojo: el campo CodigoCliente en la tabla es texto, por eso las comillas simples)

Entiendo que el programa me envia este resultado porque GetClientName es una cadena de texto. La única forma que he encotrado para solventar este problema es utilizando un ListBox en lugar de un TextBox, y que el RowSource ejecute la consulta de SQL. Sin embargo la desventaja del ListBox es que, aunque en el formulario aparezca el resultado correcto, si quien llena el formulario no selecciona el texto del campo después de haber realizado el AfterUpdate (de tal forma de q cambia de color y se observa q fue seleccionado) se guardan el resto de los datos del registro excepto este. Otro problema es que al guardar el registro, en el formulario se mantiene el nombre del cliente seleccionado la última vez q se llenó el formulario (incluso cuando el formulario tiene la propiedad de entrada de datos en "si")

¿Existe alguna manera de hacer esto usando TextBox?¿Tengo que crear un RecordSet? ¿Que debo hacer? HEEEEEEEEEEEEEEELP!!!!!!!!

Por favor comprendan que no soy programador, sino un desdichado "utility" cuyo jefe cree que soy programador solo porque manejo Flash ¿¿¿¿???? Así que si me pueden echar una mano con el código se los agradecería.

See ya!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder