Håller på och sliter mitt hår med mitt schemaprogram. Skulle var bra om du förklara din data struktur lite bättre. Tillägg:Avancerad SQL-sats (Edit)
Följande problem har jag.
I min Schema-Tabell har jag följande poster:
S_ID, S_Date, S_Emp, S_in och S_Out
Från denna tabell skulle jag vilja få fram hur många personaltimmar det finns inlagt
för varje timma överfört till min tabell CalcHour.
Tabellen innehåller fälten
CH_Date, CH_01, CH_02, CH_03 osv till... CH24. Där varje CH_xx är beteckningen för varje timma.
Exempel i Schema-tabellen är för samma datum:
Person 1 är schemalagd mellan 12:00 och 16:00
Person 2 är schemalagd mellan 14:00 och 18:00
Skulle vill få ihop en SQL-fråga (sats) som gör följande i CalcHour tabellen.
CH_Date: 2004-03-20
...
CH_13: 1
CH_14: 1
CH_15: 2
CH_16: 2
CH_17: 1
CH_18: 1
Gränssnitt mot användare görs i VB med access-databas
Hoppas att någon har ett trevande förslag... =)Sv: Avancerad SQL-sats
* Vad har S_in och S_Out i Schema-Tabell
för funktion?
* Är CalcHour bar en tabell som innehåller data från Schema-Tabell?
Ge gärna exempel data från tabeler och resultat. Gärna som tab eller semikolon separerat textfil.Sv: Avancerad SQL-sats
EXEMPELDATA tabell SCHEMA
S_ID, S_Date, S_Emp, S_in och S_Out
01, 2004-03-20, 120, 12:00, 17:00
02, 2004-03-20, 122, 13:00, 19:00
03, 2004-03-20, 123, 12:00, 18:30
04, 2004-03-20, 125, 11:00, 17:00
S_ID = ID
S_Date = Schemadatum
S_Emp = Anställningsnr
S_In = Arbetspassets start
S_Out = Arbetspassets slut
Tabell SCHEMA skall per datum läsas av timme för timme in i tabell CalcHour
Från exempelposten med id 01 från tabell Schema enligt ovan
är det en arbetstimma mellan 12:00 och 13:00, en mellan 13:00 och 14:00 osv
detta skall in i tabell CalcHour.
Sedan skall nästa post med samma datum räknas på.
resultatet skall bli av ovanstående exempelposter
...
CH_12 = 1 arbetstimma (mellan 11:00-12:00)
CH_13 = 3 arbetstimmar (mellan 12:00-13:00)
CH_14 = 4 arbetstimmar (mellan 13:00-14:00)
CH_15 = 4 arbetstimmar (mellan 14:00-15:00)
CH_16 = 4 arbetstimmar (mellan 15:00-16:00)
CH_17 = 4 arbetstimmar (mellan 16:00-17:00)
CH_18 = 2 arbetstimmar (mellan 17:00-18:00)
CH_19 = 1,5 arbetstimmar (mellan 18:00-19:00)
...