Vistas utilizando criterios o parametros

04/11/2003 - 16:58 por Alexandra | Informe spam
Hola Grupo,

Necesito crear una vista en SQL que dependa de un criterio
de búsqueda, es decir, tengo una vista simple (campos de 1
sola tabla) y selecciono varios campos, en el Where
planteo que la clave primaria es = ?

Ejemplo:

SELECT Nrobien, CodCatalogo, NroBienAnterior,
IdUnidad, IdEdificio, NumEspacioFisico
FROM BienMueble
WHERE (Nrobien = ?)

Al momento de ejecutar la consulta en el panel de diseño
de Vistas, me arroja los resultados perfectos, pero al
guardar la vista me lanza un error ODBC:[Microsoft] [ODBC
SQL Server Driver]Campo COUNT erróneo o error de sintaxis
y por ende no me deja guardarla.

Otro detalle, es que revise la ayuda de SQL y me dice que
verifique las propiedades del panel de diseño de vista que
deben salir 3 pestañas... [Ficha Consulta, Ficha
Parámetros y Ficha Línea de combinación] pero a mi solo me
sale una, la Ficha Consulta. La Ficha Parámetros NO ME
SALE, por lo que no se donde colocar el caracter de escape.

Espero me puedan ayudar... gracias de antemano.

No se si será... q necesito un Service Pack???

Preguntas similare

Leer las respuestas

#6 Gustavo Larriera [MVP]
05/11/2003 - 02:32 | Informe spam
SQL Server es un servidor por tanto no tiene herramientas para desarrollar
un programa cliente (que es lo que tú estás necesitando).

En tu caso deberias programar un formulario (Access, Visual Basic, etc.) que
solicite el dato al usuario, pulsa clic en algún botón y allí el programa se
conecta al SQL Server, ejecuta la consulta usando la FUNCTION. El recordset
con los resultados el programa los debería mostrar, tal vez en una grilla.

Pero todo esto hay que programarlo del lado cliente. No es juridiscción del
SQL Server.

Muchos saludos
gux

Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties expressed or implied,
and confers no rights.


"Alexandra" wrote in message
news:00ef01c3a306$74388be0$
Hola Gustavo:

Ante todo muchas gracias por tu respuesta, ya realizé la
función pero te queria preguntar si se puede hacer lo
siguiente...

En vez de enviarle el valor, necesito que el usuario la
ingrese, algo asi como que ejecute la vista y le salga un
cuadro de dialogo "Introduzca el valor" y ese sea el valor
q le paso a la funcion por parametro.

SELECT * FROM ufn_SalesByStore('????')


No es posible hacer un CREATE VIEW paramétrico. Pero


puedes crearte un
comportamiento análogo usando una función. Por ejemplo:

USE pubs
GO

CREATE FUNCTION ufn_SalesByStore (@storeid varchar(30))
RETURNS TABLE
AS
RETURN (SELECT title, qty
FROM sales s, titles t
WHERE s.stor_id = @storeid and
t.title_id = s.title_id)

GO

SELECT * FROM ufn_SalesByStore('6380')



Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties


expressed or implied,
and confers no rights.


"Alexandra" wrote


in message
news:06ec01c3a2ec$8d8c0050$
Hola Grupo,

Necesito crear una vista en SQL que dependa de un criterio
de búsqueda, es decir, tengo una vista simple (campos de 1
sola tabla) y selecciono varios campos, en el Where
planteo que la clave primaria es = ?

Ejemplo:

SELECT Nrobien, CodCatalogo, NroBienAnterior,
IdUnidad, IdEdificio, NumEspacioFisico
FROM BienMueble
WHERE (Nrobien = ?)

Al momento de ejecutar la consulta en el panel de diseño
de Vistas, me arroja los resultados perfectos, pero al
guardar la vista me lanza un error ODBC:[Microsoft] [ODBC
SQL Server Driver]Campo COUNT erróneo o error de sintaxis
y por ende no me deja guardarla.

Otro detalle, es que revise la ayuda de SQL y me dice que
verifique las propiedades del panel de diseño de vista que
deben salir 3 pestañas... [Ficha Consulta, Ficha
Parámetros y Ficha Línea de combinación] pero a mi solo me
sale una, la Ficha Consulta. La Ficha Parámetros NO ME
SALE, por lo que no se donde colocar el caracter de


escape.

Espero me puedan ayudar... gracias de antemano.

No se si será... q necesito un Service Pack???


.

Respuesta Responder a este mensaje
#7 Anonimo
05/11/2003 - 15:00 | Informe spam
Muchas Gracias Gustavo, me fue de gran ayuda tu opinion.
Hice el formulario en access y funciono perfecto.

Atentamente,

Alexandra


SQL Server es un servidor por tanto no tiene herramientas


para desarrollar
un programa cliente (que es lo que tú estás necesitando).

En tu caso deberias programar un formulario (Access,


Visual Basic, etc.) que
solicite el dato al usuario, pulsa clic en algún botón y


allí el programa se
conecta al SQL Server, ejecuta la consulta usando la


FUNCTION. El recordset
con los resultados el programa los debería mostrar, tal


vez en una grilla.

Pero todo esto hay que programarlo del lado cliente. No


es juridiscción del
SQL Server.

Muchos saludos
gux

Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties


expressed or implied,
and confers no rights.


"Alexandra" wrote


in message
news:00ef01c3a306$74388be0$
Hola Gustavo:

Ante todo muchas gracias por tu respuesta, ya realizé la
función pero te queria preguntar si se puede hacer lo
siguiente...

En vez de enviarle el valor, necesito que el usuario la
ingrese, algo asi como que ejecute la vista y le salga un
cuadro de dialogo "Introduzca el valor" y ese sea el valor
q le paso a la funcion por parametro.

SELECT * FROM ufn_SalesByStore('????')


No es posible hacer un CREATE VIEW paramétrico. Pero


puedes crearte un
comportamiento análogo usando una función. Por ejemplo:

USE pubs
GO

CREATE FUNCTION ufn_SalesByStore (@storeid varchar(30))
RETURNS TABLE
AS
RETURN (SELECT title, qty
FROM sales s, titles t
WHERE s.stor_id = @storeid and
t.title_id = s.title_id)

GO

SELECT * FROM ufn_SalesByStore('6380')



Gustavo Larriera, MSFT MVP-SQL
Uruguay LatAm

This message is provided "AS IS" with no warranties


expressed or implied,
and confers no rights.


"Alexandra" wrote


in message
news:06ec01c3a2ec$8d8c0050$
Hola Grupo,

Necesito crear una vista en SQL que dependa de un




criterio
de búsqueda, es decir, tengo una vista simple (campos de




1
sola tabla) y selecciono varios campos, en el Where
planteo que la clave primaria es = ?

Ejemplo:

SELECT Nrobien, CodCatalogo, NroBienAnterior,
IdUnidad, IdEdificio, NumEspacioFisico
FROM BienMueble
WHERE (Nrobien = ?)

Al momento de ejecutar la consulta en el panel de diseño
de Vistas, me arroja los resultados perfectos, pero al
guardar la vista me lanza un error ODBC:[Microsoft] [ODBC
SQL Server Driver]Campo COUNT erróneo o error de sintaxis
y por ende no me deja guardarla.

Otro detalle, es que revise la ayuda de SQL y me dice que
verifique las propiedades del panel de diseño de vista




que
deben salir 3 pestañas... [Ficha Consulta, Ficha
Parámetros y Ficha Línea de combinación] pero a mi solo




me
sale una, la Ficha Consulta. La Ficha Parámetros NO ME
SALE, por lo que no se donde colocar el caracter de


escape.

Espero me puedan ayudar... gracias de antemano.

No se si será... q necesito un Service Pack???


.





.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida