Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/02/2009, 09:13
pilar_tellez
 
Fecha de Ingreso: marzo-2006
Mensajes: 78
Antigüedad: 18 años, 2 meses
Puntos: 0
busqueda de un registro que tiene clave compuesta

Hola necesito ayuda por favor, tengo una base de datos en access que tiene 3 tablas: una que se llama COMUNA que almacena las comunas cuyos campos son id_comuna(automunerico) y nom_comuna(texto); la otra tabla que se llama TIPO que almacena que clase de empresa es (si es sucursal o casa matriz) y cuyos campos son id_tipo(autonumerico) y nom_tipo(texto) y por ultimo tengo la tabla EMPRESA que tiene como clave el id_empresa(texto), id_comuna(numero) y id_tipo(numero), estos tres campos.

ahora en visual basic o mejor dicho en un formulario tengo que ingresar informacion de la empresa, pero quiero validar que al ingresar estos tres campos no ingrese algo repetido pa que no se caiga mi programa, donde hice una consulta sql en access y luego la pege en el codigo visual, pero me arroja un error que dice:

error '3085' en tiempo de ejecucion la funcion 'empresa.id_tipo where' no esta definida en la expresion

y este es el codigo que utilizo para buscar dicho registro:

Sub existencia()
Dim sql_exis As String
Dim cons_exis As Recordset
sql_exis = "SELECT * FROM tipo INNER JOIN (comuna INNER JOIN empresa ON comuna.id_comuna = empresa.id_comuna) ON tipo.id_tipo = empresa.id_tipo"
sql_exis = sql_exis + "WHERE (((empresa.id_comuna)=" & Text2 & ") AND ((empresa.id_tipo)=" & Text3 & ") AND ((empresa.rut_emp)='" + Text1 + "'));"
Set cons_exis = base.OpenRecordset(sql_exis, dbOpenDynaset)
If cons_exis.RecordCount <> 0 Then
MsgBox "HOLA"
Else
MsgBox "REGISTRO EXISTE"
End If
End Sub


desde ya agradesco a la persona que me pueda aclarar porq ocurre ese error.