Buen dia una disculpa si no me explique bien, uso delphi 7 y sql server, mi idea es que al momento de dar click en guardar me lanze un mensaje de error si es que el rango de las dos fechas que pongo ya existe en la BD, aqui les dejo el codigo del boton guardar.
Código Delphi
[-]
with msqry1 do begin
close;
SQL.Clear;
sql.Add(('Select*From CA_PERIODOSINGRESOS Between :Inicio and :Fin'));
msqry1.ParamByName('Inicio').AsDate:=cxDateEdit1.Date;
msqry1.ParamByName('Fin').AsDate:=cxDateEdit2.Date;
Open;
end;
if not msqry1.IsEmpty then
MessageDlg('La fecha ya existe', mtError, [mbOK], 0)
else
if cxDateEdit2.Text='' then
begin
MessageDlg('Falta Fecha Final', mtError, [mbOK], 0);
end
else
if cxDateEdit1.Text='' then
begin
MessageDlg('Falta Fecha Inivial', mtError, [mbOK], 0);
end
else
if cxComboBox1.Text='' then
begin
MessageDlg('Falta Ejercicio', mtError, [mbOK], 0);
end
else
if cxTextEdit1.Text='' then
begin
MessageDlg('Falta Periodo', mtError, [mbOK], 0)
end
else
if (cxDateEdit1.Date) > (cxDateEdit2.Date) then
begin
MessageDlg('La fecha inicial no puede ser mayor a la final', mtError, [mbOK], 0)
end
else
begin
DM.msqry1.Append;
DM.msqry1.FieldByName('Ejercicio').AsString := cxComboBox1.Text;
DM.msqry1.FieldByName('Periodo').AsString := cxTextEdit1.Text;
DM.msqry1.FieldByName('Inicio').AsDateTime := cxDateEdit1.Date;
DM.msqry1.FieldByName('Fin').AsDateTime := cxDateEdit2.Date;
DM.msqry1.Post;
DM.msqry1.SQL.Add('order by Periodo');
MessageDlg('Dato Guardado', mtInformation, [mbOK], 0);
fCatPeriodosInNvo.Close;
cxTextEdit1.Clear;
cxDateEdit1.Clear;
cxDateEdit2.Clear;
end;
end;
Alguna sugerencia? se los agradeceria mucho.
Saludos!!