On Jun 9, 10:17 am, "v.davis2" <[EMAIL PROTECTED]> wrote: > 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
Disclaimer: I've never used DAO. That SQL statement appears to be incorrect/meaningless. Don't you need something like sSQL3 = 'SELECT * FROM T_Index2DirName WHERE iIndex = %d' % hsDB ? You may need to read this (changing Office10 to whatever you have): C:\Program Files\Common Files\Microsoft Shared \Office10\1033\DAO360.CHM -- http://mail.python.org/mailman/listinfo/python-list