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