Hola!
Estoy trabajando en VB6 abriendo BDs FOXPRO (MS-DOS) con una conexión ODBC.
Cuando abro un recordset no tengo problemas para leer algunos de los
archivos .DBFs usando una consulta SQL desde el programa VB. Algunos
archivos (que se supone son iguales en estructura y similares en datos)
fallan. El error en tiempo de ejecución que VB6 me da es el siguiente:
'-214767259 (80004005)'; El proveedor u otro servicio retornó un estado
E_FAIL
y depurando el código veo que el error se origina en los .RecordCount y/o
.MoveNext
El código que me está generando estos problemas es el siguiente: (Observar
las marcas >>>>>)
For contadorSucu = 1 To 11
If contadorSucu = 2 Then
GoTo sgteSucu
End If
nombreTABLA = "coiddet" & Trim(Format$(contadorSucu, "0#"))
Sql = "SELECT * FROM " & nombreTABLA & " " _
& "WHERE " _
& "fecha >= {" & Format(Msk_Fecha1, "mm/dd/yyyy") & "} AND "
_
& "fecha <= {" & Format(Msk_Fecha2, "mm/dd/yyyy") & "}" _
& "ORDER BY Fecha "
Set Rs1 = New ADODB.Recordset
Glb_cnnFOX.CommandTimeout = 0
Rs1.Open Sql, Glb_cnnFOX, adOpenForwardOnly, adLockReadOnly
If Rs1.BOF And Rs1.EOF Then
Rs1.Close
Set Rs1 = Nothing
GoTo sgteSucu
End If
nContarRegistros = Rs1.RecordCount '>>>>> AQUI SE PRODUCE UNA
FALLA
While Not Rs1.EOF()
'Enumerar campos para INSERT INTO
prbAvance.Value = Int((Rs1.AbsolutePosition * 100) /
nContarRegistros)
nombreCampos = _
"Operacion, Renglon, Sucursal, tienda, fecha, articulo,
division, depto, " _
& "familia, nombre, cantidad, pnormal, pventa, pfinal,
descuento, " _
& "iva, impiva, impcanc, ivacanc, descanc, impdev, ivadev,
desdev, " _
& "tipo, vendedor, id_usuario, Fum "
'Poner valores para los campos (INSERT INTO)
valoresAsignar = _
"'" & Rs1!Operacion & "', " & Rs1!Renglon & ", " _
& "'" & Rs1!Sucursal & "', '" & Rs1!tienda & "', " _
& "'" & Format$(Rs1!Fecha, "mm/dd/yyyy") & "', " _
& Rs1!articulo & ", '" & Rs1!Division & "', '" & Rs1!Depto & "'
, '" & Rs1!Familia & "', " _
& "'" & Rs1!Nombre & "', " _
& Rs1!Cantidad & ", " _
& Rs1!pnormal & ", " _
& Rs1!pventa & ", " & Rs1!pfinal & ", " & Rs1!descuento & ", " _
& Rs1!Iva & ", " & Rs1!impiva & ", " _
& Rs1!impcanc & ", " & Rs1!ivacanc & ", " & Rs1!descanc & ", " _
& Rs1!impdev & ", " & Rs1!ivadev & ", " & Rs1!desdev & ", " _
& "'" & Rs1!Tipo & "', '" & Rs1!vendedor & "', " _
& "'" & Rs1!id_usuario & "', " _
& "'" & Format$(Rs1!Fum, "mm/dd/yyyy") & "' "
'Ejecutar orden SQL
Glb_cnnDWH.Execute "INSERT INTO DWH_ventasdia_AMR " _
& "(" & nombreCampos & ") " _
& "VALUES " _
& "(" & valoresAsignar & ")"
Rs1.MoveNext '>>>>>
y/o AQUI SE PRODUCE UNA FALLA
Wend
Rs1.Close
sgteSucu:
Next contadorSucu
Espero puedan ayudarme pronto .
Muchísimas gracias desde ya y saludos cordiales!
Napoleon
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com).
Version: 6.0.771 / Virus Database: 518 - Release Date: 28/09/04
Leer las respuestas