Busqueda Tablas Estaticas


([N1] marianoyana) #1

Buenas, tengo una tabla en la cual uno de los campos es localidades y esta enlazada a una tabla estática. He realizado una búsqueda con una variable numérica, ya que la tabla se enlaza al campo de la tabla estática y lanza un formulario con la misma variable, el problema me surge que si pongo la localidad no me la encuentra, pero si pongo el número a que pertenece la localidad si la encuentra. Lo he hecho con variable numérica por que si lo hago con alfabética no realiza nada, lo que quiero que me haga que si pongo la localidad me lanze todos los registros que coincida con esa variable.

Gracias


([N4] velavisual) #2

@marianoyana

Usa el Combobox

Apunta en la propiedad de contenido del combobox al enlace de la tabla estática.Te permitirá teclear alfabéticamente.

… y ya dispones del dato para buscar lo que quieras.


([N3] pacosatu) #3

Hola Marianoyana.

Las tablas estáticas se enlazan siempre mediante un campo “Alfa 256 de 1 caracter”. Por lo tanto debes buscar siempre mediante una variable Alfanumérica de 1 caracter. El problema es que en Interfaz el usuario nunca va a buscar por este campo enlazado (que es una clave interna), por eso es necesario el combobox vonculado al campo #LOCALIDADES.Name.

En cualquier caso, el objeto Formulario siempre pasará al objeto Búsqueda el valor Alfanumérico de 1 caracter correspondiente a la Localidad seleccionada en el combobox.

Recuerda que por código, siempre debes buscar por el campo Alfa de 1 caracter.

Saludos
Paco Satué


([N1] marianoyana) #4

El problema es que es un formulario un poco complejo, y no tiene origen, por lo que no se le puede asignar dicho campo, he probado lo que decís en otro formulario y lo hace, pero en este que tengo no, y es debido a que no tiene origen.

Saludos


([N1] oscar.santana) #5

Bueno, entonces, si no tiene Origen y las tablas estáticas son sólo modificables en Edición, puede optar por llenar el Combo de manera manual con un poco de JavaScript.

Así llenas el combo, guardas en una variable local el valor que uses como índice y que sea igual al índice de la tabla estática.

Acá te paso un link de una mini openApp que publicó el amigo @filippeag, sobre cómo hacer esto.

http://velneo.es/foros/topic/ejemplos-javascript-combobox-y-separador-de-formularios/

Espero te sirva.

Saludos.


([N1] tcvsi) #6

Una técnica que me funciona perfectamente es:

Tengo una tabla en memoria, sin registros, en la que tengo apuntando al resto de tablas de la aplicación y también tengo las tablas estáticas.
Cuando tengo que crear un formulario sin origen que necesita validar campos o tablas estáticas, simplemente hago que este formulario pertenezca a esta tabla en memoria. Entonces puedo pintar en el formulario cualquier campo o relación y resolverla fácilmente.


([N3] pacosatu) #7

Hola Marianoyana.

La solución de Tomás de usar una ficha vacía para tener vinculación a los campos es muy buena.

Otra opción.
Si tu problema es que no puedes pintar un campo maestro a Tabla estática en un formulario sin Origen, entonces pinta solo un control de edición Alfa que apunte a la Variable Local LOCALIDAD. Pones un botón al lado de este control que ejecute la Búsqueda con Formulario asociado, y este formulario ya puede tener el origen que quieras. Devuelves el resultado en la Variable Local LOCALIDAD.

Saludos
Paco Satué


([N1] marianoyana) #8

Paco Salué, lo he hecho de tu última forma, ya que para lo de los combobox con Javascrip no tengo todavia nivel para ello. No sé por que pero al cargar el proceso que me cargaba el formulario con origen la tabla en memoria me daba error y me cerraba el programa.

Muchas gracias, a todos