Error en la función DESKTOPTODEVICE

16/11/2004 - 11:29 por Polaris | Informe spam
Saludos a tod@s
Tengo una aplicación desarrollada para Pocket PC por medio de eVB, que
utiliza una base de datos access.
Estoy intentando transferir ciertas tablas a través de la función
DESKTOPTODEVICE incluida en la librería adofiltr.dll de Microsoft ActiveSync
(Utilizo la versión 3.7.1)
El código es el siguiente:

en un módulo:
Public Declare Function DESKTOPTODEVICE Lib _
"c:\Archivos de Programa\Microsoft ActiveSync\adofiltr.dll" _
(ByVal desktoplocn As String, _
ByVal tablelist As String, _
ByVal sync As Boolean, _
ByVal overwrite As Integer, _
ByVal devicelocn As String) As Long

en el formulario:
lResult = DESKTOPTODEVICE("C:\Datos\BaseDeDatos.mdb", "Clientes..", True,
True, "\My Documents\BaseDeDatos.cdb")

Siempre me devuelve un error -2147024864. Ya que no tengo documentación
acerca de los errores devueltos por la funcíón, he buscado en google y he
llegado a la conclusión de que es algo así como: "No se puede transmitir la
información porque la MDB o la tabla asociada está abierta por otro usuario"

Pero la mdb no está abierta. He probado en varios equipos y siempre obtengo
el mismo resultado. He probado cambiando los valores de sync y overwrite,
pero no hay manera...

Empiezo a desesperar...
¿Alguien puede darme un poco de luz para salir de esta siniestra oscuridad?
Gracias por vuestro precioso tiempo.
Un saludo a tod@s.

Preguntas similare

Leer las respuestas

#1 el_joaqui
09/12/2004 - 18:17 | Informe spam
Polaris wrote:

Saludos a
Tengo una aplicación desarrollada para Pocket PC por medio de eVB, que
utiliza una base de datos access.
Estoy intentando transferir ciertas tablas a través de la función
DESKTOPTODEVICE incluida en la librería adofiltr.dll de Microsoft ActiveSync
(Utilizo la versión 3.7.1)
El código es el siguiente:

en un módulo:
Public Declare Function DESKTOPTODEVICE Lib _
"c:Archivos de ProgramaMicrosoft ActiveSyncadofiltr.dll" _
(ByVal desktoplocn As String, _
ByVal tablelist As String, _
ByVal sync As Boolean, _
ByVal overwrite As Integer, _
ByVal devicelocn As String) As Long

en el formulario:
lResult = DESKTOPTODEVICE("C:DatosBaseDeDatos.mdb", "Clientes..", True,
True, "My DocumentsBaseDeDatos.cdb")

Siempre me devuelve un error -2147024864. Ya que no tengo documentación
acerca de los errores devueltos por la funcíón, he buscado en google y he
llegado a la conclusión de que es algo así como: "No se puede transmitir la
información porque la MDB o la tabla asociada está abierta por otro usuario"

Pero la mdb no está abierta. He probado en varios equipos y siempre obtengo
el mismo resultado. He probado cambiando los valores de sync y overwrite,
pero no hay manera...

Empiezo a desesperar...
¿Alguien puede darme un poco de luz para salir de esta siniestra oscuridad?
Gracias por vuestro precioso tiempo.
Un saludo a



Yo tengo el mismo problema, y tras buscar en internet he encontrado algo:
http://www.accessspot.org/DesktopTo...915-a.html

en esta página te comentan que es problema de PPc 2003

espero te sirva de ayuda
Respuesta Responder a este mensaje
#2 grekos
11/12/2004 - 17:03 | Informe spam
He visto la página y según he podido entender más o menos ya que mi
inglés es de lo peor, dice que esa función no sirve ya que no puede
borrar o sobreescribir la base de datos usando windows mobile 2003. Que
una solucíón es borrarla antes usando esto:
Public Declare Function CeDeleteFile Lib "rapi.dll" (ByVal lpFileName
As
String) As Long

lret = CeDeleteFile(StrPtr("\my documents\test.cdb"))

El caso es que no me funciona esta función tampoco.

Alguien sabe como solucionar este problema de la función
desktoptodevice y devicetodesktop???

Por cierto, en el módulo que hago en visual basic para trabajar con el
pc pongo esto:
Declare Function DESKTOPTODEVICE Lib "E:\Archivos de programa\Microsoft
ActiveSync\adofiltr.dll" _
(ByVal desktoplocn As String, _
ByVal tablelist As String, _
ByVal sync As Boolean, _
ByVal overwrite As Integer, _
ByVal devicelocn As String) As Long

...pero que es lo que debo de poner en el módulo que haga en evb? en
la pocket pc no teno el archivo adofiltr.dll. Es otra libreria con otro
nombre????

gracias.

joaquín wrote:
Polaris wrote:

> Saludos a
> Tengo una aplicación desarrollada para Pocket PC por medio de eVB,


que
> utiliza una base de datos access.
> Estoy intentando transferir ciertas tablas a través de la función

> DESKTOPTODEVICE incluida en la librería adofiltr.dll de Microsoft


ActiveSync
> (Utilizo la versión 3.7.1)
> El código es el siguiente:

> en un módulo:
> Public Declare Function DESKTOPTODEVICE Lib _
> "c:Archivos de ProgramaMicrosoft ActiveSyncadofiltr.dll" _
> (ByVal desktoplocn As String, _
> ByVal tablelist As String, _
> ByVal sync As Boolean, _
> ByVal overwrite As Integer, _
> ByVal devicelocn As String) As Long

> en el formulario:
> lResult = DESKTOPTODEVICE("C:DatosBaseDeDatos.mdb", "Clientes..",


True,
> True, "My DocumentsBaseDeDatos.cdb")

> Siempre me devuelve un error -2147024864. Ya que no tengo


documentación
> acerca de los errores devueltos por la funcíón, he buscado en


google y he
> llegado a la conclusión de que es algo así como: "No se puede


transmitir la
> información porque la MDB o la tabla asociada está abierta por


otro usuario"

> Pero la mdb no está abierta. He probado en varios equipos y


siempre obtengo
> el mismo resultado. He probado cambiando los valores de sync y


overwrite,
> pero no hay manera...

> Empiezo a desesperar...
> ¿Alguien puede darme un poco de luz para salir de esta siniestra


oscuridad?
> Gracias por vuestro precioso tiempo.
> Un saludo a

Yo tengo el mismo problema, y tras buscar en internet he encontrado


algo:



http://www.accessspot.org/DesktopTo...915-a.html

en esta página te comentan que es problema de PPc 2003

espero te sirva de ayuda
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida