Walter

Te paso lo que yo uso actualmente para enviar datos a una tabla dentro de una 
base de datos access, te anticipo que uso ODBC, pero no hace falta tener creado 
una conexion persistente, se crea en el momento usando el driver de Access.

Espero que te sirva, a mi me funciona muy bien, y mira que paso cerca de 50.000 
registros por ves.

lcArchivoMDB=cIntranet && esta variable contiene el path a la base de datos por 
ejemplo \\servidor\carpeta\mibase.mdb

lcConnString="Driver={Microsoft Access Driver 
(*.mdb)};Dbq="+lcArchivoMDB+";Uid=;Pwd=;"

lnHandle = SQLStringConnect(lcConnString)

IF lnHandle > 0
   SELECT Legajos

   SCAN

         STORE '' TO cDomi,cLoca, cProv, cCuil, cCivi

         STORE {} TO dNaci

         cDomi = ALLTRIM(Temp.Domi)

         cLoca = ALLTRIM(Temp.Loca)

         cProv = ALLTRIM(Temp.Prov)

         cCuil = ALLTRIM(Temp.Cuil)

         dNaci = CTOD(ALLTRIM(Temp.Naci))

         cCivi = ALLTRIM(Temp.Civil)

         cNota = ALLTRIM(NVL(Legajos.Le_Notas,''))

         cFoto = ALLTRIM(STR(Legajos.Le_Codigo,6,0)) + '.jpg'

         cAlta = 
IIF(ISNULL(Legajos.Le_Alta),'NULL',oDtr.FechaToDb(Legajos.Le_Alta,.F.))

         cBaja = 
IIF(ISNULL(Legajos.Le_Baja),'NULL',oDtr.FechaToDb(Legajos.Le_Baja,.F.))

         cNaci = oDtr.FechaToDb(dNaci,.F.)       

         lcQuery="INSERT INTO legajos 
(le_codigo,le_nombre,sd_codigo,se_codigo,le_domicilio,le_localidad" + ; 

                 
 
",le_provincia,le_cuil,le_foto,le_sexo,le_civil,le_notas,le_alta,le_baja,le_fecha_nac)
 VALUES ( " + ; 

                  NumToPg(Legajos.Le_Codigo,6,0) + "," + 
TxtToPg(Legajos.Le_Nombre) + "," + ; 

                  NumToPg(Legajos.Sd_Codigo,3,0) + "," + 
NumToPg(Legajos.Se_Codigo,3,0) + "," + ; 

                  TxtToPg(cDomi) + "," + TxtToPg(cLoca) + "," + ; 

                  TxtToPg(cProv) + "," + TxtToPg(cCuil) + "," + ; 

                  TxtToPg(cFoto) + "," + TxtToPg(Legajos.Le_Sexo) + "," +
 TxtToPg(cCivi) + "," + ; 

                  TxtToPg(cNota) + "," + cAlta + "," + cBaja + "," + 
cNaci + ")" 

         IF SQLEXEC(lnHandle,lcQuery) < 0

            MESSAGEBOX(lcquery)

            WAIT WINDOW "Ocurrio un error, actualizando la tabla 
legajos."

            EXIT

         ENDIF   

   ENDSCAN

   =SQLDisconnect(lnHandle)
ELSE
   IF AERROR(laError) > 0
      Messagebox("Error al intentar conectar:"+laError[2])
   ELSE
      MESSAGEBOX("Error inesperado al intentar conectar")
   ENDIF
ENDIF




NOTA: Las funciones TxtToPg, NumToPg solo dan formato esperado por Access.


Saludos
                                          
_________________________________________________________________

Responder a