Barra de Progreso de un periodo de tiempo |
Responder | Página 12> |
Autor | |
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Tema: Barra de Progreso de un periodo de tiempo Enviado: 09/Junio/2020 a las 04:26 |
Buenas noches, necesito mostrar graficamente el tiempo que una lavadora está procesando un lavado de prendas durante 8 horas de un turno. He investigado ejemplos y encontré como se muestra un porcentaje de progreso, solo que no aplica para lo que necesito. Tengo un formulario multiregistro donde muestro todas las lavadoras. Algunas de elllas estan ocupadas lavando prendas y de acuerdo al proceso que estan haciendo tienen un tiempo de inicio al cual se le agrega un tiempo en el que debería terminar por ejemplo 1.5 horas. de manera que quiero mostrar una barra por cada lavadora en un periodo de 8 horas. y mostrar cuando inició a lavar, el tiempo en que debería terminar a paritr de la hora en que inició, para que gráficamente el operador vea en que momento una lavadora estará disponible.
|
|
Ismael G.H.
Saludos desde México |
|
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Enviado: 09/Junio/2020 a las 04:40 |
Hola. Fijate si te sirve este ejemplo y si lo puede adaptar. http://www.mvp-access.es/juanmafan/trucos/progresando.htm Saludos
|
|
-------Maxpro-------
San Luis - Argentina |
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 09/Junio/2020 a las 04:59 |
estoy tratando de poner una imagen de mi formulario, pero no se puede ver... ya vi el ejemplo. solo que no se como ponerlo sobre una barra de 8 horas.
|
|
Ismael G.H.
Saludos desde México |
|
maxpro
Colaborador Unido: 04/Marzo/2006 Localización: Argentina Estado: Sin conexión Puntos: 1556 |
Enviado: 09/Junio/2020 a las 05:04 |
Hola. De la pagina del maestro Emilio Sancha! http://www.mvp-access.es/emilio/busqueda.asp?Palabra=Progreso Despues iras adaptando! Saludos EDITO: En este foro todos hemos aprendido viendo codigos que nos han provisto y de ahi solo depende de nosotros lograr el objetivo entendiendolos y escribiendolos a nuestro modo! dar todo servido no enseña y no seria tu objetivo que es aprender!
Editado por maxpro - 09/Junio/2020 a las 05:12 |
|
-------Maxpro-------
San Luis - Argentina |
|
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: en línea Puntos: 3859 |
Enviado: 09/Junio/2020 a las 15:01 |
Hola Ixtlacihuati
Cuando dices que el ejemplo del porcentaje no aplica a lo que necesitas de 8 horas, ¿por qué no aplica? ¿Puedes ponernos lo que tienes hecho para que veamos nosotros también donde está el problema y podamos orientarte un poco más? (Y si pones además una explicación, mejor que mejor) Un saludo. Luis |
|
El Búho es un pajarraco
|
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 10/Julio/2020 a las 05:17 |
No he podido resolver el problema que tengo de la barra de progreso y ya no tengo tanto tiempo para resolverlo, por lo que si alguien me puede ayudar a hacerlo obviamente pagando sus honorarios me ayudaría mucho. espero que pueda verse este link: https://1drv.ms/b/s!As0Fy4KTOVH3jtEw-Cb3W5PIUS2-kA
|
|
Ismael G.H.
Saludos desde México |
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 10/Julio/2020 a las 15:31 |
Como pensé resolverlo es:
1. Tengo una tabla "Bitacora_Lavado" con un campo tipo texto "Progreso" 2. En el formulario dibujar este campo de 12 cm de largo pensando que cada centímetro es una hora 3. Hacer una función que en base a la "hora de inicio" del ciclo de lavado, se posicione en el centímetro correspondiente del campo. Luego en base a el "tiempo del Ciclo de lavado" incremente el numero de centímetros que corresponde a las horas. |
|
Ismael G.H.
Saludos desde México |
|
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: en línea Puntos: 3859 |
Enviado: 10/Julio/2020 a las 20:26 |
Vamos a olvidarnos de los centímetros, hablamos de pantallas y cada una puede variar de tamaño, así que si no te importa me lo traduzco como 12 cuadrados en línea, donde cada cuadrado representa una hora.
Hasta aquí bastante fácil Una función que en base a la hora de inicio... esto ya queda menos claro. ¿Quieres decir que si empieza a las 8 de la mañana hay que ir al cuadrado 8? O quizás es que tienes 12 horas de servicio, que este servicio empieza (por ejemplo( a las 7 de la mañana y termina a las 7 de la tarde y cada cuadrado representa una hora? Seguimos, Luego en base a el "tiempo del Ciclo de lavado" incremente el numero de centímetros que corresponde a las horas. Aquí me pierdo, ¿quieres decir que si el ciclo e lavado dura (por ejemplo), 7 horas y empieza en la última hora tengo que añadir otros 7 cuadrados, haciendo un total de 19 cuadrados? Y otra pregunta, ¿tienes solo un lavado cada vez o puedes tener, no sé, 20 o 30 a la vez y necesitas 20 o 30 gráficos= Porque para mí, sería mucho más fácil crear una línea en la base que tenga las horas, y cada lavado como si fuese una tartar de una duración estimada... como un GANTT pero para lavados. Es solo mi idea, claro, pero por si te da nuevas ideas. Un saludo. Luis |
|
El Búho es un pajarraco
|
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 10/Julio/2020 a las 21:45 |
Un Saludo.
|
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 12/Julio/2020 a las 02:45 |
Si es correcto. tengo un campo de fondo que representa 12 horas (de 8AM a 8pm) y si tengo 12 campos que representan cada hora. lo que requiero es que si el ciclo de lavado comienza a las 9:00 am y el proceso dura 1 hora con 30 minutos. Debería ir al campo 9 e incrementar su tamaño 1 centimetro con 30 milimetros. Tengo 10 lavadoras y se muestran todas a la vez para que graficamente el operador sepa cuando termina un ciclo de lavado, para poner la lavadora disponible y usarla de nuevo. no sé si el link que puse se pueda ver. Sí es como un gant y cada renglón es una lavadora.
Editado por Ixtlacihuatl - 12/Julio/2020 a las 02:50 |
|
Ismael G.H.
Saludos desde México |
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 12/Julio/2020 a las 02:47 |
Voy a revisarlo., gracias.
|
|
Ismael G.H.
Saludos desde México |
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 12/Julio/2020 a las 03:00 |
Gracias. Esto es lo más cercano de lo que necesito.
|
|
Ismael G.H.
Saludos desde México |
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 12/Julio/2020 a las 05:50 |
Revisando el codigo de la maestra Martha, que me comentaron, lo puse en mi subformulario
agregué a la tabla "Bitacora_Lavado" los campos (H0, H1, H2 ... H24) y en el formulario utilicé las funciones del ejemplo. pero no funciona con los campos, solamente funciona con campos independientes, me podrían decir porque? Este es el código de mi formulario. Option Compare Database Private Sub cerrar_Click() DoCmd.Quit End Sub Private Sub Form_Close() Me.TimerInterval = 0 End Sub Private Sub Form_Current() xHoras Me.TimerInterval = 1000 End Sub Private Sub Form_Load() Segundos Minutos Horas Me.TimerInterval = 1000 End Sub Private Sub Form_Timer() Me.xReloj.Value = Format(Time, "HH:mm:ss AM/PM") If Second(Time) = 0 Then Call Limpia("s") Minutos End If If Minute(Time) = 0 Then Call Limpia("m") Horas End If If Hour(Time) = 0 Then Call Limpia("h") End If Segundos Me.Caption = Time() End Sub Private Sub ST_Lavado_Click() If ST_Lavado.OldValue = "Ocupada" Then Hora_Fin = Time() ST_Lavado = "Disponible" Else ST_Lavado = ST_Lavado.OldValue End If Recalc End Sub Private Sub xKilos_AfterUpdate() Dim xCliente As String Dim xInicio As Date Dim xDuracion As Double Dim xMinuto As Long Dim xHora As Long Dim HoraFin As Date Set db = DBEngine(0)(0) xCliente = xPlanta.Column(1) xInicio = Now() xDuracion = DLookup("Duracion", "Procedimiento", "Procedimiento=" & xProcedimiento) xHora = Hora_Proceso(xDuracion) xMinuto = Minutos_Proceso(xDuracion) HoraFin = Agrega_Tiempo(xInicio, xHora, xMinuto) xInicio = Format(xInicio, "hh:nn:ss") strSQL = "INSERT INTO Bitacora_Lavado Values(" strSQL = strSQL & xLavadora & ",'" 'Maquina strSQL = strSQL & Date & "','" 'Fecha_Lavado strSQL = strSQL & xInicio & "','" 'Hora_Inicio strSQL = strSQL & xCliente & "','" 'Cliente strSQL = strSQL & xPlanta.Column(0) & "'," 'Planta strSQL = strSQL & 0 & "," 'Ruta strSQL = strSQL & 0 & ",'" 'Pedido strSQL = strSQL & "" & "'," 'Tipo_Proceso strSQL = strSQL & xProcedimiento & "," 'Procedimiento strSQL = strSQL & xDuracion & "," 'Tiempo de Proceso strSQL = strSQL & xKilos & ",'" 'Peso_Lavado strSQL = strSQL & HoraFin & "','" 'Hora_Fin strSQL = strSQL & Usr & "','" 'Operador strSQL = strSQL & "Ocupada" & "','" 'St_Lavado strSQL = strSQL & "" & "','" 'Hora 0 strSQL = strSQL & "" & "','" 'Hora 1 strSQL = strSQL & "" & "','" 'Hora 2 strSQL = strSQL & "" & "','" 'Hora 3 strSQL = strSQL & "" & "','" 'Hora 4 strSQL = strSQL & "" & "','" 'Hora 5 strSQL = strSQL & "" & "','" 'Hora 6 strSQL = strSQL & "" & "','" 'Hora 7 strSQL = strSQL & "" & "','" 'Hora 8 strSQL = strSQL & "" & "','" 'Hora 9 strSQL = strSQL & "" & "','" 'Hora 10 strSQL = strSQL & "" & "','" 'Hora 11 strSQL = strSQL & "" & "','" 'Hora 12 strSQL = strSQL & "" & "','" 'Hora 13 strSQL = strSQL & "" & "','" 'Hora 14 strSQL = strSQL & "" & "','" 'Hora 15 strSQL = strSQL & "" & "','" 'Hora 16 strSQL = strSQL & "" & "','" 'Hora 17 strSQL = strSQL & "" & "','" 'Hora 18 strSQL = strSQL & "" & "','" 'Hora 19 strSQL = strSQL & "" & "','" 'Hora 20 strSQL = strSQL & "" & "','" 'Hora 21 strSQL = strSQL & "" & "','" 'Hora 22 strSQL = strSQL & "" & "','" 'Hora 23 strSQL = strSQL & "" & "')" 'Hora 24 db.Execute (strSQL) xPlanta = Null xLavadora = Null xProcedimiento = Null xKilos = 0 xTerminar = Null Recalc End Sub Private Sub xProcedimiento_GotFocus() xProcedimiento.Dropdown End Sub Private Sub xTerminar_AfterUpdate() Set db = DBEngine(0)(0) strSQL = "UPDATE Bitacora_Lavado set Hora_Fin = '" & Time & "', St_Lavado='Disponible'" strSQL = strSQL & " WHERE Maquina=" & xTerminar & " And St_Lavado='Ocupada'" db.Execute (strSQL) Requery End Sub Private Sub xTerminar_GotFocus() xTerminar.Dropdown End Sub Private Sub xHoras() Dim ctrControl As Control Dim ctrForm As Form Dim NombreControl As String Dim Contador As Integer Contador = 0 Set ctrForm = Me For Each ctrControl In ctrForm With ctrControl NombreControl = "h0" & Contador If .Name = NombreControl Then ' If Contador < Hour(Time) Then Contador = Contador + 1 .BackColor = 8388608 .ForeColor = 8388608 End If End With Next ctrControl End Sub Private Sub Horas() Dim ctrControl As Control Dim ctrForm As Form Dim NombreControl As String Dim Contador As Integer Contador = 0 Set ctrForm = Me For Each ctrControl In ctrForm With ctrControl NombreControl = "h" & Contador If .Name = NombreControl Then ' If Contador < Hour(Time) Then Contador = Contador + 1 .BackColor = 8388608 .ForeColor = 8388608 End If End With Next ctrControl End Sub Private Sub Minutos() Dim ctrControl As Control Dim ctrForm As Form Dim NombreControl As String Dim Contador As Integer Contador = 0 Set ctrForm = Me For Each ctrControl In ctrForm NombreControl = "m" & Contador With ctrControl If .Name = NombreControl Then ' If Contador < Minute(Time) Then Contador = Contador + 1 .BackColor = 32768 .ForeColor = 32768 End If End With Next ctrControl End Sub Private Sub Segundos() Dim ctrControl As Control Dim ctrForm As Form Dim NombreControl As String Dim Contador As Integer Contador = 0 Set ctrForm = Me For Each ctrControl In ctrForm NombreControl = "s" & Contador With ctrControl If .Name = NombreControl Then If Contador < Second(Time) Then Contador = Contador + 1 .BackColor = 255 .ForeColor = 255 End If End With Next ctrControl End Sub Private Function Limpia(NombreControl As String) Dim ctrControl As Control Dim ctrForm As Form Dim Control As String Dim Contador As Integer Control = NombreControl Set ctrForm = Me Contador = 1 For Each ctrControl In ctrForm NombreControl = Control & Contador With ctrControl If .Name = NombreControl Then ' Contador = Contador + 1 .BackColor = 16777215 .ForeColor = 16777215 End If End With Next ctrControl End Function |
|
Ismael G.H.
Saludos desde México |
|
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Enviado: 12/Julio/2020 a las 16:15 |
Hola!
Si te he entendido bien no hace falta agregar los controles de la hora (H0,H1,....H24). Creo que deberías tener dos campos en tu tabla, uno es hora_Inicio y otro hora_Final de forma que al terminar el funcionamiento te lo graba en la tabla. y Dejas el interface sólo como estético. Una pregunta, Cuando se cambia el día que pasaría con el subformulario?, se pone a cero los registros? |
|
Un Saludo.
|
|
Ixtlacihuatl
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Nuevo Unido: 20/Mayo/2020 Localización: México Estado: Sin conexión Puntos: 49 |
Enviado: 13/Julio/2020 a las 15:52 |
La tabla "Bitacora_Lavado" almacena todos los ciclos de lavado como un historico. No tengo un cierre dl día como tal, solo agregan ciclos de lavado y se van almacenando. pero en el formulario se muestran todas las lavadoras y el tiempo que se están utilizando. En el encabezado del formulario tengo un control donde se puede seleccionar la lavadora que ya terminó su ciclo de lavado real (manualmente el operador selecciona la lavadora) y en ese momento se almacena la hora en que terminó el ciclo. entonces se inicializa la barra de progreso y el operador puede utilizar nuevamente esa lavadora disponible. La razón por la que agregué los 24 campos (H0,H1,H3...H24) es porque el formulario es multi-registro y al no saber como manejarlo con controles independientes, me repite el ultimo valor en todos los registros. En la tabla "Bitacora_Lavado" tengo estos campos:
|
|
Ismael G.H.
Saludos desde México |
|
Responder | Página 12> |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |