Sub SelectRainDays()
Dim mySQL As String
Dim mySQL2 As String
Dim d60 As Variant
d60 = "Between #1/1/1960# And #12/31/1969#"
Dim d70 As Variant
d70 = "Between #1/1/1970# And #12/31/1979#"
Dim d80 As Variant
d80 = "Between #1/1/1980# And #12/31/1989#"
Dim d90 As Variant
d90 = "Between #1/1/1990# And #12/31/1999#"
Dim d00 As Variant
d00 = "Between #1/1/2000# And #12/31/2009#"
Dim Dat As Variant
Dat = Array(d60, d70)
For counter2 = LBound(Dat) To UBound(Dat)
Dim x As Variant
x = Array(0.2, 1)
For counter = LBound(x) To UBound(x)
'Selects all occasions where precip> x and dates are variable
mySQL = "SELECT WADRAIN_distinct.src_id, WADRAIN_distinct.prcp_amt, WADRAIN_distinct.ob_date"
mySQL = mySQL & " INTO [temp]"
mySQL = mySQL & " FROM WADRAIN_distinct"
mySQL = mySQL & " WHERE WADRAIN_distinct.prcp_amt >=" & x(counter)
mySQL = mySQL & " AND WADRAIN_distinct.ob_date " & Dat(counter2)
'Counts number of wet days
mySQL2 = "SELECT [temp].src_id, Count([temp].prcp_amt)"
mySQL2 = mySQL2 & " AS CountOfprcp_amt"
mySQL2 = mySQL2 & " INTO [" & Replace(x(counter), ".", "_") & "_" & Replace(Dat(counter2), "Between ", "") & "]"
mySQL2 = mySQL2 & " FROM temp"
mySQL2 = mySQL2 & " GROUP BY [temp].src_id"
DoCmd.SetWarnings False
DoCmd.RunSQL mySQL
DoCmd.RunSQL mySQL2
'This give the errors message 'run time error 7871 the table name you entered doesn't follow Microsoft Office Access object-naming rules'
'DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, mySQL2, "C:\Documents and Settings\ferranti\My Documents\WetDays.xls", True
'I don't think Output to works in this situations because it seems the table hasn't yet been created
'DoCmd.OutputTo acTable, mySQL2, "MicrosoftExcelBiff8(*.xls)", "C:\Documents and Settings\ferranti\My Documents\WetDays", False, "", 0
Next counter
Next counter2
DoCmd.DeleteObject acTable, "temp"
DoCmd.SetWarnings True
End Sub
|