Select y tabla temporal

02/07/2004 - 17:54 por iker | Informe spam
Buenas tardes, y primeramente gracias por vuestra ayuda.

Resulta que tengo que hacer un formulario donde tengo que mostrar las horas
en funcion de un intervalo de tiempo que cojo de la tabla agenda. Es decir
si el intervalo es 10 (min) el form sera:
9:00 - 9:10
9:10 - 9:20
9:20 - 9:30
...
asimismo, algunos de esos intervalos (9:10 - 9:20) por ejemplo estara
ocupado, por lo que tendria que tacharlo o cambiarlo de color.

He pensado que para ello, tendria primero que coger el intervalo de la
agenda, crear una tabla temporal(con dos campos, 1 el intervalo y otro un
boleeano) con los intervalos (9:00,9:10,9:20,9:30,...) y si el esta ocupado
(mirandolo de la tabla citas) marcarlo como true.

Como puedo crear todo esto y que me devuelva una select? un stored
procedure, una funcion? un view? algun ejemplo parecido para echar un
vistazo?

Gracias.

Preguntas similare

Leer las respuestas

#1 Fernando España
02/07/2004 - 19:27 | Informe spam
existe un activx que te permite mostrar toda esa informacion en tu form con
cualquier intervalo y tu tabla unicamente la diseñas con el id de usuario
fecha y el se encarga de manejar las horas. busca calendar activx no tengo a
la mano la direccion pero es muy practico para ese tipo de aplicaciones.



Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"iker" escribió en el mensaje
news:
Buenas tardes, y primeramente gracias por vuestra ayuda.

Resulta que tengo que hacer un formulario donde tengo que mostrar las


horas
en funcion de un intervalo de tiempo que cojo de la tabla agenda. Es decir
si el intervalo es 10 (min) el form sera:
9:00 - 9:10
9:10 - 9:20
9:20 - 9:30
...
asimismo, algunos de esos intervalos (9:10 - 9:20) por ejemplo estara
ocupado, por lo que tendria que tacharlo o cambiarlo de color.

He pensado que para ello, tendria primero que coger el intervalo de la
agenda, crear una tabla temporal(con dos campos, 1 el intervalo y otro un
boleeano) con los intervalos (9:00,9:10,9:20,9:30,...) y si el esta


ocupado
(mirandolo de la tabla citas) marcarlo como true.

Como puedo crear todo esto y que me devuelva una select? un stored
procedure, una funcion? un view? algun ejemplo parecido para echar un
vistazo?

Gracias.


Respuesta Responder a este mensaje
#2 Isaías
02/07/2004 - 20:03 | Informe spam
Mi estimado James Bond, aqui esta la información:

Calendar WidgetsT

Sheridan Reusable Components

Version 1.0d
October 31, 1997

© 1993-1997 Sheridan Software Systems, Inc.
35 Pinelawn Road
Melville, N.Y. 11747 USA

Voice (516) 753-0985
Fax (516) 753-3661

Internet http://www.shersoft.com
Internet mail
Respuesta Responder a este mensaje
#3 Fernando España
02/07/2004 - 22:43 | Informe spam
orales!!.. Que eficiencia.. jajajaja



Fernando España
Gerente Informatica
Alta Tecnologia en Informatica S.A.
www.atisa.com.gt
7a. calle 4-34 Zona 10
Guatemala Centro America
PBX: (502) 3620005

Email:

****************************************

"Isaías" escribió en el mensaje
news:24e4001c4605e$e830ef90$
Mi estimado James Bond, aqui esta la información:

Calendar WidgetsT

Sheridan Reusable Components

Version 1.0d
October 31, 1997

© 1993-1997 Sheridan Software Systems, Inc.
35 Pinelawn Road
Melville, N.Y. 11747 USA

Voice (516) 753-0985
Fax (516) 753-3661

Internet http://www.shersoft.com
Internet mail
Respuesta Responder a este mensaje
#4 Javier Loria
03/07/2004 - 15:45 | Informe spam
Hola:
En cuanto al SQL, una alternativa es:
a) Crea una Tabla de Numeros y llenala del 1 en adelante. (Es una tabla
de ayuda muy util para este tipo de Consultas).
=CREATE TABLE Numeros (
Numero int NOT NULL
PRIMARY KEY CLUSTERED
)
= b) Crea una Vista con los Rangos Horarios, en este caso asumo que son
los de hoy:
=CREATE VIEW RangosHorariosHoy
AS
SELECT DATEADD(minute,
(Numero-1)*10,CONVERT(SMALLDATETIME,CONVERT(CHAR(10),CURRENT_TIMESTAMP,
112)+ '09:00:00')) AS Desde
, DATEADD(minute,
Numero*10,CONVERT(SMALLDATETIME,CONVERT(CHAR(10),CURRENT_TIMESTAMP, 112)+
'09:00:00')) AS Hasta
FROM Numeros
WHERE Numero<55
= c) Utiliza un JOIN entre la Tabla de Citas y esta Vista:
=SELECT RangosHorariosHoy.Desde
, RangosHorariosHoy.Hasta
, COUNT(Citas.FechaCita)
FROM RangosHorariosHoy
LEFT JOIN Citas
ON Fecha.FechaCita>=RangosHorariosHoy.Desde
AND Fecha.FechaCita<RangosHorariosHoy.Hasta
GROUP BY RangosHorariosHoy.Desde
, RangosHorariosHoy.Hasta
= La sintaxis anterior puede ser una consulta, o una vista o puedes
ponerla en un Procedimiento.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.



