HELP, MANEJO DE DBFs

hueva
31 de Mayo del 2004
Mi pregunta es la siguiente,
Estoy usando una aplicacion de vb con una base .mdb, con tablas vinculadas a dbase 5, mi problema es que las consultas a esas tablas vinculadas se hacen muy lentas por la cantidad de datos que poseen y porque dichos dbf no poseen indices. Intenté crearle indice mediante un editor de dbfs, le indiqué que archivos funcionaban como indices al vincularlas, pero el rendimiento sigue siendo el mismo, como si los indices no existiesen.
En definitiva, necesito velocidad al operar con las tablas vinculadas dbf desde access.
En un principio lo hacia importando las tablas de dbf a mdb, pero ahora en una de ellas me da un error, por otra parte es mas comodo para mi vincularlas directamente. Estoy usando el Borland data engine.
SO: Xp
Access: Xp
Millones de gracias a quien me pueda ayudar, bye.

Gabriel
31 de Mayo del 2004
Te conviene usar las dbf creadas por FoxPro ya que ellas incluyen información de los indices que la forman.
Te mando un ejemplo, tenes que modificar el codigo para que te funcione a vos, suerte

Public Sub view(Optional sTarjeta)

On Error GoTo TrackingViewerror

Set DataDBF = OpenDatabase("c:Prueba", False, True, "FoxPro 2.5;")

If Trim$(Dir(cTRACKINGPath & "Consulta.dbf")) <> "" Then
Set RecordTracking = DataDBF.OpenRecordset("Consulta.dbf", dbOpenTable, dbReadOnly)

If Trim$(Dir(cTRACKINGPath & "Consulta.dbf")) <> "" Then
Set RecordPermicio = DataDBF.OpenRecordset("Permicio.dbf", dbOpenTable, dbReadOnly)

If IsMissing(sTarjeta) Then
RecordTracking.MoveFirst
Else
TEXTCall = "TA"
sCallTarje = sTarjeta
Call CmdBuscar_Click
End If
frm.Show vbModal

Else

RecordTracking.Close
DataDBF.Close

Set DataDBF = Nothing
Set RecordTracking = Nothing
Set RecordPermicio = Nothing
End If
Else

DataDBF.Close

Set DataDBF = Nothing
Set RecordTracking = Nothing
Set RecordPermicio = Nothing
End If

Exit Sub

TrackingViewerror:


End Sub