Error de compilación y error de sintaxis

Hola tengo un problema y no se como resolverlo, por más que busco no encuentro la solución.
Tengo una Bdaccess y este es mi código. Al ejecutarlo me da error de compilación y de sintaxis.


Set RcClasificacion = Bd.OpenRecordset("SELECT DISTINCTROW
Equipos. Equipo,
IIf(IsNull([0ECasa].[Partidos]), 0,[0ECasa]. [Partidos])+IIf(IsNull([0EFuera].[Partidos]), 0,[0EFuera]. [Partidos])+IIf(IsNull([0GCasa].[Partidos]), 0,[0GCasa]. [Partidos]*3)+IIf(IsNull([0GFuera].[Partidos]), 0,[0GFuera]. [Partidos]*3) AS Puntos,
Equipos. Variable,
IIf(IsNull([0gcasa].[gcasa]),0,[0gcasa].[gcasa])+IIf(IsNull([0gfuera].[gfuera]),0,[0gfuera].[gfuera])+IIf(IsNull([0ecasa].[gcasa]),0,[0ecasa].[gcasa])+IIf(IsNull([0efuera].[gfuera]),0,[0efuera].[gfuera])+IIf(IsNull([0pcasa].[gcasa]),0,[0pcasa].[gcasa])+IIf(IsNull([0pfuera].[gfuera]),0,[0pfuera].[gfuera])-(IIf(IsNull([0gcasa].[gfuera]),0,[0gcasa].[gfuera])+IIf(IsNull([0gfuera].[gcasa]),0,[0gfuera].[gcasa])+IIf(IsNull([0ecasa].[gfuera]),0,[0ecasa].[gfuera])+IIf(IsNull([0efuera].[gcasa]),0,[0efuera].[gcasa])+IIf(IsNull([0pcasa].[gfuera]),0,[0pcasa].[gfuera])+IIf(IsNull([0pfuera].[gcasa]),0,[0pfuera].[gcasa])) AS GolAvg,
Equipos.Anotacl,
[PGC]+[PGF]+[PEC]+[PEF]+[PPC]+[PPF] AS Jugados,
IIf(IsNull([0GCasa].[Partidos]),0,[0GCasa].[Partidos]) AS PGC,
IIf(IsNull([0GFuera].[Partidos]),0,[0GFuera].[Partidos]) AS PGF,
IIf(IsNull([0ECasa].[Partidos]),0,[0ECasa].[Partidos]) AS PEC,
IIf(IsNull([0EFuera].[Partidos]),0,[0EFuera].[Partidos]) AS PEF,
IIf(IsNull([0PCasa].[Partidos]),0,[0PCasa].[Partidos]) AS PPC,
IIf(IsNull([0PFuera].[Partidos]),0,[0PFuera].[Partidos]) AS PPF,
IIf(IsNull([0gcasa].[gcasa]),0,[0gcasa].[gcasa])+IIf(IsNull([0gfuera].[gfuera]),0,[0gfuera].[gfuera])+IIf(IsNull([0ecasa].[gcasa]),0,[0ecasa].[gcasa])+IIf(IsNull([0efuera].[gfuera]),0,[0efuera].[gfuera])+IIf(IsNull([0pcasa].[gcasa]),0,[0pcasa].[gcasa])+IIf(IsNull([0pfuera].[gfuera]),0,[0pfuera].[gfuera]) AS GFavor,
IIf(IsNull([0gcasa].[gfuera]),0,[0gcasa].[gfuera])+IIf(IsNull([0gfuera].[gcasa]),0,[0gfuera].[gcasa])+IIf(IsNull([0ecasa].[gfuera]),0,[0ecasa].[gfuera])+IIf(IsNull([0efuera].[gcasa]),0,[0efuera].[gcasa])+IIf(IsNull([0pcasa].[gfuera]),0,[0pcasa].[gfuera])+IIf(IsNull([0pfuera].[gcasa]),0,[0pfuera].[gcasa]) AS GContra
FROM (((((Equipos LEFT JOIN 0ECasa ON Equipos.IdEq = [0ECasa].Equipo) LEFT JOIN 0EFuera ON Equipos.IdEq = [0EFuera].Equipo) LEFT JOIN 0GCasa ON Equipos.IdEq = [0GCasa].Equipo) LEFT JOIN 0PFuera ON Equipos.IdEq = [0PFuera].Equipo) LEFT JOIN 0PCasa ON Equipos.IdEq = [0PCasa].Equipo) LEFT JOIN 0GFuera ON Equipos.IdEq = [0GFuera].Equipo WHERE (((Equipos.Div) = 1))
ORDER BY IIf(IsNull([0ECasa].[Partidos]),0,[0ECasa].[Partidos])+IIf(IsNull([0EFuera].[Partidos]),0,[0EFuera].[Partidos])+IIf(IsNull([0GCasa].[Partidos]),0,[0GCasa].[Partidos]*3)+IIf(IsNull([0GFuera].[Partidos]),0,[0GFuera].[Partidos]*3) DESC , Equipos.Variable, IIf(IsNull([0gcasa].[gcasa]),0,[0gcasa].[gcasa])+IIf(IsNull([0gfuera].[gfuera]),0,[0gfuera].[gfuera])+IIf(IsNull([0ecasa].[gcasa]),0,[0ecasa].[gcasa])+IIf(IsNull([0efuera].[gfuera]),0,[0efuera].[gfuera])+IIf(IsNull([0pcasa].[gcasa]),0,[0pcasa].[gcasa])+IIf(IsNull([0pfuera].[gfuera]),0,[0pfuera].[gfuera])-(IIf(IsNull([0gcasa].[gfuera]),0,[0gcasa].[gfuera])+IIf(IsNull([0gfuera].[gcasa]),0,[0gfuera].[gcasa])+IIf(IsNull([0ecasa].[gfuera]),0,[0ecasa].[gfuera])+IIf(IsNull([0efuera].[gcasa]),0,[0efuera].[gcasa])+IIf(IsNull([0pcasa].[gfuera]),0,[0pcasa].[gfuera])+IIf(IsNull([0pfuera].[gcasa]),0,[0pfuera].[gcasa])) DESC;
Set RcTabla = Bd.OpenRecordset("tabla")
UN saludo y muchas gracias

1 respuesta

Respuesta
-1
De entrada decirte que es casi imposible decirte por que falla...
Pero si te voy a hacer una sugerencia: cambia todas las expresiones
IIf(IsNull([tabla].[campo];0;[tabla].[campo])
POr un simple:
Nz([tabla].[campo];0)
Es exactamente lo mismo y te vas a ahorrar un montón de código... incluso es posible que solucione tu problema, puesto que el 'churro' (por largo) de SQL que has puesto podría indigestar la apertura del Recordset.
No funciona, sigo con el mismo error
No se si lo has solucionado o no, pero mi pregunta es: ¿Esa SQL funciona en una consulta?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas