Lo único que se me ocurre es meterle espacios en blanco al contenido de cada campo de cada tabla hasta que se complete el tamaño de cada campo.
Copia este código en un módulo nuevo de tu BD:
Public Sub exportaTablasAnchoFijo(ParamArray lasTablas())
Dim miTXT As String
Dim miFila As String
Dim rst As DAO.Recordset
Dim fld As DAO.Field
Dim prop As Property
Dim i As Integer
Dim j As Integer
Dim elAncho As Integer
Dim campoLargo As String
'Ruta al fichero (si no existe lo crea, si existe lo sobreescribe)
miTXT = Application.CurrentProject.Path & "\Datos.txt"
'Abres el archivo
Open miTXT For Output As #1
'Bucle para recorrer las tablas
For j = 0 To UBound(lasTablas)
Set rst = CurrentDb.OpenRecordset(lasTablas(j))
If rst.RecordCount <> o Then 'Si tiene registros
Do Until rst.EOF
'recorres todos los campos y los delimitas con TAB
For i = 0 To rst.Fields.Count - 1
Set fld = rst.Fields(i)
For Each prop In fld.Properties
On Error Resume Next
If prop.Name = "Size" Then
elAncho = prop
Exit For
End If
On Error GoTo 0
Next prop
If Nz(Len(rst(i)), 0) < elAncho Then
campoLargo = String(elAncho - Nz(Len(rst(i)), 0), " ") & rst(i)
Else
campoLargo = Nz(rst(i), " ")
End If
miFila = miFila & campoLargo & vbTab
Next i
'Pasas el registro al archivo y reseteas miFila
Print #1, miFila
miFila = ""
rst.MoveNext
Loop
End If
'Inserto una linea en blanco para separar
Print #1, ""
Next j
'Cierras el archivo y el recordset
rst.Close
Set rst = Nothing
Close #1
End Sub
Y en el botón que ejecuta el proceso, éste (con los nombres de las tablas [o consultas] que quieres exportar):
ExportaTablasAnchoFijo "TDatos4", "TDatos2", "TDatos3"
Con esto creo que tienes lo que buscas.
Te dejo el archivo en el que lo probé, para que lo veas: http://filebig.net/files/TuStBN9eyF
Un saludo.
http://nksvaccessolutions.com/Foro/