Quisiera saber como crear un indice primario compuesto por doc campos.
Estoy haciendo un programa en VB6 que crea bases de datos Access, pero tengo el problema de que no soy capaz de crear un indice primario compuesto por dos campos. Si alguien supiera como hacerlo le estaria muy agradecido.
Aqui os dejo el codigo (resumido) para crear una base datos con una tabla en la que no soy capaz de crear el indice principal compuesto por dos campos.
Los campos que quiero que sean el indice principal son:
Campo_TAR_FEC y Campo_TAR_NUM
Public Sub CrearBaseDatos()
'Crear objeto databasey variable ruta base de datos
Dim NuevaBD As Database
Dim PathNuevaBD As String
PathNuevaBD = "c:\monika\"
'Crear base de datos
Set NuevaBD = CreateDatabase(PathNuevaBD & "BDMONIKA" & AñoBD & ".MDB", dbLangGeneral)
'Crear Variables de tabla
Dim TablaTAR As TableDef
'Dar nombre a las tablas
Set TablaTAR = NuevaBD.CreateTableDef("TAREA_MARYL")
'Crear Variables de campo de tabla TRATAMIENTO,CENTRO,CLIENTE,TAREA
Dim CampoTAR_FEC As Field, CampoTAR_NUM As Field, CampoTAR_TRA As Field
Dim CampoTAR_CEN As Field, CampoTAR_CLI As Field
'Crear campos tabla TRATAMIENTO,CENTRO,CLIENTE,TAREA
Set CampoTAR_FEC = TablaTAR.CreateField("Id_Tarea_Fecha", dbDate)
Set CampoTAR_NUM = TablaTAR.CreateField("Id_Tarea_Numero", dbInteger)
Set CampoTAR_TRA = TablaTAR.CreateField("Id_Tratamiento_Maryl", dbInteger)
Set CampoTAR_CEN = TablaTAR.CreateField("Id_Centro_Maryl", dbInteger)
Set CampoTAR_CLI = TablaTAR.CreateField("Id_Cliente_Maryl", dbInteger)
'Añadir campos a las tablas TRATAMIENTO,CENTRO,CLIENTE,TAREA
TablaTAR.Fields.Append CampoTAR_FEC
TablaTAR.Fields.Append CampoTAR_NUM
TablaTAR.Fields.Append CampoTAR_TRA
TablaTAR.Fields.Append CampoTAR_CEN
TablaTAR.Fields.Append CampoTAR_CLI
'Crear variables de objeto indice
Dim IndiceTAR_FEC As Index, IndiceTAR_NUM As Index ''''' por ''''''''''
'Crear variables de campo indice
Dim CIndiceTAR_FEC As Field, CIndiceTAR_NUM As Field ''' aqui ''''''''''
'Crear indices
Set IndiceTAR_FEC = TablaTAR.CreateIndex("Id_Tarea_Fecha") ''''''''''''''''''''''
IndiceTAR_FEC.Primary = True ''''''''''''''''''''''
Set IndiceTAR_NUM = TablaTAR.CreateIndex("Id_Tarea_Numero") ''''''''''''''''''''''
IndiceTAR_NUM.Unique = False ''''''''''''''''''''''
'Crear campos que van a ser los que formen los indices
Set CIndiceTAR_FEC = IndiceTAR_FEC.CreateField("Id_Tarea_Fecha") ''''''''''''''''''''''
Set CIndiceTAR_NUM = IndiceTAR_NUM.CreateField("Id_Tarea_Numero") '''''''''''''''''''''
'Se añaden los campos a los indices
IndiceTAR_FEC.Fields.Append CIndiceTAR_FEC '''''''''''''''''''''
IndiceTAR_NUM.Fields.Append CIndiceTAR_NUM '''''''''''''''''''''
'Añadir los indices primarios a las tablas
TablaTAR.Indexes.Append IndiceTAR_FEC ''' falla ''''''''
TablaTAR.Indexes.Append IndiceTAR_NUM ''' algo '''''''''
'Añadir tablas a la base de datos
NuevaBD.TableDefs.Append TablaTAR
End Sub
como crear un indice multicampo en VB6 al crear una BD Acces
Moderador: Moderadores
-
- Novat@
- Mensajes: 1
- Registrado: Vie Feb 26, 2010 1:49 pm