Acceso a una base de datos Ms Access
L Solis oficina
lsolis en mu.intecsa-inarsa.es
Vie Jun 30 15:26:20 CEST 2006
Chema Cortes escribió:
> L Solis oficina escribió:
>
>
>> Lo he comprobado, al abrir el recordset tiene todos los campos de la
>> tabla o consulta a que hace referencia, pero simplemente el número de
>> registros devueltos (rs.RecordCount) es 0
>>
>
> Voy a aportar mis dos céntimos:
>
> No es que sea importante, pero veo que empezado diciendo que usabas DAO
> y luego has pasado a usar ADO.
>
> Cuando abres el recordset estás usando el bloqueo "optimista" (ese 3 que
> pones en el Open), lo que podría explicar en parte el problema que
> sufres si hay conexiones simultáneas. Podrías probar, justo después de
> crear el recordset, a ejecutar un rs.MoveFirst(), pero te dará error si
> no hay ningún registro. Prueba, en cambio, con lo siguiente:
>
> rs = win32com.client.Dispatch(r'ADODB.Recordset')
> rs.CursorLocation=3 #adUseClient - client-side cursor
> rs.Open(sql_statement, conn)
> while not rs.EOF:
> ...
> rs.MoveNext()
>
>
se mantiene el problema, rs.RecordCount) es 0
quizás el problema pueda estar en usar dao o ado. Estoy utilizando ADO,
para lo que ejecuté makepy y seleccioné Microsoft ActiveX Data Objects
2.5 Library. Quizás deba utilizar también Microsoft DAO3.5 Object Library
¿sabes si puedo tener activadas las 2 librerías a la vez sin que pase
nada raro y seleccionar una u otra forma de acceso mediante código ?
> Yo suelo usar el módulo adodbapi (http://adodbapi.sourceforge.net) y no
> he tenido este tipo de problemas; aunque no puedo asegurarte que sea
> mejor, al menos es más afín al modo de trabajar en python.
>
>
>
voy a probar
luis
Más información sobre la lista de distribución Python-es