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.
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.
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
-
- Mensajes: 260
- Registrado: Lun Feb 07, 2005 1:20 pm
Pasar datos a Access
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.
*
> 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.
- ignacio
- Site Admin
- Mensajes: 9452
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Pasar datos a Access
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$[email=2@ozsrv2.ozlan.local...]2@ozsrv2.ozlan.local...[/email]
> 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.
>
>
>
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$[email=2@ozsrv2.ozlan.local...]2@ozsrv2.ozlan.local...[/email]
> 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
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Pasar datos a Access
Pablo: Access permite importar las tablas .dbf
Saludos
"Pablo Herranz" <pablo@ibertabaco.com> escribió en el mensaje
news:47bec86c$[email=2@ozsrv2.ozlan.local...]2@ozsrv2.ozlan.local...[/email]
> 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
"Pablo Herranz" <pablo@ibertabaco.com> escribió en el mensaje
news:47bec86c$[email=2@ozsrv2.ozlan.local...]2@ozsrv2.ozlan.local...[/email]
> 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.
>
>
>