Página 1 de 1

Pasar datos a Access

Publicado: Vie Feb 22, 2008 2:04 pm
por Pablo Herranz
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.

Pasar datos a Access

Publicado: Vie Feb 22, 2008 3:03 pm
por jrcpoli
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.
*

Pasar datos a Access

Publicado: Vie Feb 22, 2008 6:34 pm
por ignacio
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.
>
>
>

Pasar datos a Access

Publicado: Sab Feb 23, 2008 3:23 pm
por Rolando
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.
>
>
>