Vi er igang med vores eksamens project. Hvor vi laver et større system.
Vi laver noget hotel booking som et del af projektet og her skal vi kunne sammen ligne datoer(med tid) for at se hvornår hvad er ledigt. Dog har vi problemer med dette.
Vi laver det lige nu i access men tilsidst porter vi det over til MS SQL.
Vi gør det ved et sql udtræk som kigger på om en dato er større eller mindre end. men den kigger ikke på tid kun på datoen. :
SELECT * from hotelbooking where RoomId = 1 AND ((Arrival < 2008-10-14 OR 1900-01-04 > Departure));
altså - i access, taler vi mssql kunne man vælge at bruge CONVERT til DATETIME i stedet.
Synes godt om
Slettet bruger
09. maj 2008 - 23:53#6
Som keysersoze er inde på så vil et kriterie se sådan ud: Arrival < #14-10-2008#
men det ser ud som om jeres problem er omkring Departure... Når i snakker om tid så mener i faktisk at Departure er en tid.. hvorfor har i så en dato og hvorfor har i 1900-01-04?~)
Det har i fordi i har set denne dato i feltet, men det er programmet, som tror det er en dato og den har omsat 0 til denne dato. I har sikkert 0 som standardværdi i Departure!~)
Så det i har sat som tidskriterie er hvornår er Departure mindre end 0, dvs. et negativt tal... Jamen, det er den vel aldrig... Så det virker sikkert hvis i vender > til < (det er altid en god ide at holde datoen/tallet på højre side, så det ikke forvirrer!~)
Men der burde stå Departure > 0 eller bedre endnu Not Isnull(Departure) og så fjerne 0 som standardværdi. I støder nok også på det, at klokkeslættet ikke står som det skal, men så kan i bruge format(Departure;"short time")
Go' Pinse!~)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.