PDA

Ver la Versión Completa : Lookup con tipos distintos


jonmendi
14-03-2007, 10:58:17
Hola!
tengo dos tablas con el mismo dato pero con distintos tipos.
Tabla A: campo codigo, tipo integer
Tabla B: campo codigo, tipo string(9).

El tema es que quiero hacer un campo lookup en la tabla B, relacionándolos con este campo codigo. Pero en la tabla B el valor está rellenado con 0-s hasta longitud 9. Por lo que al hacer el lookup, no encuentra nada.
¿Alguien sabe como convertir en tiempo de ejecución este campo string a integer?
Muchas gracias!
Jon

Uso Delphi7, paradox

Nelet
14-03-2007, 14:13:47
Con la función StrToInt.

jonmendi
14-03-2007, 16:27:40
gracias Nelet!
pero hacer StrToInt es una vez que tengo el campo. Yo estoy haciendo un lookup, con lo que no puedo (o no sé) meterle el StrToInt.

Jon

Nelet
14-03-2007, 16:46:58
Pos tienes toda la razón, perdona por haber disparado sin apuntar...jejejeje. Para hacer lo que comentas se me ocurren dos posibilidades, ya que al definir el campo lookup debes especificar su tipo, con lo que no es posible (o no se me ocurre) como hacer directamente el cambio de tipo.

1 - Duplicar el campo lookup como un campo calculado. Cuyo cálculo sería el mismo campo pero con tipo distinto. O sea en el evento oncalcfields debería ir el strtoint.

2 - (Creo que esta es mejor). En vez de utilizar directamente la Tabla A, usa una query de la tabla A transformando directamente el campo con sentencia SQL. Eso ya depende del gestor de BD.

Espero te sirva.

jonmendi
14-03-2007, 17:36:22
gracias Nelet!
me pongo a ello.
Jon