Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2008
Yensis22 Yensis22 is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 19
Yensis22 Va por buen camino
Question Consulta por fecha query delphi 7

esta consuta me esta ando un error y la base de datos esta en access

este es codigo del query

*************
SELECT Cod_Equipos, Equipos, Nombre_Cliente, Descripcion, Marca, Modelo, Serial, Fecha_Inicio, Dat_averia, Status, Fecha_Final
FROM "Equipos.db" Equipos
WHERE (Fecha_Inicio>= :fecha1) and (Fecha_Inicio <= :fecha2)

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


$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
y en el parametroes tengo estas dos variables

0- fecha1 DATATYPE (FTDATE) Y PARAMETYPE (PTLNPUT)

1- fecha2 DATATYPE (FTDATE) Y PARAMETYPE (PTLNPUT)

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


y en el From tengo este codigo lo que esta en rojo es donde se para el cursol

********************************
unit FConsuFechaEquip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, Grids, DBGrids, ExtCtrls, Buttons;
type
TFConsuEquiFech = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Bevel1: TBevel;
Label1: TLabel;
Label4: TLabel;
Label6: TLabel;
DBGrid1: TDBGrid;
Desde: TMaskEdit;
Hasta: TMaskEdit;
DBMemo1: TDBMemo;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
procedure SpeedButton4Click(Sender: TObject);
procedure DesdeExit(Sender: TObject);
procedure HastaExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FConsuEquiFech: TFConsuEquiFech;
implementation
uses login;
{$R *.dfm}
procedure TFConsuEquiFech.SpeedButton4Click(Sender: TObject);
begin
Close ();
end;

procedure TFConsuEquiFech.DesdeExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if A > B then
Begin
Showmessage('La Fecha inicial no Puede ser Mayor que la Final');
desde.clear;
Activecontrol:= desde;
End;
end;
procedure TFConsuEquiFech.HastaExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if B < A then
Begin
Showmessage('La Fecha Final no Puede ser Menor que la Inicial');
Hasta.clear;
Activecontrol:= Hasta;
End;
end;
procedure TFConsuEquiFech.FormShow(Sender: TObject);
begin
desde.Clear;
hasta.Text := datetostr(now);
Desde.Text := datetostr(now);
end;


procedure TFConsuEquiFech.SpeedButton1Click(Sender: TObject);
begin
With ConexionDB do begin
QEquiposporFech.active :=false;
QEquiposporFech.ParamByName('fecha1').AsDate:=StrToDate(desde.text);
QEquiposporFech.ParamByName('fecha2').AsDate:=StrToDate(hasta.text);
QEquiposporFech.active :=true;
// QEquiposporFech.Dataset := QEquiposporFech;
QEquiposporFech := Desde;
QEquiposporFech := Hasta;
end;
end.
*******************************


esto son los erroere que manda

[Error] FConsuFechaEquip.pas(100): Incompatible types: 'TQuery' and 'TMaskEdit'
[Error] FConsuFechaEquip.pas(101): Incompatible types: 'TQuery' and 'TMaskEdit'
[Error] FConsuFechaEquip.pas(105): ';' expected but '.' found
[Error] FConsuFechaEquip.pas(107): Declaration expected but end of file found
[Fatal Error] Facturacion.dpr(21): Could not compile used unit 'FConsuFechaEquip.pas'
Responder Con Cita
  #2  
Antiguo 25-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Primera observación, usa las etiquetas:
Despues de analizarlo con las etiquetas, lo veremos.

Código SQL [-]
SELECT Cod_Equipos, Equipos, Nombre_Cliente, Descripcion, Marca, Modelo, Serial, Fecha_Inicio, Dat_averia, Status, Fecha_Final
FROM "Equipos.db" Equipos
WHERE (Fecha_Inicio>= :fecha1) and (Fecha_Inicio <= :fecha2)

Código Delphi [-]
unit FConsuFechaEquip;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, Grids, DBGrids, ExtCtrls, Buttons;
type
TFConsuEquiFech = class(TForm)
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Label2: TLabel;
Label3: TLabel;
Label5: TLabel;
Bevel1: TBevel;
Label1: TLabel;
Label4: TLabel;
Label6: TLabel;
DBGrid1: TDBGrid;
Desde: TMaskEdit;
Hasta: TMaskEdit;
DBMemo1: TDBMemo;
DBComboBox1: TDBComboBox;
DBComboBox2: TDBComboBox;
procedure SpeedButton4Click(Sender: TObject);
procedure DesdeExit(Sender: TObject);
procedure HastaExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FConsuEquiFech: TFConsuEquiFech;
implementation
uses login;
{$R *.dfm}
procedure TFConsuEquiFech.SpeedButton4Click(Sender: TObject);
begin
Close ();
end;

procedure TFConsuEquiFech.DesdeExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if A > B then
Begin
Showmessage('La Fecha inicial no Puede ser Mayor que la Final');
desde.clear;
Activecontrol:= desde;
End;
end;
procedure TFConsuEquiFech.HastaExit(Sender: TObject);
Var
A,B: TDate;
begin
A:= Strtodate(Desde.text);
B:= Strtodate(Hasta.text);
if B < A then
Begin
Showmessage('La Fecha Final no Puede ser Menor que la Inicial');
Hasta.clear;
Activecontrol:= Hasta;
End;
end;
procedure TFConsuEquiFech.FormShow(Sender: TObject);
begin
desde.Clear;
hasta.Text := datetostr(now);
Desde.Text := datetostr(now);
end;


