Que formato(form,queries,reports) puedo utilizar si necesito generar instrucciones de varias hojas ?

Espero puedan ayudarme soy nuevo en esto y me gustaría mucho aprender, en mi trabajo generó instrucciones de trabajo y algunas tienen varias hojas e logrado crear el mismo formato que tenemos actual y que los pasos se copien solos en el mismo pero ahora necesito que al momento de querer imprimirlos lo haga todas según la ID o así probé con un tab control pero no se si estoy bien

1 Respuesta

Respuesta
1

Con los datos que das, es difícil dar una respuesta concreta. Lo normal, es usar informes para las órdenes de trabajo, ya que puedes darle el "formato" que quieras, independientemente de que una orden tenga dos o más folios o tenga uno sólo. Por otro lado, no dices desde donde lo vas a imprimir, si en un formulario único, donde ya están las instrucciones de esa orden de trabajo, usando, por ejemplo,

Docme.openreport"Ordenes",,,,"Idempleado=.....

o si vas a imprimir varias ordenes usando, por ejemplo

For i=1 to...

docmd...

Por eso sería conveniente que lo explicaras más extensamente.

Muchas gracias por la respuesta. Veras son instrucciones de trabajo donde se detallan por pasos e imágenes el proceso de una operación determinada, los pasos los puse como una columna y las imagenes en la base de datos (steps)y ya tengo el  form (visualizar)con el formato que utilizamos y eh logrado que se auto llene ahora solo necesito poder imprimir cada hoja ya que 1 instrucción cuenta con hasta 8 páginas con diferente información e imágenes, entonces aplique un tab control dentro del form por que fue la única opción de tener varias paginas que encontré y que me permita visualizar todos los pasos  ya que se tienen varios, planeo poner un botón de imprimir y que lo haga según la ID de la orden de trabajo o el número de la estación de la orden de trabajo. No sé si me explico bien;( de antemano gracias de nuevo

Te decía que dependiendo de como tengas estructurada la base de datos se puede hacer de mil formas distintas. Por ejemplo, si tengo una tabla Orden con IdOrden, NumOrden e IdEmpleado y una tabla DetalleOrden con IdOrden, para relacionarla con la tabla Orden (UNA orden VARIOS detalles), Descripción de, lo que hay que hacer y Ruta(donde voy a guardar la ruta a la imagen que quiero poner o no poner)

Puedes ver que el curasor está aún en Descripción. Cuando pongo el cursor en Ruta, se abre un "explorador" para que localice la imagen que quiero ponerle.

Una vez que la selecciono y acepto, me pasa la ruta al control del mismo nombre. Se podría hacer que la mostrara en el mismo formulario, eso va a gusto del consumidor.

Cuando le haya asignado unos cuantos trabajos

Si pulso Imprimir esta orden(por eso te preguntaba si la imprimes a medida de que la redactas o luego imprimes varias de golpe)

Y te "imprimiría" tantas hojas como necesitara en función de los detalles que caben en un folio DIN A-4

En caso de que la orden sólo tuviera un detalle

Bueno, habría que darle "forma" al informe.

En este caso, en el subformulario tengo definida la función BuscaArchivo, aprovechando las posibilidades de MSOFiledialog. En código del subformulario sería

Public Function buscaArchivo() As String
Dim fDialog As Office.FileDialog
Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
.AllowMultiSelect = False
.ButtonName = "Seleccionar"
.Title = "Seleccionar el archivo"
.InitialFileName = "C:\users\gonza\documents\imagenesusar\"
.InitialView = msoFileDialogViewDetails
.Filters.Clear
.Filters.Add "All files", "*.*"
If .Show = True Then
buscaArchivo = .SelectedItems(1)
Else
MsgBox "Ha pulsado el botón <Cancelar>."
End If
End With
End Function
Private Sub Ruta_GotFocus()
Ruta = buscaArchivo()
End Sub

En el informe le añado un control imagen llamado Foto y en las propiedades de la sección Detalle, en el evento Al dar formato le digo

Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
Foto.Picture = Nz(Ruta, "")
End Sub

Lo de Nz es por si alguna ruta del formulario no la llenara.

En caso de que quisieras imprimir varias ordenes a la vez, habría que usar, por ejemplo,

dim i as integer

for i=1 to....

docmd.openreport"ordenes",.......

next

O bien usar Do while...

Es que depende mucho de como esté construida la base.

Información muy buena que me a ayudado a aprender nuevas cosas, solo quiero comentar una última cosa al imprimir me refería a el mismo reporte pero con varias páginas osea que el mismo reporte tuviera más de 2 páginas y distinta información;(  gracias

No lo he entendido. En el informe te pondrá, por cada Orden de trabajo, tantos registros como haya en la tabla DetalleOrden relacionados con él. Por si te refirieras a que no vayan seguidos puedes, en vista diseño del informe pulsar

Y en la sección Pie de grupo ponerle un control salto de página, de forma que cuando termine la orden de trabajo de un empleado, la Orden del siguiente empleado, empiece en una hoja nueva.

Si a lo que te refirieras fuera, por ejemplo que la tabla OrdenTrabajo estuviera relacionada, por ejemplo, con las tablas DetalleOrden, Materiales, Clientes, etc, es decir, con varias tablas podrías hacer con cada una de ellas un informe y luego "colocarlos" como subinforme dentro del informe OrdenTrabajo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas