|
Iniciado por Mikel Garcia, nov., 28 2008 12:02 AM - 13 respostas |
| |
| | | |
|
| |
Publicado em novembro, 28 2008 - 12:02 AM |
Buenas tardes, Estamos evaluando la versión express y lo visto de momento nos gusta, pero tengo una duda que supongo que sera muy sencilla para vosotros. Me he definido una pantalla con los datos de una tabla. Lo que quiero hacer ahora es mostrar los registros que cumplan una condición. Lo que he hecho es
MyQuery is Data Source HExecuteSQLQuery(MyQuery, "SELECT CustomerNAME FROM CUSTOMER") HReadFirst(MyQuery) FileToScreen()
no me muestra nada. |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 28 2008 - 9:47 AM |
Que tal Mikel.Ciertamente el FileToScreen carga los controles con los valores de los campos a los que están linkados (pestaña LINK), bien sea de una tabla HyperFile o de un Query previamente definido en el editor de querys, pero si tú defines ese query por programación, entonces tendrás que asignar los valores a los controles de la ventana también por programación. |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 28 2008 - 1:20 PM |
Entonces que tengo que hacer coger los valores de la query y asignarlos uno por uno a los campos de la pantalla? ¿No hay un metodo automatico para hacerlo? |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 28 2008 - 1:52 PM |
Hola Mikel. Como te ha comentado Javier si tu realizas y ejecutas la sentencia SQL, ¿De donde debería sacar Windev las relaciones entre el resultado obtenido y los campos de la ventana?
Lo que debes hacer es una Query con el editor de Querys y en la ventana Relacionar cada campo de la tabla con el control donde se va a mostrar en la ventana. Una vez hecho esto las instrucciones FileToScreen y ScreenToFile harán su trabajo correctamente.
¿Porque utilizar sentencias SQL si en el IDE te facilita el trabajo para no tener que usarlas?
Rubén Sánchez Peña
"Mikel Garcia" <mikelgolmo@euskalnet.net> escribió en el mensaje de noticias news:375c603a88cce69bb5bcde48565b85eb@news.pcsoft...
Entonces que tengo que hacer coger los valores de la query y asignarlos uno por uno a los campos de la pantalla? ¿No hay un metodo automatico para hacerlo?
|
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 28 2008 - 2:07 PM |
El tema es el siguiente, en la aplicación que actualmente desarrollando y queremos emigrar a Windev, el usuario realiza las busquedas directamente en la pantalla de datos, por programación esa busqueda la modificamos para controlar la seguridad o lo que necesitemos, y la ejecutamos en pantalla. Estabamos haciendo una prueba para simular ese comportamiento y el primer paso era ver si podiamos mostrar en la pantalla el resultado de una orden SQL. Otra pregunta, si definimos una query en el editor de querys para esa pantalla, ¿luego se puede modificar la where de esa query en programación? |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 28 2008 - 3:22 PM |
si desea mostrar todos los registros de una consulta en la pantalla, use el comando BuildBrowsingTable.
PS: excusa mi español, sólo hablo portugués (español by google) |
| |
| |
| | | |
|
| | |
| |
Publicado em novembro, 28 2008 - 4:41 PM |
Ese comando sirve para mostrar los valores en una rejilla o tabla,no? Yo lo que busco es lo mismo pero para un formulario definido por mi |
| |
| |
| | | |
|
| | |
| |
Publicado em dezembro, 03 2008 - 12:14 AM |
Hola
Mira yo estoy igual que tú evaluando la Herramienta lo veo muy interesante (WINDEV EXPRESS), yo hice algo parecido lo que tu necesitas, utilice el query directamente sin realizarlo por el query editor y funciona excelente. Quiero aclarar que fui ayudado por gentes que utilizar en windev por mucho tiempo, no es por merito propio ... jejeje
Aqui va el codigo para que tengas una referencia, aqui disparo 4 querys , los leo y lo dejo en una grilla o crate table.
Antes quiero decirte que utilizo BD Informix y me conecto por ODBC
nConnEXPRESS is int = SQLConnect("informix2","informix","T697589","","ODBC",hODBC)
IF NOT nConnEXPRESS THEN DelayBeforeClosing(1000) Info("Error conectando: " + ErrorInfo()) ELSE totales is int // internados sTESTQUERYEXPRESS = "SELECT FECING,COUNT(*) FROM SAW110 WHERE FECING BETWEEN '09/01/2008' AND '09/30/2008' AND INTERN BETWEEN 200000 AND 600000 GROUP BY FECING" totales = EJECTUA_QUERY_1(sTESTQUERYEXPRESS)
TableAddLine(TABLA1, "INTERNADO", "SETIEMBRE", totales) // TableDisplay(TABLA1) PROGBAR_ProgressBar3 =PROGBAR_ProgressBar3 + 1 // guardia sTESTQUERYEXPRESS = "SELECT FECING,COUNT(*) FROM GUAPACI WHERE FECING BETWEEN '09/01/2008' AND '09/30/2008' GROUP BY FECING ORDER BY FECING" totales = EJECTUA_QUERY_1(sTESTQUERYEXPRESS) TableAddLine(TABLA1, "GUARDIA", "SETIEMBRE", totales) // TableDisplay(TABLA1)
PROGBAR_ProgressBar3 =PROGBAR_ProgressBar3 + 1 // art sTESTQUERYEXPRESS = "SELECT FECHA,COUNT(*) FROM EVOLU WHERE FECHA BETWEEN '09/01/2008' AND '09/30/2008' GROUP BY FECHA" totales = EJECTUA_QUERY_1(sTESTQUERYEXPRESS) TableAddLine(TABLA1, "ART", "SETIEMBRE", totales) // TableDisplay(TABLA1) PROGBAR_ProgressBar3 =PROGBAR_ProgressBar3 + 1 // AMBULATORIO sTESTQUERYEXPRESS = "SELECT 'VALORES ' , COUNT(*) FROM SAW509 WHERE PRACTICA =420101 and nfact > 0 " totales = EJECTUA_QUERY_1(sTESTQUERYEXPRESS) TableAddLine(TABLA1, "AMBULATORIO", "SETIEMBRE", totales) TableDisplay(TABLA1) PROGBAR_ProgressBar3 =PROGBAR_ProgressBar3 + 1 END
SQLDisconnect()
!======== PROCEDIMIENTO ============ PROCEDURE EJECTUA_QUERY_1(sGsTextQueryEXPRESSEXPRESS is string) // sGsTextQueryEXPRESS is string = "SELECT FECING,COUNT(*) FROM SAW110 WHERE FECING BETWEEN '09/01/2008' AND '09/10/2008' AND INTERN BETWEEN 200000 AND 600000 GROUP BY FECING"
IF NOT SQLExec(sGsTextQueryEXPRESSEXPRESS,"resQuery") THEN SQLInfo("resQuery") Error("Error" + SQL.Error + "in the query: ", SQL.MesError) ELSE cyTOTALEXPRESS is currency cyTOTALEXPRESS = 0 WHILE SQLFetch("resQuery") = 0 // There is still a row to read cyTOTALEXPRESS = cyTOTALEXPRESS + Val(SQLGetCol("resQuery", 2)) END END SQLClose("resQuery") RESULT cyTOTALEXPRESS
Espero que te sirva.
PD:Gracias Ruben sos un maestro.!!!!
Saludos desde Argentina , Córdoba
Mikel Garcia wrote in news message <1e74be0f4d205ba8477f56c22da48e95@news.pcsoft>:
Ese comando sirve para mostrar los valores en una rejilla o tabla,no? Yo lo que busco es lo mismo pero para un formulario definido por mi |
| |
| |
| | | |
|
| | |
| |
Publicado em dezembro, 04 2008 - 12:40 AM |
Hola Mikel: Yo busco algo parecido..Cuando queres hacer un Form, si vas a utilizar el archivo (y no un query..) podes "arrastrar" los campos desde el panel Analisis, donde se encuentran todos los archivos y sus campos. Pero si quees hacer lo mismo para un query, no veo la forma de "arrastrarlos" hasta el form, porque no existe el Query en el analisis. Si podes "arrastrarlos" desde el archivo, pero luego tenes que modificar manualmente el link para cada uno de los campos del form.
Claro que esto del Form linkeados al Query solo serviria para mostrar y no para actualizar, puesto que el Query es un Select..
Existira alguna forma sencilla de "arrastrar" los campos al Form desde un Query?
Saludos Gus |
| |
| |
| | | |
|
| | |
| |
Publicado em dezembro, 04 2008 - 12:36 PM |
Hola Gus. No tiene sentido usar los campos de un query en un Form. Lo que tu quieres hacer es muy sencillo realmente:
1) Ejecuta tu query
2) Si tiene registros ejecuta:
hreadseeknext(Tabla,"Clave Unica de la tabla","ID Unico del registro de la Query")
FileToScreen()
Ya tienes los datos en pantalla.
¿Donde esta la problematica? Esto te sirve`para buscar, modificar y borrar posteriormente.
Rubén Sánchez Peña
"Gus" <gussabina@yahoo.com> escribió en el mensaje de noticias news:fd55b8afee83fb0dfa9e9fbeeb93c227@news.pcsoft...
Hola Mikel: Yo busco algo parecido..Cuando queres hacer un Form, si vas a utilizar el archivo (y no un query..) podes "arrastrar" los campos desde el panel Analisis, donde se encuentran todos los archivos y sus campos. Pero si quees hacer lo mismo para un query, no veo la forma de "arrastrarlos" hasta el form, porque no existe el Query en el analisis. Si podes "arrastrarlos" desde el archivo, pero luego tenes que modificar manualmente el link para cada uno de los campos del form.
Claro que esto del Form linkeados al Query solo serviria para mostrar y no para actualizar, puesto que el Query es un Select..
Existira alguna forma sencilla de "arrastrar" los campos al Form desde un Query?
Saludos Gus
|
| |
| |
| | | |
|
| | |
| |
Publicado em dezembro, 04 2008 - 6:58 PM |
Por lo que yo he probado eso no funciona para un form de datos, no una rejilla. En un form de datos despues de hacer el hREADSEEK debes pasar los valores del query a los campos del formulario.
HReadFirst(gMyQueryEXPRESS,EXPRESS_Clientes.EXPRESS_ClientesID)
EDT_Clientes_Nombre..Value=gMyQueryEXPRESS.CLIENTES_NOMBRE EDT_Calle..Value=gMyQueryEXPRESS.CLIENTES_CALLE EDT_Piso..Value=gMyQueryEXPRESS.CLIENTES_PISO EDT_FNacimiento..Value=gMyQueryEXPRESS.CLIENTES_FNACIMIENTO EDT_Codigo_Postal=gMyQueryEXPRESS.CLIENTES_CODIGOPOSTAL EDT_Interlocutor=gMyQueryEXPRESS.CLIENTES_Interlocutor EDT_Mano=gMyQueryEXPRESS.CLIENTES_MANO EDT_NIF_CIF=gMyQueryEXPRESS.CLIENTES_DNI "EDT_Población"=gMyQueryEXPRESS.CLIENTES_POBLACION EDT_Provincia=gMyQueryEXPRESS.CLIENTES_PROVINCIA
Igual hay otra forma y mi ignorancia no me permite verla, pero es la unica forma que he visto para hacer lo que queria. |
| |
| |
| | | |
|
| | |
| |
Publicado em abril, 17 2021 - 12:16 AM |
Hazlo de esta forma : PROCEDURE WIN_Captura_De_Clientes()
EDT_Codmaster.Visible=False EDT_Codigo.InputEnabled =False EDT_Nombres.InputEnabled=False EDT_Nombre_cuenta.InputEnabled=False EDT_Fecha_compra.InputEnabled =False EDT_Estado.InputEnabled=False EDT_Codmaster.InputEnabled =False
MyQuery is Data Source HExecuteSQLQuery(MyQuery, "SELECT clientes.codigo AS codigo,clientes.nombres AS nombres,clientes.nombre_cuenta AS cuenta,clientes.fecha_vence AS fecha FROM clientes WHERE clientes.codmaster = '3016815784' AND clientes.estado = '1' ORDER BY fecha_vence ASC") HReadFirst(MyQuery) EDT_Codigo = MyQuery.codigo EDT_Nombres = MyQuery.nombres EDT_Nombre_cuenta = MyQuery.cuenta EDT_Fecha_compra = MyQuery.fecha |
| |
| |
| | | |
|
| | |
| |
Publicado em abril, 17 2021 - 12:16 AM |
Hazlo de esta forma : PROCEDURE WIN_Captura_De_Clientes()
EDT_Codmaster.Visible=False EDT_Codigo.InputEnabled =False EDT_Nombres.InputEnabled=False EDT_Nombre_cuenta.InputEnabled=False EDT_Fecha_compra.InputEnabled =False EDT_Estado.InputEnabled=False EDT_Codmaster.InputEnabled =False
MyQuery is Data Source HExecuteSQLQuery(MyQuery, "SELECT clientes.codigo AS codigo,clientes.nombres AS nombres,clientes.nombre_cuenta AS cuenta,clientes.fecha_vence AS fecha FROM clientes WHERE clientes.codmaster = '3016815784' AND clientes.estado = '1' ORDER BY fecha_vence ASC") HReadFirst(MyQuery) EDT_Codigo = MyQuery.codigo EDT_Nombres = MyQuery.nombres EDT_Nombre_cuenta = MyQuery.cuenta EDT_Fecha_compra = MyQuery.fecha |
| |
| |
| | | |
|
| | |
| |
Publicado em maio, 25 2021 - 2:40 AM |
Hola, para mostrar tablas de datos, debes crear un query de la manera visual, despues poner el control table en la ventana y asignarlo al control table, y establecer las columnas que mostraras, asi como si podran ser editables (ojo, editables solo funciona enlazado directo a una tabla o cuando es llenada por programacion)
para mostrar datos en campos individuales, desde el explorador de proyectos, buscas la tabla y arrastras los campos a la ventana y quedan enlazados a la tabla, de todas formas si das click con el boton derecho sobre el control y seleccionas "Description" puedes ver todas las propiedades del control, incluyendo en enlace a la tabla...
tengo un grupo de whatsapp con mas de 150 miembros, dispuestos a aayudar, por si te interesa, se comparten tutoriales, y demas por si te interesa
https://chat.whatsapp.com/BWw6a28BzmEI8VYdK6caVO |
| |
| |
| | | |
|
| | | | |
| | |
|