Buen dia Camilo. ¿No era mas práctico incluir todos los datos en una tabla
NOMINA que tuviese los campos "AÑO" y "MES"?.
Pero si estas obligado a trabajar asi... arma las consultas con una función que le pases la fecha y te devuelva la consulta SQL que debe llevar el TQuery:
Código Delphi
[-]function BuscarNomina(Fecha: TDateTime) ;
Var
Dia, Mes, Anho: integer;
sAnho, sMes: String;
begin
DecodeDate(Fecha, Anho, Mes, Dia);
sMes := IntToStr(Mes);
if Length(sMes)=1 then
sMes := '0' + sMes;
sAnho := IntToStr(Anho);
Result := 'SELECT * FROM NOMINA_' + sMes + sAnho;
end;
...
QueryNomina.SQL.Text = BuscarNomina(Fecha);
QueryNomina.Open();
Para crearlas sustituye la clausula "SELECT" por "CREATE TABLE" y le especificas los campos, es lo mismo, igual se basa en armar la consulta.
Pero insisto:
Deberias crear solo una tabla con un campo MES y un campo AÑO. Para diferenciar los registros de nómina que te devuelva por meses y año solo hara falta un poco SQL (poquisimo, ¿Tres Lineas?) en las consultas. Saludos.