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! ([EMAIL PROTECTED])
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) -- http://mail.python.org/mailman/listinfo/python-list