Foros del Web » Programación para mayores de 30 ;) » .NET »

[VB.NET-MySQL]Valores por dia

Estas en el tema de [VB.NET-MySQL]Valores por dia en el foro de .NET en Foros del Web. Hola amigos,me preguntaba comos se podría hacer esto: Teniendo las tablas productos,almacenes e inventario, en un DataGridView muestre el producto, almacén, las existencia iniciales,las entradas, ...
  #1 (permalink)  
Antiguo 27/04/2012, 13:45
Avatar de UNDR4  
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Pregunta [VB.NET-MySQL]Valores por dia

Hola amigos,me preguntaba comos se podría hacer esto:

Teniendo las tablas productos,almacenes e inventario, en un DataGridView muestre el producto, almacén, las existencia iniciales,las entradas, las salidas y las existencias finales por día.

la tabla quedaría así:

PRODUCTO|ALMACEN|STOCK INICIAL|ENTRADAS|SALIDAS|STOCK FINAL|FECHA|

lo que necesito es que el STOCK INICIAL me lo guarde una sola vez y el los demás valores cambien dependiendo de cuanto entre y salga para que me de un valor final por día

por ejemplo al inicio del día hay 100 unidades, entran 20 mas, salen 80, y el finaliza con 40 unidades.

Código vb:
Ver original
  1. 'Verificamos si exite un registro en movimientos
  2.            
  3.             CADb = "SELECT id_almacen,id_producto,fecha FROM movimientos WHERE id_almacen='" & Convert.ToString(row.Cells("IDAlmacen").Value) & "' AND id_producto = '" & Convert.ToString(row.Cells("IDProducto").Value) & "' AND fecha='" & Convert.ToString(row.Cells("Fecha").Value) & "'"
  4.             da = New MySqlDataAdapter(CADb, Conexion)
  5.             dt = New DataTable
  6.             Try
  7.                 da.Fill(dt)
  8.             Catch ex As Exception
  9.                 MsgBox("Error :", ex.Message)
  10.             End Try
  11.             'Si existe recupéramos el stock inicial y realizamos las operaciones necesarias, si no el stock inicial queda como 0 ya que el producto es nuevo, por lo tanto no hay existencias
  12.            If dt.Rows.Count = 1 Then
  13.                 Try
  14.                     dt = New DataTable
  15.                     CADa = "SELECT actual_bt,actual_kg FROM movimientos WHERE id_producto = ?id AND id_almacen= ?ida"
  16.                     cmd = New MySqlCommand(CADa, Conexion)
  17.                     cmd.Parameters.AddWithValue("?id", Convert.ToString(row.Cells("IDProducto").Value))
  18.                     cmd.Parameters.AddWithValue("?id", Convert.ToString(row.Cells("IDAlmacen").Value))
  19.                     da = New MySqlDataAdapter(cmd)
  20.                     da.Fill(dt)
  21.                     'Asignamos a Variable Eq el valor de equivalente
  22.                    If dt.Rows.Count > 0 Then
  23.                         x = dt.Rows(0).Item("actual_bt").ToString()
  24.                         y = dt.Rows(0).Item("actual_kg").ToString()
  25.                     End If
  26.                 Catch ex As Exception
  27.                     MsgBox("Error :", ex.Message)
  28.                 End Try
  29.                 ini =?
  30.                 inik =?
  31.                 en = b
  32.                 enk = k
  33.                 sal = 0
  34.                 salk = 0
  35.                 fin = ini + b
  36.                 fink = inik + k
  37.                 'Recuperamos el valor inicial de la BD, para poder realizar nuetras operacionde de conversión
  38.                CADc = "UPDATE movimientos SET inicial_bt=" & ini & "',inicial_kg=" & inik & "',entrada_bt='" & en & "',entrada_bt='" & enk & "',actual='" & fin & "',actual='" & fink & "' WHERE id_producto = '" & Convert.ToString(row.Cells("IDProducto").Value) & "' AND id_almacen='" & Convert.ToString(row.Cells("IDAlmacen").Value) & "'"
  39.                 Try
  40.                     'Abrimos la conexion
  41.                    Conexion.Open()
  42.                     'Asignamos el valor de la query a la variable cmd
  43.                    cmd = New MySqlCommand(CADc, Conexion)
  44.                     'Ejecutamos la query
  45.                    cmd.ExecuteNonQuery()
  46.                     'Cerramos conexion
  47.                    Conexion.Close()
  48.                 Catch ex As Exception
  49.                     MsgBox("Error :", ex.Message)
  50.                     Conexion.Close()
  51.                 End Try
  52.             Else
  53.                 ini = 0
  54.                 inik = 0
  55.                 en = b
  56.                 enk = k
  57.                 fin = b
  58.                 fink = k
  59.                 CADc = "INSERT INTO movimientos (id_producto,id_almacen,inicial_bt,inicial_kg,entrada_bt,entrada_kg,salida_bt,salida_kg,actual_bt,actual_kg,fecha) values ('" & Convert.ToString(row.Cells("IDProducto").Value) & "','" & Convert.ToString(row.Cells("IDAlmacen").Value) & "','" & ini & "','" & inik & "','" & en & "','" & enk & "','" & sal & "','" & salk & "','" & fin & "','" & fink & "','" & Convert.ToString(row.Cells("Fecha").Value) & "')"
  60.                 Try
  61.                     'Abrimos la conexion
  62.                    Conexion.Open()
  63.                     'Asignamos el valor de la query a la variable cmd
  64.                    cmd = New MySqlCommand(CADc, Conexion)
  65.                     'Ejecutamos la query
  66.                    cmd.ExecuteNonQuery()
  67.                     'Cerramos conexion
  68.                    Conexion.Close()
  69.                 Catch ex As Exception
  70.                     MsgBox("Error :", ex.Message)
  71.                     Conexion.Close()
  72.                 End Try
  73.             End If

lo que necesito es que le valor inicial no cambie, si no hasta el siguiente día
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.
  #2 (permalink)  
Antiguo 02/05/2012, 10:48
Avatar de UNDR4  
Fecha de Ingreso: marzo-2012
Ubicación: Death Valley
Mensajes: 46
Antigüedad: 12 años, 1 mes
Puntos: 2
Respuesta: [VB.NET-MySQL]Valores por dia

Bueno en vista que nadie responde, lo planteare de otra forma, necesito sacra el valor de una día anterior, por ejemplo hubo 1500 existencial ayer al final de día, necesito obtener ese valor , exceptuando el domingo que no es un día laboral

utilizo DateTimePicker1.Value.DayOfWeek.ToString para obtener el día por lo que si
DateTimePicker1.Value.DayOfWeek.ToString<>"Sunday" saltara este día

como puedo obtener el valor de un día anterior con un datetimepicker, digamos si la fecha es 10/04/2012 obtener 09/04/2012 y con eso realizar la query para obtener el valor del stock del día anterior
__________________
†UNDR4†
Un programador es un mamífero nocturno de ojos rojos capaz de conversar con objetos inanimados.

Etiquetas: vbnet
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:34.