Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Überschneidung von Datumsbereichen finden?

  Alt 6. Mai 2004, 08:07
Ich denke die Methode von Markus sieht ganz gut aus und funktioniert zumindest via MySQL-Control-Center wunderbar.

Delphi-Quellcode:
begin
  Query1.Close;
  Query1.SQL.Text := 'SELECT * FROM buchungen';
  Query1.Sql.Add ('WHERE ((BuchungStart BETWEEN :NeueBuchungStart and :NeueBuchungEnd)');
  Query1.Sql.Add ('OR (BuchungEnd BETWEEN :NeueBuchungStart and :NeueBuchungEnd))';
  Query1.Sql.Add ('AND (raum_id=:raum_id) AND (buchungs_id <> :buchungs_id)');
  Query1.ParamByName ('NeueBuchungStart').AsDateTime := start;
  Query1.ParamByName ('NeueBuchungEnde').AsDateTime := ende;
  Query1.ParamByName ('raum_id').AsInteger := raum_id;
  Query1.ParamByName ('buchungs_id').AsInteger := buchungs_id;
  Open;
end;
raum_id ist die ID des Raumes den ich buchen möchte.
buchungs_id brauche ich um, bei einer änderung der Buchung, nicht die eigene zu finden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat