Access - Misión imposible

   
Vista:

Misión imposible

Publicado por María (1 intervención) el 05/09/2007 15:02:56
Hola paisan@s!!!!
Os explico lo que quiero hacer y cual es mi problema....
QUiero realizar una consulta y dependiendo de si tiene resultados o no, mostrar o no los registros.

AL hacer esto, me sale un mensaje de error:
SE HA PRODUCIDO EL ERRO 3061. POCOS PARAMETROS. SE ESPERABA 1

No lo entiendo, porque copiando la instruccion SQL de otras consultas no tengo ese problema y justo con la que necesito......
Algún valiente que le eche un ojo a esto????

Mil gracias

Private Sub Form_AfterUpdate()

Dim rs As DAO.Recordset

Set rs = CurrentDb.OpenRecordset("SELECT Elementos.Codigo, Elementos.Tipo, Elementos.Ubicacion, Elementos.Medida, Max(Inspeccion.ProximaCalibracion) AS MáxDeProximaCalibracion FROM (Referencia INNER JOIN Caja ON Referencia.ReferenciaMecanizada = Caja.ReferenciaMecanizada) INNER JOIN ((Elementos INNER JOIN Inspeccion ON Elementos.Codigo = Inspeccion.Codigo) INNER JOIN Utiles ON Elementos.Codigo = Utiles.Codigo) ON Referencia.ReferenciaMecanizada = Utiles.ReferenciaMecanizada GROUP BY Elementos.Codigo, Elementos.Tipo, Elementos.Ubicacion, Elementos.Medida, Caja.ReferenciaMecanizada HAVING (((Max(Inspeccion.ProximaCalibracion))<Date()) AND ((Caja.ReferenciaMecanizada)=[Formularios]![Material]![Caja].[Form]![ReferenciaMecanizada]))")

If rs.RecordCount > 0 Then
MsgBox "Hay registros"
Else
MsgBox "No hay registros"
End If

End Sub
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

encontre el problema, pero no la solucion

Publicado por Maria (4 intervenciones) el 05/09/2007 15:15:36
El problema es que

((Caja.ReferenciaMecanizada)=[Formularios]![Material]![Caja].[Form]![ReferenciaMecanizada]))")

le paso un valor que viene de iun formulario. Si le pongo un valor fijo no me surge este problema. COmo hago para indicar que el valor lo tiene que recoger del formulario?
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

RE:encontre el problema, pero no la solucion

Publicado por Enrique (1299 intervenciones) el 05/09/2007 16:23:23
Hola Maria:
Para empezar, la palabra "Formularios" no se puede utilizar en el Editor de VBA, aquí se debe usar Forms.

Deberías poner algo como esto, si el valor no viene del formulario activo sino de un Subformulario o de otro formulario abierto. Tambien hay que saber si ReferenciaMecanizada en la Tabla es Numérico o es de Texto.

Si es de Texto:
....AND Caja.ReferenciaMecanizada='" & Forms!NombreForm.NombreCampo & "'")

Si es Numérico:
....AND Caja.ReferenciaMecanizada=" & Forms!NombreForm.NombreCampo)

Además parece que te sobra algo porque tienes Material, Caja y ReferenciaMecanizada en la parte que hace la restricción; una de las tres sobra porque tienes que nombrar el objeto: Forms, el nombre del objeto y el nombre del campo. Investiga por aquí a ver si das con la solución.

Saludos
Enrique
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