procedure TFConsuEquiFech.SpeedButton1Click(Sender: TObject);
begin
With ConexionDB do begin
QEquiposporFech.active :=false;
QEquiposporFech.ParamByName('fecha1').AsDate:=StrToDate(desde.text);
QEquiposporFech.ParamByName('fecha2').AsDate:=StrToDate(hasta.text);
QEquiposporFech.active :=true;
// QEquiposporFech.Dataset := QEquiposporFech;
QEquiposporFech := Desde;
QEquiposporFech := Hasta;
end;
end.
Ahora si se ve mejor.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 25-08-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Bueno, no entiendo.
Primero que nada no se por que la fecha la pones en un edit, pudiendo usar un datetimepicker.
segundo, nunca va a encontrar desde o hasta destro del query, ese es un error.
tercero, para que usar variables a y b para lo mismo.
No se, tal vez si me explicas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 26-08-2008
Yensis22 Yensis22 is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 19
Yensis22 Va por buen camino
Question no entendi explica mejor

lo de la etiquetas ye entendi pero de lo que me dise del codigo no como puedo resolver este problema









Responder Con Cita
  #5  
Antiguo 26-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 24
Caro Va por buen camino
Hola Yenis22, los errores que te marcan es por esta parte.

Código Delphi [-]
procedure TFConsuEquiFech.SpeedButton1Click(Sender: TObject);
begin
 With ConexionDB do begin
  QEquiposporFech.active :=false;
  QEquiposporFech.ParamByName('fecha1').AsDate:=StrToDate(desde.text);
  QEquiposporFech.ParamByName('fecha2').AsDate:=StrToDate(hasta.text);
  QEquiposporFech.active :=true;
  // QEquiposporFech.Dataset := QEquiposporFech;
  QEquiposporFech := Desde;
  QEquiposporFech := Hasta;
 end; //Le falta este end del With
end;

Le falta el end; del With y no puedes asignar un MaskEdit a un Query, esas dos lineas estan demas.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #6  
Antiguo 26-08-2008
Yensis22 Yensis22 is offline
Miembro
 
Registrado: feb 2008
Posts: 78
Poder: 19
Yensis22 Va por buen camino
Question me manda este error

Este codigo me funciona bien pero con una base de dato en paradox y esque este lo tengo que entregar en acces pero cundo los desabilite la dos opciones que me dijiste que estan de mas me mada este error pero que con esa dos ocpciones es que funciona en paradox perfetamente.

este es el erroe proyect facturacipon.exe raised exception class EDBEngineError with messeger "general SQL Error (Microsoft) (Controlador ODBC Microsoft Access) Formato de fecha u hora no nvalido (null)". Process stopped. use step o run continue. y esta el la pater que se nala en el codigo ( QEquiposporFech.active :=true; )

Código Delphi [-]
procedure TFConsuEquiFech.SpeedButton1Click(Sender: TObject);
begin
With ConexionDB do begin
        QEquiposporFech.active :=false;
        QEquiposporFech.ParamByName('fecha1').AsDate:=StrToDate(desde.text);
        QEquiposporFech.ParamByName('fecha2').AsDate:=StrToDate(hasta.text);
        QEquiposporFech.active :=true;
       // QEquiposporFech.Dataset := QEquiposporFech;
       // QEquiposporFech := Desde;
       //QEquiposporFech := Hasta;
end ;
end;
end.
Responder Con Cita
  #7  
Antiguo 26-08-2008
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
No es por nada pero ¿por qué escribes comiéndote letras?

Cita:
Este codigo me funciona bien pero con una base de dato en paradox y esque este lo tengo que entregar en acces pero cundo los desabilite la dos opciones que me dijiste que estan de mas me mada este error pero que con esa dos ocpciones es que funciona en paradox perfetamente.
y más....

Cita:
lo de la etiquetas ye entendi pero de lo que me dise del codigo no como puedo resolver este problema
y asi podría seguir... no me lo tomes a mal lo mismo no hablas/escribes el castellano/español, entonces se entendería....

bueno a lo que vamos... estas intentando mandar un formato date y lo que tienes en access es un datetime, ya que un campo fecha sólo como tal no existe en access, por lo menos en la versión que tengo yo instalada(Access 2000) así que es bien sencillo....

Código Delphi [-]
 QEquiposporFech.active :=false;
 QEquiposporFech.ParamByName('fecha1').Asdatetime:=strtodatetime(desde.text);
 QEquiposporFech.ParamByName('fecha2').Asdatetime:=strtodatetime(hasta.text);
  QEquiposporFech.active :=true;

Espero que te sirva, cuéntanos como te ha ido....

P.D. Por cierto los parametros los tendrías que cambiar el tipo de ftDate a ftDateTime
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Consulta usando query en delphi 7 Yensis22 SQL 3 25-08-2008 12:29:55
Consulta usando query en delphi 7 Yensis22 SQL 4 25-08-2008 07:03:05
ayuda con query para Mysql fecha. vroa74 Conexión con bases de datos 11 06-06-2008 15:56:00
Consulta por fecha en MySQL y Delphi rodrigodeoz Conexión con bases de datos 2 17-10-2007 16:47:39
Problema con fecha en un Query Lucas_diaz1810 Conexión con bases de datos 7 28-11-2006 05:45:31


La franja horaria es GMT +2. Ahora son las 09:12:56.


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