[python-win32] Re: ADODB.Recordset returning incorrect results
Roger Upole
rwupole at msn.com
Thu Jun 21 16:49:36 CEST 2007
"Matthew Perry" <perrygeo at gmail.com> wrote in message news:5383fa5e0706202114m7b308675k2bc2e3b5661b7995 at mail.gmail.com...
> Hi all,
>
> I'm using Access 2000 .mdb as a backend to my python script and am
> seeing some inconsistencies in the results.
>
> If I run the script below, I get 15 rows.
>
> If I run the SAME EXACT query directly in MS Access, I get 12 rows.
>
> Perhaps relevant to the issue - the table referenced in the query
> below is not actually a table but another query. Can you use rs.Open()
> on a chained query? Is there some sort of caching going on? Why is
> there a discrepency?
>
> Thanks for any tips!
>
>
> =========================
> import win32com.client
>
> conn = win32com.client.Dispatch('ADODB.Connection')
> DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/test1.mdb;'
> conn.Open(DSN)
>
> rs = win32com.client.Dispatch('ADODB.Recordset')
>
> sql = "SELECT [STUDY AREA] AS area FROM [qry base dataset - SS copcs
> only] GROUP BY [STUDY AREA]"
> rs.Open(sql, conn, 1, 3)
>
> numrows = 0
> if rs.RecordCount > 0:
> rs.MoveFirst()
> while not rs.EOF:
> print str(rs.Fields("area"))
> rs.MoveNext()
>
> rs.Close()
> conn.Close()
> del conn
> =======================
>
>
What does your subquery look like ? If it contains anything that's affected by
the SQL dialect in use, this might explain it:
http://office.microsoft.com/en-us/access/HA010345621033.aspx
Roger
More information about the Python-win32
mailing list