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
 
 

Responder a