Visual Basic.NET - Control de Horas usadas en un proyecto

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 8 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

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

Codigo-de-Barra

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Control de Horas usadas en un proyecto

Publicado por omar (30 intervenciones) el 18/10/2019 17:20:35
Solo concentrate en las horas y el codigo que se escanea.

si hay datos al escanear se jala la hora segun el codigo y se suma

si es la primera vez que se guarda el registro solo guardas,

Crea un metodo para verifiar si ya almacenaste datos en ese registro del codigo de barras

hay apartados donde te muestran paso a paso como sumar horas

al sumar modifica solo ese campo segun tu codigo de barra
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar