|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
Iniciado por Gerardo Sánchez Suárez, jul., 15 2008 2:09 PM - 11 respostas |
| |
| | | |
|
| |
Publicado em julho, 15 2008 - 2:09 PM |
Hola:
Acabo de adquirir WD12 y tengo una duda sobre tablas. Tengo dos tablas, una muestra el encabezado de documentos (facturas) y la otra debe de mostrar las partidas (renglones) de cada factura. Ya logre, mediante QUERY que me muestre los encabezados de las facturas, pero, ¿cómo consigo, mediante QUERY que me muestre los renglones de cada factura cuando selecciono algun renglón de la tabla de facturas?; vaya, como lograr el link/join adecuado. Ya revise mi análisis y ademas no encuentro un ejemplo de este tipo, estoy un poco perdido por lo que agradeceré cualquier pista que me oriente a lograr este objetivo
Saludos cordiales
Gerardo |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 15 2008 - 7:46 PM |
que version tienes la xpress o la full |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 16 2008 - 9:47 AM |
Todas las tablas tienen un evento que ROW SELECTION, si en este evento de la tabla principal relacionas, por ejemplo, el numero de factura selececionado en la tabla principal con la tabla detalle, conseguiras lo que quieres
ROW SELECTION tabla principal tabladetalle..filter = tablaprincipal.col_n_factura (nombre de la columna) TableDisplay(tabladetalle)
Esta es una de las multiples formas que hay par realizar este proceso. |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 16 2008 - 9:51 AM |
wilmer abreu escribió:
que version tienes la xpress o la full
Full |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 20 2008 - 11:35 AM |
Salvador:
Muchas gracias por tu respuesta, ya había probado eso pero no me funciono; obviamente algo estoy haciendo mal. Creo que primero necesito "desaprender" Clarion y aprender WinDev y tomar esto con mas calma. Voy avanzando paso a paso y en una de estas logro dar en el clavo.
Saludos Cordiales
Gerardo
Salvador Soler escribió:
Todas las tablas tienen un evento que ROW SELECTION, si en este evento de la tabla principal relacionas, por ejemplo, el numero de factura selececionado en la tabla principal con la tabla detalle, conseguiras lo que quieres ROW SELECTION tabla principal tabladetalle..filter = tablaprincipal.col_n_factura (nombre de la columna)ar TableDisplay(tabladetalle) Esta es una de las multiples formas que hay par realizar este proceso. |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 21 2008 - 12:13 PM |
Hola. Efectivamente debes dejar de pensar como "clarionero". Normalmente en Windev la solución suele ser mas fácil.
Un saludo de otro "clarionero".
Rubén Sánchez Peña
"Gerardo Sánchez Suárez" <gerardo.sanchez@solucomp.com.mx> escribió en el mensaje de noticias news:4882092a@news.pcsoft.fr...
Salvador: Muchas gracias por tu respuesta, ya había probado eso pero no me funciono; obviamente algo estoy haciendo mal. Creo que primero necesito "desaprender" Clarion y aprender WinDev y tomar esto con mas calma. Voy avanzando paso a paso y en una de estas logro dar en el clavo. Saludos Cordiales Gerardo Salvador Soler escribió: Todas las tablas tienen un evento que ROW SELECTION, si en este evento de la tabla principal relacionas, por ejemplo, el numero de factura selececionado en la tabla principal con la tabla detalle, conseguiras lo que quieres ROW SELECTION tabla principal tabladetalle..filter = tablaprincipal.col_n_factura (nombre de la columna)ar TableDisplay(tabladetalle) Esta es una de las multiples formas que hay par realizar este proceso. |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 04 2008 - 6:01 PM |
Gerardo, Fíjate en la tabla secundaria para ver en que orden se está accesando. Si utilizas un campo diferente como filtro simplemente no hará nada.
Si la tabla secundaria usa un query, debes usar un hexecute query en vez del filtro.
Te aconsejo que hagas un mantenimiento de dos tablas relacionadas usando la plantilla que trae windev y te fijes como lo hace.
Lo malo con clarion es que uno se acostumbra a rellenar campitos y el "hace todo", pero con windev te das cuenta que a la larga eso de clarion es una caja negra que no te permite programar como tu quieres.
No dudes en volver a pedir ayuda. Saludos.
"Gerardo Sánchez Suárez" <gerardo.sanchez@solucomp.com.mx> escribió en el mensaje de noticias news:4882092a@news.pcsoft.fr...
Salvador: Muchas gracias por tu respuesta, ya había probado eso pero no me funciono; obviamente algo estoy haciendo mal. Creo que primero necesito "desaprender" Clarion y aprender WinDev y tomar esto con mas calma. Voy avanzando paso a paso y en una de estas logro dar en el clavo. Saludos Cordiales Gerardo Salvador Soler escribió: Todas las tablas tienen un evento que ROW SELECTION, si en este evento de la tabla principal relacionas, por ejemplo, el numero de factura selececionado en la tabla principal con la tabla detalle, conseguiras lo que quieres ROW SELECTION tabla principal tabladetalle..filter = tablaprincipal.col_n_factura (nombre de la columna)ar TableDisplay(tabladetalle) Esta es una de las multiples formas que hay par realizar este proceso. |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 12 2008 - 8:56 AM |
Muchas gracias Francisco, ya logre avances importantes. Voy a checar lo que me dices.
Saludos
Francisco J. Acedo M. escribió:
Gerardo, Fíjate en la tabla secundaria para ver en que orden se está accesando. Si utilizas un campo diferente como filtro simplemente no hará nada. Si la tabla secundaria usa un query, debes usar un hexecute query en vez del filtro. Te aconsejo que hagas un mantenimiento de dos tablas relacionadas usando la plantilla que trae windev y te fijes como lo hace. Lo malo con clarion es que uno se acostumbra a rellenar campitos y el "hace todo", pero con windev te das cuenta que a la larga eso de clarion es una caja negra que no te permite programar como tu quieres. No dudes en volver a pedir ayuda. Saludos. "Gerardo Sánchez Suárez" <gerardo.sanchez@solucomp.com.mx> escribió en el mensaje de noticias news:4882092a@news.pcsoft.fr... Salvador: Muchas gracias por tu respuesta, ya había probado eso pero no me funciono; obviamente algo estoy haciendo mal. Creo que primero necesito "desaprender" Clarion y aprender WinDev y tomar esto con mas calma. Voy avanzando paso a paso y en una de estas logro dar en el clavo. Saludos Cordiales Gerardo Salvador Soler escribió: Todas las tablas tienen un evento que ROW SELECTION, si en este evento de la tabla principal relacionas, por ejemplo, el numero de factura selececionado en la tabla principal con la tabla detalle, conseguiras lo que quieres ROW SELECTION tabla principal tabladetalle..filter = tablaprincipal.col_n_factura (nombre de la columna)ar TableDisplay(tabladetalle) Esta es una de las multiples formas que hay par realizar este proceso. |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 12 2008 - 11:58 AM |
Yo ando con las mismas dudas si has conseguido resolverlo dime por favor como Yo he creado un query con las lineas de las facturas que tienen el mismo numero de factura Luego en el FORM coloco UN TABLE con ese query de las lineas de factura pero no lo acabo de conseguir ¿explicame como lo has conseguido ? saludos Antonio Madrid |
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 14 2008 - 11:27 AM |
Antonio:
Te voy a comentar un poco mi problemática:
1) Tengo un TAB con 12 pestañas (una por cada mes) y tenia que mostrar los registros (Archivo Maestro) correspondientes al mes y año seleccionado; al seleccionar el TAB de Marzo me tiene que mostrar los registros de ese mes de cierto año y ademas mostrarme el los hijos (Archivo Detalle) de ese padre
2) Lo primero lo conseguí con el código siguiente (En Filtering the records)
IF Val(QRY_MovInv.Mes) = TAB_MovInv AND Val(QRY_MovInv.Ano) = G_AnoMov THEN RESULT True ELSE RESULT False END
3) El mostrar los registros hijos, después de varios intentos, lo deje por la paz porque tengo que hacer unas entregas en Clarion; pero creo que pudiera funcionar igual (yo también uso QUERYS) sería cuestión de que lo probaras (realmente estoy presionado por entregar el otro proyecto en Clarion que no me he metido por el momento con WinDev).
4) Pienso que si ponemos: (en Filtering the record en la tabla detalle)
IF DETALLE.Numero = MAESTRO.Numero THEN RESULT True ELSE RESULT False END
Pudiera funcionar. Si lo logras avisame
Saludos
Gerardo antonio escribió:
Yo ando con las mismas dudas si has conseguido resolverlo dime por favor como Yo he creado un query con las lineas de las facturas que tienen el mismo numero de factura Luego en el FORM coloco UN TABLE con ese query de las lineas de factura pero no lo acabo de conseguir ¿explicame como lo has conseguido ? saludos Antonio Madrid
|
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 14 2008 - 1:16 PM |
Hola Gerardo. La manera que planteas no es la mas eficiente, ya que obligas a leer el fichero completo de Detalles para filtrar los datos de la factura.
Lo mejor es crearte una tabla de detalles con una Query asociada a la que le pasas el código del Maestro como parámetro. De esta manera la consulta se hace en el servidor y solo te devuelve los registros que cumplen.
Yo he estado 14 años programando en Clarion y he tenido que "desaprender" a hacer las cosas del modo Clarion. En Windev todo es mas simple.
Un saludo
Rubén Sánchez Peña
"Gerardo Sánchez Suárez" <gerardo.sanchez@solucomp.com.mx> escribió en el mensaje de noticias news:48a33d88@news.pcsoft.fr...
Antonio: Te voy a comentar un poco mi problemática: 1) Tengo un TAB con 12 pestañas (una por cada mes) y tenia que mostrar los registros (Archivo Maestro) correspondientes al mes y año seleccionado; al seleccionar el TAB de Marzo me tiene que mostrar los registros de ese mes de cierto año y ademas mostrarme el los hijos (Archivo Detalle) de ese padre 2) Lo primero lo conseguí con el código siguiente (En Filtering the records) IF Val(QRY_MovInv.Mes) = TAB_MovInv AND Val(QRY_MovInv.Ano) = G_AnoMov THEN RESULT True ELSE RESULT False END 3) El mostrar los registros hijos, después de varios intentos, lo deje por la paz porque tengo que hacer unas entregas en Clarion; pero creo que pudiera funcionar igual (yo también uso QUERYS) sería cuestión de que lo probaras (realmente estoy presionado por entregar el otro proyecto en Clarion que no me he metido por el momento con WinDev). 4) Pienso que si ponemos: (en Filtering the record en la tabla detalle) IF DETALLE.Numero = MAESTRO.Numero THEN RESULT True ELSE RESULT False END Pudiera funcionar. Si lo logras avisame Saludos Gerardo antonio escribió: Yo ando con las mismas dudas si has conseguido resolverlo dime por favor como Yo he creado un query con las lineas de las facturas que tienen el mismo numero de factura Luego en el FORM coloco UN TABLE con ese query de las lineas de factura pero no lo acabo de conseguir ¿explicame como lo has conseguido ? saludos Antonio Madrid
|
| |
| |
| | | |
|
| | |
| |
Publicado em agosto, 14 2008 - 7:09 PM |
Rubén:
Gracias por el consejo, en la primera oportunidad voy a intentarlo de esa manera.
Gracias
Rubén Sánchez Peña escribió:
Hola Gerardo. La manera que planteas no es la mas eficiente, ya que obligas a leer el fichero completo de Detalles para filtrar los datos de la factura. Lo mejor es crearte una tabla de detalles con una Query asociada a la que le pasas el código del Maestro como parámetro. De esta manera la consulta se hace en el servidor y solo te devuelve los registros que cumplen. Yo he estado 14 años programando en Clarion y he tenido que "desaprender" a hacer las cosas del modo Clarion. En Windev todo es mas simple. Un saludo Rubén Sánchez Peña "Gerardo Sánchez Suárez" <gerardo.sanchez@solucomp.com.mx> escribió en el mensaje de noticias news:48a33d88@news.pcsoft.fr... Antonio: Te voy a comentar un poco mi problemática: 1) Tengo un TAB con 12 pestañas (una por cada mes) y tenia que mostrar los registros (Archivo Maestro) correspondientes al mes y año seleccionado; al seleccionar el TAB de Marzo me tiene que mostrar los registros de ese mes de cierto año y ademas mostrarme el los hijos (Archivo Detalle) de ese padre 2) Lo primero lo conseguí con el código siguiente (En Filtering the records) IF Val(QRY_MovInv.Mes) = TAB_MovInv AND Val(QRY_MovInv.Ano) = G_AnoMov THEN RESULT True ELSE RESULT False END 3) El mostrar los registros hijos, después de varios intentos, lo deje por la paz porque tengo que hacer unas entregas en Clarion; pero creo que pudiera funcionar igual (yo también uso QUERYS) sería cuestión de que lo probaras (realmente estoy presionado por entregar el otro proyecto en Clarion que no me he metido por el momento con WinDev). 4) Pienso que si ponemos: (en Filtering the record en la tabla detalle) IF DETALLE.Numero = MAESTRO.Numero THEN RESULT True ELSE RESULT False END Pudiera funcionar. Si lo logras avisame Saludos Gerardo antonio escribió: Yo ando con las mismas dudas si has conseguido resolverlo dime por favor como Yo he creado un query con las lineas de las facturas que tienen el mismo numero de factura Luego en el FORM coloco UN TABLE con ese query de las lineas de factura pero no lo acabo de conseguir ¿explicame como lo has conseguido ? saludos Antonio Madrid
|
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|