##### http://www.lawebdelprogramador.com ##### ##### RESPUESTA A LA PREGUNTA 50696 - ACCESS ##### Hola, Yo hice en su dia un procedimiento de evento para que me genarara un fichero plano con una estructura en concreto. Te paso mi ejemplo y saca lo que puedas. Suerte. On Error GoTo Err_btn_genera_Click\par Dim Rs As Recordset\par Dim alb As String\par Dim Mat As String\par Dim trans As String\par Dim Comza As String\par Dim Ref As String\par Dim codza As String\par Dim des As String\par Dim pvw As String\par Dim Can As String\par Dim Refcon As String\par Dim Bul As String\par Dim Canbul As String\par Dim obs As String\par Dim espais As String\par Dim horaara As String\par Dim hsc As String\par Dim dalb As String\par Dim daavui As String\par Dim abla As String\par Dim npc As String\par \par Dim RUTA As Variant\par 'Close #1\par espais = String$(100, " ")\par Set Rs = CurrentDb.OpenRecordset("SELECT Aviexp.* FROM aviexp")\par RUTA = "C:\\wsta\\aviexp30.fi"\par Kill RUTA\par \par Open RUTA For Append As #1\par Rs.MoveFirst\par Do While Not Rs.EOF()\par \par alb = (Rs.Fields("Albara").Value)\par Do While Not Len(alb) = 17\par alb = alb + " "\par Loop\par \par abla = (Rs.Fields("Abladestelle").Value)\par Do While Not Len(abla) = 17\par abla = abla + " "\par Loop\par \par npc = (Rs.Fields("N_Pedido_contrato").Value)\par Do While Not Len(npc) = 6\par npc = " " + npc\par Loop\par \par Mat = (Rs.Fields("Matricula").Value)\par Do While Not Len(Mat) = 17\par Mat = Mat + " "\par Loop\par \par trans = (Rs.Fields("transportista").Value)\par Do While Not Len(trans) = 35\par trans = trans + " "\par Loop\par \par Comza = (Rs.Fields("Comanda Zanini").Value)\par Do While Not Len(Comza) = 17\par Comza = Comza + " "\par Loop\par \par Ref = (Rs.Fields("Referencia").Value)\par Do While Not Len(Ref) = 35\par Ref = Ref + " "\par Loop\par \par codza = (Rs.Fields("codigo zag").Value)\par Do While Not Len(codza) = 35\par codza = codza + " "\par Loop\par \par des = (Rs.Fields("descripcion").Value)\par Do While Not Len(des) = 35\par des = des + " "\par Loop\par \par pvw = (Rs.Fields("planta vw").Value)\par Do While Not Len(pvw) = 17\par pvw = pvw + " "\par Loop\par \par Can = (Rs.Fields("Cantidad").Value)\par Do While Not Len(Can) = 10\par Can = "0" + Can\par Loop\par \par Refcon = (Rs.Fields("Referencia Container").Value)\par Do While Not Len(Refcon) = 35\par Refcon = Refcon + " "\par Loop\par \par Bul = (Rs.Fields("Bultos").Value)\par Do While Not Len(Bul) = 6\par Bul = "0" + Bul\par Loop\par \par horaara = (Rs.Fields("Hora ara").Value)\par Do While Not Len(horaara) = 4\par horaara = "0" + horaara\par Loop\par \par hsc = (Rs.Fields("Hora Sortida camion").Value)\par Do While Not Len(hsc) = 4\par hsc = "0" + hsc\par Loop\par \par \par Canbul = (Rs.Fields("Cantidad Bulto").Value)\par Do While Not Len(Canbul) = 10\par Canbul = "0" + Canbul\par Loop\par \par obs = (Rs.Fields("observaciones").Value)\par daavui = (Mid$((Rs.Fields("data avui").Value), 7, 2)) + (Mid$((Rs.Fields("data avui").Value), 4, 2)) + (Mid$((Rs.Fields("data avui").Value), 1, 2))\par dalb = (Mid$((Rs.Fields("data albara").Value), 7, 2)) + (Mid$((Rs.Fields("data albara").Value), 4, 2)) + (Mid$((Rs.Fields("data albara").Value), 1, 2))\par Print #1, "00000000000000" & " " & "O000000000000 000 " & "MID" & alb & daavui & horaara\par Print #1, espais & "CDT000000 EMPRESA S.A."\par Print #1, espais & "CSGVW " & espais & " " & pvw & abla\par Print #1, espais & "DTR " & Mat & " " & trans & espais & espais & " " & hsc\par Print #1, espais & "DET01"\par Print #1, espais & "ARD" & Ref & codza & des & espais & " " & Can & "PCE" & npc & dalb\par Print #1, espais & "TCO" & Refcon & " " & Bul & Canbul & "PCE"\par Print #1, espais & "FTX" & obs\par Rs.MoveNext\par Loop\par Close #1\par Exit_btn_genera_Click:\par Exit Sub\par \par Err_btn_genera_Click:\par MsgBox Err.Description\par Resume Exit_btn_genera_Click\par End Sub\par ##### Francesc Escamilla i Arnau - crispauesca@yahoo.es #####