Como desconozco la consulta le suministro la función para crear la tabla. Observe la imagen
TABLAS
Aux= Tabla para llevar las tablas que cumplen con la fecha y así poder tomar la última. No obstante, esto se puede hacer de otra forma.
T-BK= Tabla modelo
FUNCIÓN PARA CREAR LA TABLA
Public Function creatabla(Optional dfecha As Date)
' Máximo 9 tablas del _1 al _9
Dim strFecha As String
Dim strFecha1 As String
Dim rs As Recordset
Dim db As Database
Dim aux1 As String
Dim intUltimo As Integer
Dim tdf As TableDef
If CLng(dfecha) = 0 Then
dfecha = Date
End If
strFecha = "T-BK" & Format(dfecha, "yyyymmdd")
strFecha1 = Format(dfecha, "yyyymmdd")
Set db = CurrentDb
DoCmd.SetWarnings (False)
DoCmd.RunSQL "DELETE FROM aux"
For Each tdf In db.TableDefs
If Left(tdf.Name, 4) = "T-BK" Then
aux1 = Mid(tdf.Name, 5, 8)
If aux1 = strFecha1 Then
DoCmd.RunSQL "INSERT INTO aux(aux) VALUES('" & tdf.Name & "')"
intUltimo = Right(DLast("aux", "aux"), 1)
End If
End If
Next tdf
strFecha = Mid(strFecha, 1, 13) & Format(intUltimo + 1, "_0")
DoCmd.CopyObject , strFecha, acTable, "T-BK"
End Function
Ejemplo para llamar la función:
¿
? Creatabla(date) --- Si no se pasa la fecha toma la del sistema.
Queda faltando como se llama desde la consulta, no lo hago porque la desconzco.