Gracias oscar por tu respuesta, pero te comento, lo que estoy haciendo es en
un form y mediante el ENTORNO DATOS/GENERADOR, creo un cursoradapter, defino
todos los parametros, pero el problema es que al ejecutar, siempre me trae
todos los datos, y si la table de la base SQL tiene muchos registros (180
000) tarda mucho en cargarlos cuando despues yo solo voy a usar un solo
registro.
Estro anterior es lo que quiero hacer, es decir que al acceder a SQL solo
traiga el registro que yo le indico, no que traiga todos y despues yo
selecciono el que quiero.
Un saludo
-------Mensaje original-------
De: oscar.zarate
Fecha: 22/03/2007 23:58:16
Para: gufa List Member
Asunto: [gufa] Vista en SQL - RESUELTO
Rodrigo,
Si yo no me equivoco, lo que queres hacer es una vista parametrizada
(como se hacia hace ... 10 anios Antonio? :-)
La idea es la siguiente:
El codigo de tu vista es:
SELECT Table1.a, Table1.b;
FROM ;
data1!table1;
WHERE Table1.a = ( ?lcPar )
Donde lcPar es el parametro. Si abris la vista, te aparece un cuadro de
dialogo (que feo que escribo) pidiendote el valor del parametro, pero si
le asignas a lcPar un valor antes de abrirla, no te abre ese Input.
Entonces, en tu codigo:
haces ... en el Load: Use View1 NODATA (no trae ningun dato)
Cuando lo necesitas: haces lcPar = "123" o lo que sea y REQUERY("View1")
Eso se hacia hace mucho ... ahora seria mejor que uses un CursorAdapter,
pero ...
Espero no haber ... hecho pipi afuero del tarro :-)
SaludOZ
|\_/|
(.. )
- /
-----Original Message-----
From: "R. Rodrigo" <[EMAIL PROTECTED]>
To: "gufa List Member" <gufa@mug.org.ar>
Date: Thu, 22 Mar 2007 16:23:46 +0100 (Hora estándar romance)
Subject: [gufa] Vista en SQL - RESUELTO
> Gracias a todos por contestar mi consulta.
>
> Ya lo solucione tomando un poco de lo que cada uno me dijeron. No se si
> sera
> la forma más ortodoxa, pero funciona al cien por cien y el tiempo de
> respuesta es insignificante.
>
> Lo comento a continución por si le sirve a alguien.
>
> 1 - En el servidor SQL he creado una tabla a la que llamo VARIABLES
> donde
> defino los campo que me interesan, en mi caso solo necesito 5 variables
> (var1,vae2,etc.)
> En esta tabla que solo tiene un registro, guardo mediante el form de
> la
> aplicación la variable de los registros que me quiero traer
> (lote,dni,codigo
> etc.)
>
> 2 - En el servidor SQL creo la siguiente vista:
>
> CREATE VIEW dbo.zz_stocks_lotes_cabecera
> AS
> SELECT dbo.lotes_cabecera.*
> FROM dbo.lotes_cabecera inner join variables on
> lote_interno=var1
>
> Donde seleccione los registros que cumplen la condición
> lote_interno=var1
> (var1 es el campo de la tabla variables.)
>
>
> 3 - En el form, cuando cambio el valor intoducido para numero de lote,
> lo
> que hago es :
>
> SELECT variables
> Replace var1 WITH this.Value (nuevo valor introducido al lote)
> REQUERY()
> *
> SELECT lotes_cabecera
> REQUERY()
> GO top
>
> Trae perfectamente los registros que corresponde al lote pedido y sin
> ningun
> retardo.
>
>
>
> Espero mi solución le sirva a alguien más
>
> Un saludo
>
>
>
> -------Mensaje original-------
>
> De: Sergio Suarez
> Fecha: 22/03/2007 15:49:47
> Para: gufa List Member
> Asunto: [gufa] Vista en SQL
>
> Hola, se me ocurre que si el cursor no es actualizable lo podes crear a
> traves de una consulta usando sqlexec(), si queres la solucion por el
> lado
> del servidor creo que te seria mejor armar una store procedere que le
> pases
> el parametro en el servidor y que esta te devuelva el cursor.
> Saludos.
>
>
>
> On Jue Mar 22 10:58 , 'R. Rodrigo' <[EMAIL PROTECTED]> sent:
>
>
> Gracias por contestar, pero te comento, el problema es el siguiente:
>
> En el entorno de datos, y mediante el generedor, he creado un conexión
> a SQL
> defino los parametros, y puedo acceder a los datos SQL como si de una
> tabla
> se tratase sin ningun problema.
>
> El problema es que al iniciar el form, el cursoradapter se trae todos
> los
> datos y relentiza bastante si son muchos, a conitnuación selecciona el
> lote
> del producto y a partir de aqui todo va bien, ya no se hace lento.
>
> Si en el generador le marco que INICALMENTE NO CARGUE DATOS, que sería
> lo
> logico, y luego seleccionar el lote que nos interesa, entonces no
> consigo
> traer ningun datos.
>
> Ahora bien, si el SELECT anterior que lo alojo en sel SQ y selecciono
> por
> constante el lote del producto, la respuesta es instantanea, pero solo
> me
> sirve para ese producto.
>
> Es por esto que buscaba la forma de en el SERVIDOR SQL, aloja un select
> que
> la condicion WHERE fuera contra un avariable de memoria, y en la
> aplicación
> según le indique el valor a esta variable fuera trayendo los datos
> correspondientes.
>
> Espero haberme explicado un poco más
>
> Gracias
>
> Un saludo
> R. Rodrigo
>
>
> -------Mensaje original-------
>
> De: Omar Bellio
> Fecha: 22/03/2007 13:44:43
> Para: gufa List Member
> Asunto: [gufa] Vista en SQL
>
> No, yo lo que hago es filtrar el select cuando uso la vista
>
> Select * (es mejor poner los campos, aunque sean todos) from
> zz_stocks_lotes_producto where Lote_Interno = '060612011'
>
>
>
>
> De: gufa@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de R. Rodrigo
> Enviado el: Thursday, March 22, 2007 7:36 AM
> Para: gufa List Member
> Asunto: [gufa] Vista en SQL
>
>
> Amigos, alguien puede decirme lo siguiente:
>
> En una vista en SQL de lado del servidor :
>
> CREATE VIEW dbo.zz_stocks_lotes_producto
> AS
> SELECT dbo.lotes_producto.*
> FROM dbo.lotes_producto
> Where dbo.lotes_producto.Lote_Interno='060612011'
>
>
> Seleccionamos los registros que cumplan la condicion de la constante
> lotes_producto.Lote_Interno='060612011'
>
> Pero lo que busco, si se puede, es cambiar esta constante por una
> varible
> para poder cambiar el criterio de selección dentro del formulario
> según el
> valor que se introduzca.
>
> Es esto posible ?????
>
> Gracias y un saludo
>
> R. Rodrigo
>
>
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.5.446 / Virus Database: 268.18.16/729 - Release Date:
> 21/03/2007
> 7:52 AM
>
>
>
> __________ Información de NOD32, revisión 2135 (20070322) __________
>
> Este mensaje ha sido analizado con NOD32 antivirus system
> http://www.nod32.com
>
>
>
>
>
>
__________ Información de NOD32, revisión 2137 (20070322) __________
Este mensaje ha sido analizado con NOD32 antivirus system
http://www.nod32.com