Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   ¿saber si una fecha o mas estan dentro de un rango de fechas? (https://www.clubdelphi.com/foros/showthread.php?t=69414)

JXJ 17-08-2010 00:31:29

¿saber si una fecha o mas estan dentro de un rango de fechas?
 
esta es mi duda. parece sencilla pero no le encuentro solucion
tengo firebird 2.1 y delphi 7. con DBXpress

¿como puedo saber si una fecha esta en un rango de fechas?

esto por que diario se hacen reportes de incidentes.
y hay dias que no hubo mas 2 o 3 incidentes. entonces
se hace un reporte por rango de fechas.


quiero avisar si dentro del rango de fechas ya se reporto el
incidente.

ejemplo de muestra

se va a hacer un reporte por que hubo pocos incidentes
del lunes 2 de de Agosto de 2010 al viernes 20 de agosto de 2010
pero el dia 11 de agosto si se hizo un reporte.
entonces avisar que el incidente ya esta reportado.

a lo mejor se reportaron ya 2 incidentes el 10, 11 de agosto
pero el resto de fechas en el rango estan en blanco.

guillotmarc 17-08-2010 12:57:02

Para verificar si una fecha está dentro de un rango, se suele utilizar el operador BETWEEN.

Ejemplo.

WHERE fecha_resolucion BETWEEN '9-1-2010' AND '9-29-2010'

NOTA: Fíjate que si le pasas fechas como cadena al motor de Firebird, tiene que usar el formato americano : mes-dia-año

JXJ 18-08-2010 02:24:35

Gracias
guillotmarc


una duda.. mas

como capturo el resultado para saber que paso con la consulta
con el firebirdmaesto

yo pongo

Código SQL [-]
Select  TABLA.FECHA,   TABLA.TIPO 
FROM 
TABLA
WHERE 
TIPO = 'X'
 AND  
  Fecha  
  BETWEEN '07/10/2010' and '08/07/2010'

Caral 18-08-2010 02:36:11

Hola
Que es el Firebird Maestro?.
Saludos

JXJ 18-08-2010 02:45:23

http://www.sqlmaestro.com/products/firebird/maestro/

es como el ibmanager.

Firebird Maestro is the premier Firebird admin tool for database management, control and development. Key features include:

* Support for all Firebird versions from 1.0 to 2.5
* Easy database object management
* Database Designer
* Data management: editing, grouping, sorting and filtering abilities
* Comfortable access to Firebird security features
* Handy SQL Editor with code folding and multi-threading
* Visual Query Builder with support for subqueries and UNIONS
* Working with remote Firebird servers via SSH tunnel
* Data export/import to/from the most popular formats
* Powerful BLOB Viewer/Editor

The application also provides you with a powerful set of tools to manage Firebird users and roles, edit and execute SQL scripts, build visual diagrams for numeric data, compose OLAP cubes, and much more.

With all these features our software will be an everyday assistant in your work with Firebird database server.

Caral 18-08-2010 02:50:48

Hola
Ahh, creo que lo he visto.
El que uso es IBExpert que me parece muy sencillo y bueno para firebird.
Saludos
PD: Ademas es el que me recomendó mi Maestro Casimiro Notevi

JXJ 18-08-2010 02:51:42

puese un query

Código Delphi [-]

var
fechadevueltaS :String;

with SQLQuery1 do
begin
close;
 SQL.Clear;
            SQL.Add('Select  TABLA.FECHA,  TABLA.TIPO FROM TABLA WHERE TIPO = 'X' AND  Fecha  BETWEEN  '07/10/2010' and '08/07/2010' ');
Open;
 while (not Eof) do
         begin

             fechadevueltaS :=(fieldbyname('fecha').AsString);
            Next;
         end;
   end;

Caral 18-08-2010 02:55:52

Hola
No entiendo para que tanta cosa?.
Saludos

Caral 18-08-2010 03:04:59

Hola
Me explico:
1-Una variable string para sacar un dato date.
2-Unas fechas especificas sin poder cambiarlas.
3-Recorrer la tabla, para que?.
4-Uso de Add (me molesta).:)
Saludos

Caral 18-08-2010 03:24:21

Hola
Yo lo haría así:
Código Delphi [-]
var
fechadevueltaS :Date;
with SQLQuery1 do
begin
SQL.Text:= 'Select  TABLA.FECHA, TABLA.TIPO FROM TABLA WHERE TIPO = :a AND  Fecha >= :Fech1 AND Fecha <= :fech2 ';
Params[0].Value:= 'X';
Params[1].Value:= DateToStr(DTP1.Date);
Params[2].Value:= DateToStr(DTP2.Date);
Open;
fechadevueltaS := fieldbyname('fecha').AsDate;

end;
end;
Saludos

JXJ 18-08-2010 04:39:28

hoooo..

nunca se me hubiera ocurrido hacerlo asi caral

jacanche 19-08-2010 19:39:17

y si hubiera mas registros?, no te interesarian?

JXJ 20-08-2010 20:32:46

jacanche

si me interesaria. pero no se como lo podria hacer
para modificar la consulta. y pedir mas regristos...

Caral 20-08-2010 20:49:34

Hola
Le podemos pedir mas registros al vecino, tal vez tenga también una BD igual.
No entiendo a que se refieren con mas registros, la consulta dará TODOS los registros que cumplan con el criterio X en el rango de fechas.
De donde sacamos mas registros?????????????????????????
Saludos

Casimiro Notevi 20-08-2010 23:32:31

Yo tampoco entiendo qué quiére decir con "si hubiera más registros" :confused:

Caral 21-08-2010 01:59:46

Hola
Puede ser que a jacanche le esten sobrando registros de alguna BD y quiera venderlos, pero no es que esta prohibido hacer spam ?:D:D:D
Saludos

Casimiro Notevi 21-08-2010 03:15:19

ja, ja... no creo, seguro que tiene alguna explicación razonable :)

guillotmarc 25-08-2010 23:55:43

Seguramente se trata de algo como sacar los datos en grupos de 50 registros, o bien que una vez sacados los datos de ese intervalo de fechas, sacar posteriormente los de la semana siguiente, etc. ...

Está claro que hacen falta más explicaciones.

Saludos.


La franja horaria es GMT +2. Ahora son las 04:44:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi