In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Pasar datos a Access

Foro de Xailer profesional en español
Pablo Herranz
Posts: 253
Joined: Mon Feb 07, 2005 1:20 pm

Pasar datos a Access

Postby Pablo Herranz » Fri Feb 22, 2008 2:04 pm

Hola, tengo que pasar un fichero dbf a una bd access,(requerimientos de
la Junta de Extremadura defensora del software libre, jo jo, jo), he
creado un cdxdatasource y su correspondiente dataset, tambien he creado
el odbcdatasource y el odbcdataset, y he desarrollado la rutina:
::oOdbcDataSource1:lConnected:=.t.
::oOdbcDataSet1:SetPrimaryKeys({"id"})
::oOdbcDataSet1:cSelect:="SELECT * FROM Contratos"
::oOdbcDataSet1:lOpen:=.t.
While !::oDbfDataPar:Eof()
If ::oOdbcDataSet1:Append()
::oOdbcDataSet1:tipreg :="C"
::oOdbcDataSet1:codagru :="IO"
.............
.............
.............
.............
::oOdbcDataSet1:Save() // he probado con y sin el save()
endif
::oDbfDataPar:Skip()
enddo
He comprobado que el Append devuelve verdadero, que la bd access esta
conectada, que la dbf la recorre perfectamente, pero no me graba nada
en la tabla ¿me podeis ayudar, no se que hago mal?
Gracias y Saludos
Pablo H.
jrcpoli
Posts: 240
Joined: Wed Oct 25, 2006 8:55 pm

Pasar datos a Access

Postby jrcpoli » Fri Feb 22, 2008 3:03 pm

Pablo Herranz escribió:
> Hola, tengo que pasar un fichero dbf a una bd access,(requerimientos
> de la Junta de Extremadura defensora del software libre, jo jo, jo),
> he creado un cdxdatasource y su correspondiente dataset, tambien he
> creado el odbcdatasource y el odbcdataset, y he desarrollado la rutina:
>
> ::oOdbcDataSource1:lConnected:=.t.
> ::oOdbcDataSet1:SetPrimaryKeys({"id"})
> ::oOdbcDataSet1:cSelect:="SELECT * FROM Contratos"
> ::oOdbcDataSet1:lOpen:=.t.
>
> While !::oDbfDataPar:Eof()
>
> If ::oOdbcDataSet1:Append()
> ::oOdbcDataSet1:tipreg :="C"
> ::oOdbcDataSet1:codagru :="IO"
> .............
> .............
> .............
> .............
>
> ::oOdbcDataSet1:Save() // he probado con y sin el save()
> endif
>
>
> ::oDbfDataPar:Skip()
> enddo
>
> He comprobado que el Append devuelve verdadero, que la bd access esta
> conectada, que la dbf la recorre perfectamente, pero no me graba nada
> en la tabla ¿me podeis ayudar, no se que hago mal?
>
> Gracias y Saludos
>
> Pablo H.
>
>
>
Saludos:
Has probado a sustituir el Append por FastAddNew o AddNew y terminar en
lugar de Save con *FastUpdate** o Update
José Ramón Castro.
*
José Ramón Castro.
User avatar
ignacio
Site Admin
Posts: 8574
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

Pasar datos a Access

Postby ignacio » Fri Feb 22, 2008 6:34 pm

Pablo,
Te recomiendo que sin duda utilices ADO para la conexión con Access, y los
métodos FastAddNew() y FastUpdate(). Recuerda que los recordsets han de ser
de lectura-escritura.
Un saludo,
"Pablo Herranz" <pablo@ibertabaco.com> escribió en el mensaje de noticias
news:47bec86c$2@ozsrv2.ozlan.local...
> Hola, tengo que pasar un fichero dbf a una bd access,(requerimientos de la
> Junta de Extremadura defensora del software libre, jo jo, jo), he creado
> un cdxdatasource y su correspondiente dataset, tambien he creado el
> odbcdatasource y el odbcdataset, y he desarrollado la rutina:
>
> ::oOdbcDataSource1:lConnected:=.t.
> ::oOdbcDataSet1:SetPrimaryKeys({"id"})
> ::oOdbcDataSet1:cSelect:="SELECT * FROM Contratos"
> ::oOdbcDataSet1:lOpen:=.t.
>
> While !::oDbfDataPar:Eof()
>
> If ::oOdbcDataSet1:Append()
> ::oOdbcDataSet1:tipreg :="C"
> ::oOdbcDataSet1:codagru :="IO"
> ............. ............. ............. .............
> ::oOdbcDataSet1:Save() // he probado con y sin el save()
> endif
>
>
> ::oDbfDataPar:Skip()
> enddo
>
> He comprobado que el Append devuelve verdadero, que la bd access esta
> conectada, que la dbf la recorre perfectamente, pero no me graba nada en
> la tabla ¿me podeis ayudar, no se que hago mal?
>
> Gracias y Saludos
>
> Pablo H.
>
>
>
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Rolando
Posts: 191
Joined: Mon May 08, 2006 2:10 pm

Pasar datos a Access

Postby Rolando » Sat Feb 23, 2008 3:23 pm

Pablo: Access permite importar las tablas .dbf
Saludos
"Pablo Herranz" <pablo@ibertabaco.com> escribió en el mensaje
news:47bec86c$2@ozsrv2.ozlan.local...
> Hola, tengo que pasar un fichero dbf a una bd access,(requerimientos de la
> Junta de Extremadura defensora del software libre, jo jo, jo), he creado
> un cdxdatasource y su correspondiente dataset, tambien he creado el
> odbcdatasource y el odbcdataset, y he desarrollado la rutina:
>
> ::oOdbcDataSource1:lConnected:=.t.
> ::oOdbcDataSet1:SetPrimaryKeys({"id"})
> ::oOdbcDataSet1:cSelect:="SELECT * FROM Contratos"
> ::oOdbcDataSet1:lOpen:=.t.
>
> While !::oDbfDataPar:Eof()
>
> If ::oOdbcDataSet1:Append()
> ::oOdbcDataSet1:tipreg :="C"
> ::oOdbcDataSet1:codagru :="IO"
> ............. ............. ............. .............
> ::oOdbcDataSet1:Save() // he probado con y sin el save()
> endif
>
>
> ::oDbfDataPar:Skip()
> enddo
>
> He comprobado que el Append devuelve verdadero, que la bd access esta
> conectada, que la dbf la recorre perfectamente, pero no me graba nada en
> la tabla ¿me podeis ayudar, no se que hago mal?
>
> Gracias y Saludos
>
> Pablo H.
>
>
>

Return to “Spanish”