Crear procedimiento

19/03/2005 - 20:14 por Pedro M Glez | Informe spam
Hola a todos,
Me incoporo a este grupo desde el grupo de Access. Estoy intentando
migrar desde Access a SQL mediante un proyecto ADP para que no se me
haga muy dificil a ver esto.
El problema ya viene en las consultas, pues tengo que pasarlas a
procedimientos almacenados.
Quiero que en funcion de un campo de un formulario me busque ese dato, y
si está en blanco q me salgan todos. Eso lo hacia en access con '* &
campo & *' ,pero , como lo hago en SQL?
Tengo esto:

CREATE PROCEDURE dbo.spAsuntoNota @Nota varchar(200)
AS SELECT dbo.[tblNOTAS-INTERNAS].*
FROM dbo.[tblNOTAS-INTERNAS]
WHERE ([tblNOTAS-INTERNAS].Asunto LIKE @Nota)
GO

Pero esto me vale si sé como es el asunto en concreto, pero no para una
cadena dentro de ese campo.

Os paso lo que tengo en la consulta de access por si os vale de algo.

SELECT [tblNOTAS-INTERNAS].IdNotaInterna, [tblNOTAS-INTERNAS].Fecha,
[tblNOTAS-INTERNAS].Para, [tblNOTAS-INTERNAS].Asunto
FROM [tblNOTAS-INTERNAS]
WHERE ((([tblNOTAS-INTERNAS].Para) Like "*" &
[forms]![frmBUSCAR-NOTA-INTERNA]![txtBuscarPARA] & "*") AND
(([tblNOTAS-INTERNAS].Asunto) Like "*" &
[forms]![frmBUSCAR-NOTA-INTERNA]![txtBuscarASUNTO] & "*"))
ORDER BY [tblNOTAS-INTERNAS].Fecha DESC;

Muchas gracias, y espero estar por este grupo más veces, pero de momento
preguntando para saber, ya que soy novato en esto.
Saludos,


Pedro Muñoz
La Coruña
 

Leer las respuestas

#1 Alejandro Mesa
20/03/2005 - 02:41 | Informe spam
Trata:

CREATE PROCEDURE dbo.spAsuntoNota
@para varchar(200),
@asunto varchar(200)
AS
set nocount on

declare @p varchar(200)
declare @a varchar(200)

set @p = coalesce('%' + @para + '%', '%')
set @a = coalesce('%' + @asunto + '%', '%')

SELECT
[tblNOTAS-INTERNAS].IdNotaInterna,
[tblNOTAS-INTERNAS].Fecha,
[tblNOTAS-INTERNAS].Para,
[tblNOTAS-INTERNAS].Asunto
FROM
[tblNOTAS-INTERNAS]
WHERE
[tblNOTAS-INTERNAS].Para) Like @p
AND [tblNOTAS-INTERNAS].Asunto) Like @a
ORDER BY
[tblNOTAS-INTERNAS].Fecha DESC;

return @@error
go


AMB

"Pedro M Glez" wrote:

Hola a todos,
Me incoporo a este grupo desde el grupo de Access. Estoy intentando
migrar desde Access a SQL mediante un proyecto ADP para que no se me
haga muy dificil a ver esto.
El problema ya viene en las consultas, pues tengo que pasarlas a
procedimientos almacenados.
Quiero que en funcion de un campo de un formulario me busque ese dato, y
si está en blanco q me salgan todos. Eso lo hacia en access con '* &
campo & *' ,pero , como lo hago en SQL?
Tengo esto:

CREATE PROCEDURE dbo.spAsuntoNota @Nota varchar(200)
AS SELECT dbo.[tblNOTAS-INTERNAS].*
FROM dbo.[tblNOTAS-INTERNAS]
WHERE ([tblNOTAS-INTERNAS].Asunto LIKE @Nota)
GO

Pero esto me vale si sé como es el asunto en concreto, pero no para una
cadena dentro de ese campo.

Os paso lo que tengo en la consulta de access por si os vale de algo.

SELECT [tblNOTAS-INTERNAS].IdNotaInterna, [tblNOTAS-INTERNAS].Fecha,
[tblNOTAS-INTERNAS].Para, [tblNOTAS-INTERNAS].Asunto
FROM [tblNOTAS-INTERNAS]
WHERE ((([tblNOTAS-INTERNAS].Para) Like "*" &
[forms]![frmBUSCAR-NOTA-INTERNA]![txtBuscarPARA] & "*") AND
(([tblNOTAS-INTERNAS].Asunto) Like "*" &
[forms]![frmBUSCAR-NOTA-INTERNA]![txtBuscarASUNTO] & "*"))
ORDER BY [tblNOTAS-INTERNAS].Fecha DESC;

Muchas gracias, y espero estar por este grupo más veces, pero de momento
preguntando para saber, ya que soy novato en esto.
Saludos,


Pedro Muñoz
La Coruña


Preguntas similares