DAO and Access97 WHERE clause fails

v.davis2 v.davis2 at cox.net
Fri Jun 8 20:17:51 EDT 2007


Hi all,

I am attempting to use Access97 as the database to hold the results of a 
python script. I seem to be able to make simple SELECT clauses work (like 
SELECT * FROM TableName), but have not been able to figure out how to add a 
WHERE clause to that (e.g., SELECT * FROM TableName WHERE myFieldName = 34) 
This fails complaining that the wrong number of parameters are present.
I haved tried DAO36 and I have tried the ADO version with the same results. 
Therefore I have to conclude it is my screwup!
Help in the forum or via email would sure be appreciated! (v.davis2 at cox.net)

Here is the skeleton code:

import win32com.client
daoEngine = win32com.client.Dispatch('DAO.DBEngine.35')
sDBname = 'vpyAnalyzeDirectorySize.mdb'
sDB = 'c:\\documents and settings\\vic\\my 
documents\\tools\\python25\\_myscripts\\'+sDBname
daoDB = daoEngine.OpenDatabase(sDB)

sSQL1 = 'SELECT * FROM T_Index2DirName'
daoRS = daoDB.OpenRecordset(sSQL1)         # this works FINE and I can play 
with the record set

#<snip>

hsDB = hash(sDB)
sSQL3 = 'SELECT * FROM T_Index2DirName WHERE iIndex = hsDB'   # names are 
all correct in mdb file
daoRStest = daoDB.OpenRecordset(sSQL3)     # this FAILS, even though the 
record is there

daoRS.Close()


Traceback (most recent call last):
  File "C:\Documents and Settings\Vic\My 
Documents\Tools\python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", 
line 310, in RunScript
    exec codeObject in __main__.__dict__
  File "C:\Documents and Settings\Vic\My 
Documents\Tools\python25\_MyScripts\TestForPosting01.py", line 14, in 
<module>
    daoRStest = daoDB.OpenRecordset(sSQL3)     # this FAILS, even though 
record is there
  File "C:\Documents and Settings\Vic\My 
Documents\Tools\python25\lib\site-packages\win32com\gen_py\00025E01-0000-0000-C000-000000000046x0x5x0.py", 
line 523, in OpenRecordset
    , Type, Options, LockEdit)
com_error: (-2147352567, 'Exception occurred.', (0, 'DAO.Database', 'Too few 
parameters. Expected 1.', 'jeterr35.hlp', 5003061, -2146825227), None) 





More information about the Python-list mailing list