Control de Horas usadas en un proyecto
Publicado por Juan Carlos Rivas (2 intervenciones) el 18/10/2019 15:51:53
Buenas tardes estimados,
Quisiera su ayuda y consejos para ver como resolver lo siguiente:
Tengo una base de datos donde se llevan control de proyectos asignados y el trabajador asignado. Pero se desea saber cuanto tiempo invierte cada trabajador en cada projecto.
Cada projecto tiene un codigo de barra asosiado. Cuando ese codigo de barra es leido mediante un escaneador de barra entonces se activa un timer y el tiempo se va escribiendo en un textbox, tal y como pueden ver en la imagen adjunta. Al momento de volver a escanear el codigo se debe de detener el timer y sumar eso tiempo al campo tiempo que tengo en la base de datos y a la vez se tiene que poner en blanco el contador y guardar el registro y estar listo para escanear otro codigo de barra. La cosa es como puedo hacer esa suma y como paso ese dato a la base de datos.
La base de datos es access y el campo de las horas lo tengo declarado como Fecha/Hora

Aqui parte del codigo:
Muchas gracias por su ayuda
Juan Carlos
Quisiera su ayuda y consejos para ver como resolver lo siguiente:
Tengo una base de datos donde se llevan control de proyectos asignados y el trabajador asignado. Pero se desea saber cuanto tiempo invierte cada trabajador en cada projecto.
Cada projecto tiene un codigo de barra asosiado. Cuando ese codigo de barra es leido mediante un escaneador de barra entonces se activa un timer y el tiempo se va escribiendo en un textbox, tal y como pueden ver en la imagen adjunta. Al momento de volver a escanear el codigo se debe de detener el timer y sumar eso tiempo al campo tiempo que tengo en la base de datos y a la vez se tiene que poner en blanco el contador y guardar el registro y estar listo para escanear otro codigo de barra. La cosa es como puedo hacer esa suma y como paso ese dato a la base de datos.
La base de datos es access y el campo de las horas lo tengo declarado como Fecha/Hora
Aqui parte del codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Private cronometro As New Stopwatch
Public stundenaktuel As String
Function Buscar_Registro(ByVal xID As String) As Boolean
Dim Ds As New DataSet
Dim IDx As Double
IDx = Convert.ToDouble(xID)
Dim Conexion As New OleDbConnection
Conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source = c:\VBDB\Working\ProjektMx2.accdb;Persist Security Info = False;"
Dim CadenaSQL As String = "SELECT * FROM XProjekt WHERE IDProjekt=" & txtIDProjektLeer.Text
Dim Adaptador As New OleDbDataAdapter(CadenaSQL, Conexion)
Conexion.Open()
Adaptador.Fill(Ds)
Conexion.Close()
If (Ds.Tables(0).Rows.Count = 0) Then
'No encontro el registro
Return False
Else
'Si encontro el registro
LeerCustomer.Text = Ds.Tables(0).Rows(0)("Customer").ToString()
LeerModule.Text = Ds.Tables(0).Rows(0)("Modulex").ToString()
LeerOrderType.Text = Ds.Tables(0).Rows(0)("OrderType").ToString()
LeerProDatum.Text = Ds.Tables(0).Rows(0)("ProDatum").ToString()
LeerProjekt.Text = Ds.Tables(0).Rows(0)("ProjektName").ToString()
LeerSerialNo.Text = Ds.Tables(0).Rows(0)("SerialNo").ToString()
LeerTotalUhr.Text = Ds.Tables(0).Rows(0)("TotalUhr")
'Convert.ToDateTime(LeerTotalUhr.Text)
ProjektManager = DirectCast(Me.BindingContext(ProjektTable), CurrencyManager)
Timer1.Start()
cronometro.Start()
CC += 1
txtIDProjektLeer.SelectionStart = 0
txtIDProjektLeer.SelectionLength = Len(txtIDProjektLeer.Text)
stundenaktuel = LeerTotalUhr.Text
Ds.Dispose()
Return True
End If
End Function
Dim I As Long 'Contador.
Dim Tiempo As String 'Tiempo total transcurrido.
Function ResetX()
Dim SavedProjektleer As String = LeerProjekt.Text
Dim SavedRow As Integer
Try
LeerTotalUhr.Text = Format(TimeValue(lblCronometro.Text) + TimeValue(stundenaktuel), "hh:mm:ss")
ProjektManager.EndCurrentEdit()
ProjektTable.DefaultView.Sort = "Customer"
SavedRow = ProjektTable.DefaultView.Find(SavedProjektleer)
ProjektManager.Position = SavedRow
MessageBox.Show("Record saved.", "Save", MessageBoxButtons.OK, MessageBoxIcon.Information)
'Call SetState("View")
Catch ex As Exception
MessageBox.Show("Error savid record.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Timer1.Stop()
'cronometro.Stop()
'cronometro.Reset()
'lblCronometro.Text = "00:00:00"
txtIDProjektLeer.Text = ""
txtIDProjektLeer.Focus()
CC = 0
End Function
Muchas gracias por su ayuda
Juan Carlos
Valora esta pregunta


0