Añadir campo nuevo en SQL

Tengo estas líneas en VBA y quiero añadir un campo nuevo, ¿cómo puedo hacerlo?

miSQL = "SELECT TOP " & Me.Ver_reg & " " & "INC_enviada.Revisado_jefe, INC_enviada.Detectada_en, [Detectada_en] & ' ' & [Linea] AS Union_zona_linea, INC_enviada.Sección, INC_enviada.Ver_todas, Operarios_directos.Operario, Causa.Descripción AS Descripción_causa, Estados_INC.Colorear, INC_enviada.Id, INC_enviada.Linea, INC_enviada.ESF, INC_enviada.Modelo, INC_enviada.Descripción_grupo, INC_enviada.Fecha_INC, INC_enviada.Descripción_parte_trabajo, INC_enviada.Departamento, INC_enviada.Nº_Causa, INC_enviada.Tiempo_min, INC_enviada.Cod_Operario, INC_enviada.Op_Inc, INC_enviada.[Causa Operario], INC_enviada.[Resumen causa], INC_enviada.[CLASIFICACION FUNCION GRAVEDAD], INC_enviada.[CLASIFICACION FUNCION REPETICION], INC_enviada.[PLAN DE ACCION], INC_enviada.SEGUIMIENTO, INC_enviada.[FECHA INICIO], INC_enviada.[FECHA REVISION], INC_enviada.[ACCION EXTERNA A PRODUCCION], INC_enviada.Hora_Act, INC_enviada.INC_Info FROM ((INC_enviada LEFT JOIN Operarios_directos ON INC_enviada.Cod_Operario = Operarios_directos.Nº_op)"

Como no cabe todo en una línea, lo corto aquí:
miSQL = miSQL & " LEFT JOIN Causa ON INC_enviada.Nº_Causa = Causa.Causa) LEFT JOIN Estados_INC ON INC_enviada.Revisado_jefe = Estados_INC.Estado WHERE (((INC_enviada.Revisado_jefe) Like 'REV*') AND ((INC_enviada.Detectada_en)=[Formularios]![Entrada]![Detectada_en])) OR (((INC_enviada.Revisado_jefe) Like 'REV*') AND (([Detectada_en] & ' ' & [Linea])=[Formularios]![Entrada]![Union_zona_linea])) OR (((INC_enviada.Revisado_jefe) Like 'REV*') AND ((INC_enviada.Sección)=[Formularios]![Entrada]![Seleccion_linea])) OR (((INC_enviada.Revisado_jefe) Like 'REV*') AND ((INC_enviada.Ver_todas)=[Formularios]![Entrada]![Seleccion_linea])) "

Necesito añadir el campo Unificadas de la tabla INC_enviada. ¿Dónde debo colocarlo?

1 respuesta

Respuesta
2

Los campos siempre tienes que ponerlos antes del del FROM.

El problema que tengo es que en esa linea no me cabe nada más y he intentado hacer otra pero no me sale bien.

Pues divide la primera línea en dos (o más) igual que hiciste con la otra, y teniendo cuidado con los espacios...

O también puedes quitar parte de la primera y meterla en la segunda, por ejemplo:

miSQL = "SELECT TOP " & Me.Ver_reg & " " & "INC_enviada.Revisado_jefe, INC_enviada.Detectada_en, [Detectada_en] & ' ' & [Linea] AS Union_zona_linea, INC_enviada.Sección, INC_enviada.Ver_todas, Operarios_directos.Operario, Causa.Descripción AS Descripción_causa, Estados_INC.Colorear, INC_enviada.Id, INC_enviada.Linea, INC_enviada.ESF, INC_enviada.Modelo, INC_enviada.Descripción_grupo, INC_enviada.Fecha_INC, INC_enviada.Descripción_parte_trabajo, INC_enviada.Departamento, INC_enviada.Nº_Causa, INC_enviada.Tiempo_min, INC_enviada.Cod_Operario, INC_enviada.Op_Inc, INC_enviada.[Causa Operario], INC_enviada.[Resumen causa], INC_enviada.[CLASIFICACION FUNCION GRAVEDAD], INC_enviada.[CLASIFICACION FUNCION REPETICION], INC_enviada.[PLAN DE ACCION], INC_enviada.SEGUIMIENTO, INC_enviada.[FECHA INICIO], INC_enviada.[FECHA REVISION], INC_enviada.[ACCION EXTERNA A PRODUCCION], INC_enviada.Hora_Act, INC_enviada.INC_Info, INC_enviada.Unificadas"

miSQL = miSQL & " FROM ((INC_enviada LEFT JOIN Operarios_directos ON INC_enviada.Cod_Operario = Operarios_directos.Nº_op)  LEFT JOIN Causa ON INC_enviada.Nº_Causa = Causa.Causa) LEFT JOIN Estados_INC ON INC_enviada.Revisado_jefe = Estados_INC.Estado WHERE (((INC_enviada.Revisado_jefe) Like 'REV*') AND ((INC_enviada.Detectada_en)=[Formularios]![Entrada]![Detectada_en])) OR (((INC_enviada.Revisado_jefe) Like 'REV*') AND (([Detectada_en] & ' ' & [Linea])=[Formularios]![Entrada]![Union_zona_linea])) OR (((INC_enviada.Revisado_jefe) Like 'REV*') AND ((INC_enviada.Sección)=[Formularios]![Entrada]![Seleccion_linea])) OR (((INC_enviada.Revisado_jefe) Like 'REV*') AND ((INC_enviada.Ver_todas)=[Formularios]![Entrada]![Seleccion_linea])) "

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas