Here is the sql statement:
sql8 = "SELECT INPUT_DATA.OUTAGE_NUMBER, INPUT_DATA.CAUSE_CODE,
INPUT_DATA.OUTAGE_TYPE, INPUT_DATA.START_DATE, INPUT_DATA.END_DATE,
INPUT_DATA.MW_BEFORE_RED, INPUT_DATA.MW_REDUCTION, INPUT_DATA.NERC_UNIT_ID" &
Chr(13) & "" & Chr(10) & "FROM GENCO.INPUT_DATA INPUT_DATA" _
& Chr(13) & "" & Chr(10) & "WHERE (INPUT_DATA.END_DATE>='" & sdate & "')
AND (INPUT_DATA.OUTAGE_TYPE<>'RS') AND (INPUT_DATA.START_DATE<'" & edate &
"') OR (INPUT_DATA.END_DATE Is Null) AND (INPUT_DATA.OUTAGE_TYPE<>'RS') AND
(INPUT_DATA.START_DATE<'" & edate & "')" & Chr(13) & "" & Chr(10) & _
"ORDER BY INPUT_DATA.NERC_UNIT_ID, INPUT_DATA.START_DATE,
INPUT_DATA.OUTAGE_TYPE" _
Then the rest of the code...
Set qd = con.CreateQueryDef("", sql8)
Set rs = qd.OpenRecordset
Dim kaystart As Integer
Dim mult As Double
For I = 1 To kay(aka)
fakeout1 = CDate(Month(StartDate(I, aka)) & "/" & Day(StartDate(I, aka))
& "/" & Year(StartDate(I, aka)))
fakeout2 = CDate(Month(EndDate(I, aka)) & "/" & Day(EndDate(I, aka)) &
"/" & Year(EndDate(I, aka)))
For j = 1 To Iprice
If price_date(j) = fakeout1 Then
Thehour = Hour(StartDate(I, aka))
kaystart = Thehour + 1
Theminute = Minute(StartDate(I, aka))
mult = (60 - Theminute) / 60
OutageCost(I, aka) = mult * (price(j, Thehour) - fuelcost(j,
Thehour, aka)) * MWAfter(I, aka)
For k = kaystart To 24
OutageCost(I, aka) = OutageCost(I, aka) + (price(j, k) -
fuelcost(j, k, aka)) * MWAfter(I, aka)
Next k
End If
If price_date(j) > fakeout1 And price_date(j) < fakeout2 Then
For k = 1 To 24
OutageCost(I, aka) = OutageCost(I, aka) + (price(j, k) -
fuelcost(j, k, aka)) * MWAfter(I, aka)
Next k
End If
If price_date(j) = fakeout2 Then
Thehour = Hour(EndDate(I, aka))
kayend = Thehour
Theminute = Minute(EndDate(I, aka))
mult = (Theminute) / 60
OutageCost(I, aka) = OutageCost(I, aka) + mult * (price(j,
Thehour) - fuelcost(j, Thehour, aka)) * MWAfter(I, aka)
For k = 1 To kayend
OutageCost(I, aka) = OutageCost(I, aka) + (price(j, k) -
fuelcost(j, k, aka)) * MWAfter(I, aka)
Next k
End If
Next j
Next I
cakk = 1
For cak = 1 To kay(aka)
cakk = cakk + 1
Next cak