iker escribio:
Buenas tardes, y primeramente gracias por vuestra ayuda.

Resulta que tengo que hacer un formulario donde tengo que mostrar las
horas en funcion de un intervalo de tiempo que cojo de la tabla
agenda. Es decir si el intervalo es 10 (min) el form sera:
9:00 - 9:10
9:10 - 9:20
9:20 - 9:30
...
asimismo, algunos de esos intervalos (9:10 - 9:20) por ejemplo estara
ocupado, por lo que tendria que tacharlo o cambiarlo de color.

He pensado que para ello, tendria primero que coger el intervalo de la
agenda, crear una tabla temporal(con dos campos, 1 el intervalo y
otro un boleeano) con los intervalos (9:00,9:10,9:20,9:30,...) y si
el esta ocupado (mirandolo de la tabla citas) marcarlo como true.

Como puedo crear todo esto y que me devuelva una select? un stored
procedure, una funcion? un view? algun ejemplo parecido para echar un
vistazo?

Gracias.
Respuesta Responder a este mensaje
#5 iker
05/07/2004 - 18:44 | Informe spam
Muchas gracias a todos por responder.

Este ultimo codigo es que mas se aproxima a lo que andaba buscando y muchas
gracias a ti en especial jejeje

iKER-

"Javier Loria" escribió en el mensaje
news:
Hola:
En cuanto al SQL, una alternativa es:
a) Crea una Tabla de Numeros y llenala del 1 en adelante. (Es una


tabla
de ayuda muy util para este tipo de Consultas).
=> CREATE TABLE Numeros (
Numero int NOT NULL
PRIMARY KEY CLUSTERED
)
=> b) Crea una Vista con los Rangos Horarios, en este caso asumo que son
los de hoy:
=> CREATE VIEW RangosHorariosHoy
AS
SELECT DATEADD(minute,
(Numero-1)*10,CONVERT(SMALLDATETIME,CONVERT(CHAR(10),CURRENT_TIMESTAMP,
112)+ '09:00:00')) AS Desde
, DATEADD(minute,
Numero*10,CONVERT(SMALLDATETIME,CONVERT(CHAR(10),CURRENT_TIMESTAMP, 112)+
'09:00:00')) AS Hasta
FROM Numeros
WHERE Numero<55
=> c) Utiliza un JOIN entre la Tabla de Citas y esta Vista:
=> SELECT RangosHorariosHoy.Desde
, RangosHorariosHoy.Hasta
, COUNT(Citas.FechaCita)
FROM RangosHorariosHoy
LEFT JOIN Citas
ON Fecha.FechaCita>=RangosHorariosHoy.Desde
AND Fecha.FechaCita<RangosHorariosHoy.Hasta
GROUP BY RangosHorariosHoy.Desde
, RangosHorariosHoy.Hasta
=> La sintaxis anterior puede ser una consulta, o una vista o puedes
ponerla en un Procedimiento.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.



iker escribio:
> Buenas tardes, y primeramente gracias por vuestra ayuda.
>
> Resulta que tengo que hacer un formulario donde tengo que mostrar las
> horas en funcion de un intervalo de tiempo que cojo de la tabla
> agenda. Es decir si el intervalo es 10 (min) el form sera:
> 9:00 - 9:10
> 9:10 - 9:20
> 9:20 - 9:30
> ...
> asimismo, algunos de esos intervalos (9:10 - 9:20) por ejemplo estara
> ocupado, por lo que tendria que tacharlo o cambiarlo de color.
>
> He pensado que para ello, tendria primero que coger el intervalo de la
> agenda, crear una tabla temporal(con dos campos, 1 el intervalo y
> otro un boleeano) con los intervalos (9:00,9:10,9:20,9:30,...) y si
> el esta ocupado (mirandolo de la tabla citas) marcarlo como true.
>
> Como puedo crear todo esto y que me devuelva una select? un stored
> procedure, una funcion? un view? algun ejemplo parecido para echar un
> vistazo?
>
> Gracias.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida