Visual Basic - Error en creación de BD con DAO

Life is soft - evento anual de software empresarial
 
Vista:

Error en creación de BD con DAO

Publicado por Juanra (1 intervención) el 06/11/2008 12:09:11
Bueno pues estamos utilizando la tecnología DAO para la creación de bases de datos y en el momento de crear una relación me da el error :

"No se encontró ningún índice único para el campo al que se hace referencia en la tabla principal"

Es una relación de 2 campos que son claves en la tabla principal con 2 campos de otra tabla en la cual también son claves (junto con otro).

Bueno pues en teoría, para este tipo de relaciones, se crean los 2 campos y se añaden al mismo índice tal que así:

'indice de tabla MISIONES
Dim cmis1 As Index
Dim campomi1 As Field
Dim campomi2 As Field

Set cmis1 = mission.CreateIndex("D") 'Creamos indice
Set campomi1 = cmis1.CreateField("CodMision", dbText, 4) 'Creamos campos iguales
Set campomi2 = cmis1.CreateField("ProgramaM", dbText, 4)

cmis1.Fields.Append campomi1 'Añadimos campos al mismo índice
cmis1.Fields.Append campomi2

cmis1.Primary = True 'Marcamos el índice como primero

mission.Indexes.Append cmis1 'Añadimos índice a la tabla


Y para crear la relación con la otra tabla se hacen los 2 campos en la misma relación, que creo que es lo que tengo en el código, pero es donde me da el error.
Lo he probado en access, y en access ese mismo error me lo da si intento crear una relacion con un campo y luego otra con otro...pero si lo hago los 2 a la vez, me lo hace a la perfeccion. El código de la relacion es este:

Dim rprog2 As Relation 'relacion MISIONES-PARTICIPA1
Dim campoxp2 As Field
Dim campoxp3 As Field

Set rprog2 = ong.CreateRelation("R5", "Misiones", "Participa") 'Tabla princ es misiones
'Foreign es Participa

Set campoxp2 = rprog2.CreateField("ProgramaM", dbText, 4) 'Creamos un campo igual
campoxp2.ForeignName = "ProgramaP" 'Nombre que tiene en la Foreign


Set campoxp3 = rprog2.CreateField("CodMision", dbText, 4) 'Mismo para otro campo
campoxp3.ForeignName = "Mision"

rprog2.Fields.Append campoxp2 'Se los añadimos a la relacion
rprog2.Fields.Append campoxp3

ong.Relations.Append rprog2 'Añadimos relacion a bd


Si depuro el error, me da error en la ultima linea del codigo.

Gracias de antemano!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error en creación de BD con DAO

Publicado por edgar (10 intervenciones) el 30/12/2008 04:09:06
bueno creo q tu problema es q al ejecutar no encuentra ningun registro por y mas aun q lo tienes relacionado tu tabla al menos debe tener un registro con su respectiva relacion
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar