Más sobre OVAL
Ante todo quiero saludarle y agradecer de antemano la información que pueda brindarme.
Para darle antecedentes le cuento que estoy trabajando con un capturador PSION workabout con archivos Dbase III, que no he trabajado anteriormente con estos y que estoy tenido problemas con la creación y utilización de índices compuestos por más de un campo.
Dim dbBaseDatos As Database
Dim taTabla As Table
Dim tdAuxiliar As TableDef
Dim primario As New Index
' Carga
Set dbBaseDatos = OpenDatabase("M:\DBS\", False, False, "dBASE III;")
Set taTabla = dbBaseDatos.OpenTable("Tracking.dbf")
' NuevoIndice
taTabla.Close
dbBaseDatos.Close
' BorrarIndices
If Not Dir$("M:\DBS\TRACKING.NDX", Int(16)) = "" Then
Kill "M:\DBS\TRACKING.NDX"
Kill "M:\DBS\TRACKING.INF"
End If
Set dbBaseDatos = OpenDatabase("M:\DBS\", True, False, "dBASE III;")
Set taTabla = dbBaseDatos.OpenTable("Tracking.dbf")
'Crear un nuevo índice del fichero.
Set tdAuxiliar = dbBaseDatos.TableDef("Tracking.dbf")
primario.Name = "TRACKING"
primario.Fields = "CODGUIA;ESTADO"
primario.Unique = True
primario.Primary = True
tdAuxiliar. Indexes.append primario
'Lo pone en uso
taTabla.Index = "TRACKING"
taTabla.Close
dbBaseDatos.Close
El error que me emite es el siguiente: "Indice no puede ser construido.". Hay poca información al respecto y los ejemplos que he revisado siempre crean el índice por un solo campo. He encontrado otros ejemplos, como el que viene en el manual de OVAL, pero no me funcionan tampoco.
Para darle antecedentes le cuento que estoy trabajando con un capturador PSION workabout con archivos Dbase III, que no he trabajado anteriormente con estos y que estoy tenido problemas con la creación y utilización de índices compuestos por más de un campo.
Dim dbBaseDatos As Database
Dim taTabla As Table
Dim tdAuxiliar As TableDef
Dim primario As New Index
' Carga
Set dbBaseDatos = OpenDatabase("M:\DBS\", False, False, "dBASE III;")
Set taTabla = dbBaseDatos.OpenTable("Tracking.dbf")
' NuevoIndice
taTabla.Close
dbBaseDatos.Close
' BorrarIndices
If Not Dir$("M:\DBS\TRACKING.NDX", Int(16)) = "" Then
Kill "M:\DBS\TRACKING.NDX"
Kill "M:\DBS\TRACKING.INF"
End If
Set dbBaseDatos = OpenDatabase("M:\DBS\", True, False, "dBASE III;")
Set taTabla = dbBaseDatos.OpenTable("Tracking.dbf")
'Crear un nuevo índice del fichero.
Set tdAuxiliar = dbBaseDatos.TableDef("Tracking.dbf")
primario.Name = "TRACKING"
primario.Fields = "CODGUIA;ESTADO"
primario.Unique = True
primario.Primary = True
tdAuxiliar. Indexes.append primario
'Lo pone en uso
taTabla.Index = "TRACKING"
taTabla.Close
dbBaseDatos.Close
El error que me emite es el siguiente: "Indice no puede ser construido.". Hay poca información al respecto y los ejemplos que he revisado siempre crean el índice por un solo campo. He encontrado otros ejemplos, como el que viene en el manual de OVAL, pero no me funcionan tampoco.
Respuesta de jorgevb
1