|
robcarr (Programmer) |
16 Aug 12 9:20 |
debug prints from the coding
this is the first sql string
SELECT * FROM tblBPData WHERE ((Date)=date()-4);
this works
this also works the second string
SELECT * FROM tblBPData WHERE ((Date)=date()-4);
this doesnt work
strSQL = "SELECT * FROM " & TableName & " WHERE ((" & FieldName & ")=#" & datefield & "#);"
and looks like this in debug print
SELECT * FROM tblBPData WHERE ((Date)=#12/08/2012#);
here is the full coding that I am using
CODESub GetDataWithDAO()
Range("a2", Range("ap65536").End(xlUp).Offset(1, 0)).ClearContents
DAOCopyFromRecordSet "U:\Private\SKEP Source\Skep Source.mdb", _
"tblBPData", "Date", Range("a2"), Range("c1").Value
End Sub
Sub DAOCopyFromRecordSet(DBFullName As String, TableName As String, _
FieldName As String, TargetRange As Range, datefield As String)
' Example: DAOCopyFromRecordSet "C:\FolderName\DataBaseName.mdb", _
"TableName", "FieldName", Range("C1")
Dim db As Database, rs As Recordset
Dim intColIndex As Integer
Set TargetRange = TargetRange.Cells(1, 1)
Set db = OpenDatabase(DBFullName)
Dim strSQL As String
'strSQL = "SELECT * FROM tblBPData WHERE ((Date)=date()-4);" ' this works
'strSQL = "SELECT * FROM " & TableName & " WHERE ((" & FieldName & ")=date()-4);" 'this works
strSQL = "SELECT * FROM " & TableName & " WHERE ((" & FieldName & ")=#" & datefield & "#);" ' this doesnt
'strSQL = "SELECT * FROM " & TableName & " WHERE (([" & FieldName & "])=#" & datefield & "#);" ' this doesnt work
' strSQL = "SELECT * FROM " & TableName & " WHERE (([" & FieldName & "])=" & datefield & ");" ' this doesnt work
Debug.Print strSQL
Set rs = db.OpenRecordset(strSQL, dbReadOnly)
' write field names
For intColIndex = 0 To rs.Fields.Count - 1
TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name
Next
' write recordset
TargetRange.Offset(1, 0).CopyFromRecordset rs
Set rs = Nothing
db.Close
Set db = Nothing
End Sub
I have left the various sql strings in just so I can see what i have tried.
Date column within the access database is defined as a shortdate.
Hope this is of use, Rob.
|
|