Publicado el Dejar un comentario

CALC005 Cuando se da un clic en una de las monedas de la calculadora

'----**** 
'----**** MyBusiness POS V20
'----**** Version del script: 1.0
'----**** 19/02/2020
'----**** 
Sub Main()
    Dim nResultado

    If Not lvwMonedas.SelectedItem Is Nothing Then
       nResultado = lvwMonedas.SelectedItem.Tag * Val2( txtFields(0) )
       txtFields(0) =  nResultado
       txtFields(1) =  Formato( nResultado, Ambiente.Formato )      
    End If

End Sub
Publicado el Dejar un comentario

CAMBIO CLAVE Cambio de claves de articulos

'----**** 
'----**** MyBusiness POS V20
'----**** Version del script: 1.0
'----**** 19/02/2020
'----**** 
Public Sub Main()
    Dim cDato
    
    if Parent Is Nothing Then
       Exit Sub
    end if

    cDato = InputBox( "Nueva clave: ", "Clave anterior: " & Mid(Parent.lvListview.SelectedItem.Key,2), "")

    if Existe( ( cDato ), "articulo", "prods", Ambiente.Connection ) Then
       MsgBox "La clave por que intenta ingresar ya existe", VbInformation
       Exit Sub
    end if

    if Len( cDato ) > 15 Then
       MsgBox "La clave debe de ser máximo de 15 caracteres", VbInformation
       Exit Sub       
    end if

    cDato = Ucase( cDato )

    Ambiente.Connection.Execute "UPDATE componen SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE comppart SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE cotizpar SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE entpart SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE movsvin SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE ordpar SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE partcomp SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE partinv SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE partvta SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE prods SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE salpart SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE series SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"
    Ambiente.Connection.Execute "UPDATE pendient SET articulo = ª" & cDato & "ª WHERE articulo = ª" & Mid( Parent.lvListview.SelectedItem.Key,2) & "ª"

    Parent.LlenaProds   

End Sub
Publicado el Dejar un comentario

PUNTOV056 Si deseamos cargar mas datos en la malla de datos

'----**** 
'----**** MyBusiness POS V20
'----**** Version del script: 1.0
'----**** 19/02/2020
'----**** 
Sub Main()

    'Set rstArticulo = CreaRecordSet( "SELECT precio2, precio3 FROM prods WHERE articulo = '" & fg2.TextMatrix( fg2.row, 0 ) & "'", Ambiente.Connection )

    'fg2.TextMatrix( fg2.Row, 17 ) = rstArticulo( "precio2" )
    'fg2.TextMatrix( fg2.Row, 18 ) = rstArticulo( "precio3" )

End Sub
Publicado el Dejar un comentario

EJEMPLOIMPORTA Ejemplo de importación de datos

'----**** 
'----**** MyBusiness POS V20
'----**** Version del script: 1.0
'----**** 19/02/2020
'----**** 
Sub Main()
    Dim Articulo
    Dim Descripcion
    Dim Precio 
    Dim Query
    Dim rstProd

    Set Query = NewQuery()
    Set Query.Connection = Ambiente.Connection
 
    CloseFile 1
    OpenFile "c:\sample.txt", 1

    Ambiente.Connection.Execute "UPDATE prods SET paraventa = 1"

    While Not FileEOF( 1 )
          cLinea = ReadLine( 1 )
          
          nComa = clAt( ",", cLinea ) 
          Articulo = Mid( cLinea, 1, nComa - 1)
          cLinea = Mid( cLinea, nComa + 1)

          nComa = clAt( ",", cLinea )     
          Descripcion = Mid( cLinea, 1, nComa - 1 )          
          Precio = Mid( cLinea, nComa + 1)

          Set rstProd = CreaRecordSet( "SELECT articulo FROM prods WHERE articulo = '" & Articulo & "'", Ambiente.Connection )
           
          Query.Reset

          If Not rstProd.EOF Then
             Query.strState = "UPDATE"       
             Query.Condition = "articulo = '" & Articulo & "'"
          Else
             Query.strState = "INSERT"
          End If

          Query.AddField "prods", "articulo", Articulo
          Query.AddField "prods", "descrip", Descripcion
          Query.AddField "prods", "precio1", Val2( Precio )
          Query.AddField "PRODS", "linea", "SYS"
          Query.AddField "PRODS", "marca", "SYS"
          Query.AddField "PRODS", "ubicacion", "SYS"
          Query.AddField "PRODS", "impuesto", "SYS"
          Query.AddField "PRODS", "paraventa", 1
          Query.AddField "PRODS", "invent", 1
          Query.CreateQuery
          Query.Execute

    Wend    

    CloseFile 1

End Sub

Publicado el Dejar un comentario

CLASIFINV Clasifica el inventario

'----**** 
'----**** MyBusiness POS V20
'----**** Version del script: 1.0
'----**** 19/02/2020
'----**** 
Sub Main()
    Dim rstTarea 
    Dim nId       
    Dim Query
 

    Set rstTarea = CreaRecordSet( "SELECT MAX(id) FROM concentradortareas WHERE tarea = 'INVENTARIO'", Ambiente.Connection, false )
    nId = Val2( rstTarea(0) )
    
    Set rstTarea = CreaRecordSet( "SELECT * FROM concentradortareas WHERE id = '" & nId, Ambiente.Connection, false )

    If Not rstTarea.EOF Then
       If (rstTareas("Fecha") - Date) >= Val2( Combo2.Text ) Then
          ProcesaInventario
          Set Query = NewQuery()
          Query.ErrorOculto = True
          Set Ambiente.Connection = Ambiente.Connection 
          Query.strState = "INSERT"
          Query.AddField "concentradortareas", "id" , TraeSiguiente( "concentradortarea", Ambiente.Connection )
          Query.AddField "concentradortareas", "tarea", "inventario" 
          Query.AddField "concentradortareas", "fecha", Date
          Query.CreateQuery
          Query.Execute
       End If
    End If   


End Sub

Sub ProcesaInventario

    ClasificaObsoleto ""
    ClasificaProd    
    ColocaProductosDeKits
    ClasificaAltoMediobajolento
    ClasificaAltos   
    ClasificaObsoleto "Obsoleto"
    FinalizaTarea

End Sub

Sub ClasificaObsoleto( cObsoleto )
    Dim dFechaInicial 
    Dim dFechaFinal
    Dim nPeriodosNuevo
    Dim nPeriodos
    Dim rstProds
    Dim rstMovsinv 

    dFechaInicial = DateSerial( 1999, 2, 1 )
    dFechaFinal = Date    
    nPeriodosNuevo = 6
    
    If clEmpty( (cObsoleto) ) Then
       Set rstProds = CreaRecordSet( "SELECT articulo FROM prods ORDER BY articulo", Ambiente.Connection, false )
    Else
       Set rstProds = CreaRecordSet( "SELECT articulo FROM prods WHERE clasificacion = '" & cObsoleto & "' ORDER BY articulo", Ambiente.Connection, false )
    End If

    While Not rstProds.EOF
          Set rstMovsinv = CreaRecordSet( "SELECT articulo, f_movim FROM movsinv WHERE articulo = '" & rstProds("Articulo") & "' AND ent_sal = 'E' ORDER BY f_movim", Ambiente.Connection, false )

          If rstMovsinv.EOF Then
             Set rstMovsinv = CreaRecordSet( "SELECT articulo, f_movim FROM kardex WHERE articulo = '" & rstProds("Articulo") & "' AND ent_sal = 'E' ORDER BY f_movim", Ambiente.Connection, false )
          End If               

          If rstMovsinv.EOF Then
             Ambiente.Connection.Execute "UPDATE prods SET clasificacion = 'Nuevo sin movimiento' WHERE articulo = '" & rstProds("articulo") & "'"
          Else
             nPeriodos = DateDiff( "m", dFechaInicial, rstMovsinv("f_movim") )                 

             If nPeriodos <= nPeriodosNuevo Then
                Ambiente.Connection.Execute "UPDATE prods SET clasificacion = 'Nuevo sin movimiento' WHERE articulo = '" & rstProds("articulo") & "'"
             End If

             If nPeriodos > nPeriodosNuevo And nPeriodos <= 12 Then
                Ambiente.Connection.Execute "UPDATE prods SET clasificacion = 'Obsoleto < 1 año' WHERE articulo = '" & rstProds("articulo") & "'"
             End If

             If nPeriodos > 12 And nPeriodos <= 24 Then
                Ambiente.Connection.Execute "UPDATE prods SET clasificacion = 'Obsoleto > 1 año' WHERE articulo = '" & rstProds("articulo") & "'"
             End If

             If nPeriodos > 24 And nPeriodos <= 36 Then
                Ambiente.Connection.Execute "UPDATE prods SET clasificacion = 'Obsoleto > 2 años' WHERE articulo = '" & rstProds("articulo") & "'"
             End If

             If nPeriodos > 36 Then
                Ambiente.Connection.Execute "UPDATE prods SET clasificacion = 'Obsoleto > 3 años' WHERE articulo = '" & rstProds("articulo") & "'"
             End If
          End If 

          rstProds.MoveNext
    Wend


End Sub




Sub ClasificaProd()
    Dim nFechaInicial
    Dim nFechaFinal
    Dim nPeriodos
    Dim n
    Dim strSQL
    Dim dFechaAnterior
    Dim Query     
    Dim dFechaInicialVenta
    Dim dFechaFinalVenta
    Dim nCantidad 
    Dim rstMovsinv
    Dim Fecha
    Dim nActivos
    Dim cClasificacion
    Dim rstEntradas
    Dim rstSalidas
     
    dFechaInicial = DateSerial( 1999, 2, 1 )
    dFechaFinal = Date    
    nPeriodosNuevo = 6

    nPeriodos = DateDiff( "m", dFechaInicial, dFechaFinal )    
    nPeriodos = Abs( nPeriodos )

    Ambiente.Connection.Execute "DELETE FROM histprods"

    Set Query = NewQuery()
    Set Query.Connection = Ambiente.Connection
    Query.ErrorOculto = True

    For n = 0 To nPeriodos

        dFechaAnterior = DateAdd( "m", n * -1, dFechaFinal )
        dFechaInicialVenta = Ud( Month( dFechaAnterior ), Year( dFechaAnterior ), False )
        dFechaFinalVenta = Ud( Month( dFechaAnterior ), Year( dFechaAnterior ), True  )

        strSQL = ""

        strSQL = strSQL & "SELECT partvta.articulo, prods.kit, SUM( cantidad ) AS 'cantidad'"
        strSQL = strSQL & " FROM partvta, prods, ventas"
        strSQL = strSQL & " WHERE partvta.articulo = prods.articulo"
        strSQL = strSQL & " AND partvta.venta = ventas.venta"
        strSQL = strSQL & " AND ventas.estado = 'CO' AND ventas.cierre = 0"
        strSQL = strSQL & " AND ventas.f_emision >= " & FechaSQL( dFechaInicialVenta, Ambiente.Connection )
        strSQL = strSQL & " AND ventas.f_emision <= " & FechaSQL( dFechaFinalVenta, Ambiente.Connection )
        strSQL = strSQL & " GROUP BY prods.articulo, prods.kit"
        strSQL = strSQL & " ORDER BY prods.articulo, prods.kit"

        Set rstProds = CreaRecordSet( (strSQL), Ambiente.Connection, false )

        While Not rstProds.EOF

              Set rstMovsinv = CreaRecordSet( "SELECT f_movim FROM movsinv WHERE ent_sal = 'E' AND articulo = '" & rstProds("articulo") & "' ORDER BY f_movim", Ambiente.Connection, false )

              If rstMovsinv.EOF Then
                 Set rstMovsinv = CreaRecordSet( "SELECT f_movim FROM kardex WHERE ent_sal = 'E' AND articulo = '" & rstProds("articulo") & "' ORDER BY f_movim", Ambiente.Connection, false )                  
              End If              

              dFecha = DateSerial( 1900, 1, 1 )
              nActivos = 0
              cClasificacion = "Obsoleto"

              If Not rstMovsinv.EOF Then
                 dFecha = rstMovsinv("f_movim")
                 nActivos = DateDiff( "m", dFechaFinal, rstMovsinv("f_movim") )    
                 nActivos = Abs( nActivos )

                 If nActivos <= nPeriodosNuevo Then
                    cClasificacion = "Nuevo"                  
                 End If

              End If

              If rstProds("kit") = 0 Then
                 Query.Reset
                 Query.AddField "histprods", "articulo", rstProds("articulo")
                 Query.AddField "histprods", "month", Month( dFechaAnterior )
                 Query.AddField "histprods", "year", Year( dFechaAnterior )
                 Query.AddField "histprods", "cantidad", Val2( rstProds("cantidad") )
                 Query.AddField "histprods", "entrada", dFecha
                 Query.AddField "histprods", "activos", nActivos
                 Query.AddField "histprods", "clasificacion", cClasificacion 
                 Query.AddField "histprods", "mesyear", "" & Year( dFechaAnterior ) & strCero( Month( dFechaAnterior ),2 )
                 Query.strState = "INSERT"
                 Query.CreateQuery
                 Query.Execute 
              End If 

              rstProds.MoveNext 
        Wend

    Next    

End Sub



Sub ColocaProductosDeKits()
    Dim nFechaInicial
    Dim nFechaFinal
    Dim nPeriodos
    Dim n
    Dim strSQL
    Dim dFechaAnterior
    Dim Query     
    Dim dFechaInicialVenta
    Dim dFechaFinalVenta
    Dim nCantidad 
    Dim rstMovsinv
    Dim Fecha
    Dim nActivos
    Dim cClasificacion
    Dim rstEntradas
    Dim rstSalidas
     
    dFechaInicial = DateSerial( 1999, 2, 1 )
    dFechaFinal = Date    
    nPeriodosNuevo = 6

    nPeriodos = DateDiff( "m", dFechaInicial, dFechaFinal )    
    nPeriodos = Abs( nPeriodos )

    Set Query = NewQuery()
    Set Query.Connection = Ambiente.Connection
    Query.ErrorOculto = True

    For n = 0 To nPeriodos

        dFechaAnterior = DateAdd( "m", n * -1, dFechaFinal )
        dFechaInicialVenta = Ud( Month( dFechaAnterior ), Year( dFechaAnterior ), False )
        dFechaFinalVenta = Ud( Month( dFechaAnterior ), Year( dFechaAnterior ), True  )

        strSQL = ""
        strSQL = strSQL & "SELECT comppart.componente, prods.kit, SUM( movsinv.cantidad ) AS 'cantidad'"
        strSQL = strSQL & " FROM (movsinv INNER JOIN prods ON movsinv.articulo = prods.articulo) "
        strSQL = strSQL & " INNER JOIN comppart ON comppart.componente = movsinv.articulo "
        strSQL = strSQL & " WHERE f_movim >= " & FechaSQL( dFechaInicialVenta, Ambiente.Connection )
        strSQL = strSQL & " AND f_movim <= " & FechaSQL( dFechaFinalVenta, Ambiente.Connection )
        strSQL = strSQL & " GROUP BY comppart.componente, prods.kit "
        strSQL = strSQL & " ORDER BY comppart.componente, prods.kit "

        Set rstProds = CreaRecordSet( (strSQL), Ambiente.Connection, false )

        While Not rstProds.EOF

              Set rstMovsinv = CreaRecordSet( "SELECT f_movim FROM movsinv WHERE ent_sal = 'E' AND articulo = '" & rstProds("componente") & "' ORDER BY f_movim", Ambiente.Connection, false )

              If rstMovsinv.EOF Then
                 Set rstMovsinv = CreaRecordSet( "SELECT f_movim FROM kardex WHERE ent_sal = 'E' AND articulo = '" & rstProds("componente") & "' ORDER BY f_movim", Ambiente.Connection, false )                  
              End If              

              dFecha = DateSerial( 1900, 1, 1 )
              nActivos = 0
              cClasificacion = "Obsoleto"


              If Not rstMovsinv.EOF Then
                 dFecha = rstMovsinv("f_movim")
                 nActivos = DateDiff( "m", dFechaFinal, rstMovsinv("f_movim") )    
                 nActivos = Abs( nActivos )

                 If nActivos <= nPeriodosNuevo Then
                    cClasificacion = "Nuevo" 
                 End If

              End If

              Set rstHistProds = CreaRecordSet( "SELECT cantidad FROM histprods WHERE articulo = '" & rstProds("componente") & "' AND month = " & Month( dFechaAnterior ) & " AND year = " & Year( dFechaAnterior ), Ambiente.Connection, false )

              If Not rstHistProds.EOF Then
                 If rstProds("kit") = 0 Then
                    Query.Reset
                    Query.AddField "histprods", "articulo", rstProds("componente")
                    Query.AddField "histprods", "month", Month( dFechaAnterior )
                    Query.AddField "histprods", "year", Year( dFechaAnterior )
                    Query.AddField "histprods", "cantidad", Val2( rstProds("cantidad") ) + Val2(rstHistProds("cantidad"))
                    Query.AddField "histprods", "entrada", dFecha
                    Query.AddField "histprods", "activos", nActivos
                    Query.AddField "histprods", "clasificacion", cClasificacion 
                    Query.AddField "histprods", "mesyear", "" & Year( dFechaAnterior ) & strCero( Month( dFechaAnterior ), 2)
                    Query.strState = "UPDATE"
                    Query.Condition = "articulo = '" & rstProds("componente") & "' AND month = " & Month( dFechaAnterior ) & " AND year = " & Year( dFechaAnterior )
                    Query.CreateQuery
                    Query.Execute 
                 End If 
              End If

              rstProds.MoveNext 
        Wend

    Next    

End Sub



Sub ClasificaAltoMediobajolento()
    Dim nPorcentajeAlto
    Dim nPorcentajeMedio
    Dim nPorcentajeBajo
    Dim nPorcentajeLento
    Dim nPorcentajeObsoleto
    Dim nMesAnterior
    Dim nYearAnterior
    Dim nMesActual
    Dim nYearActual
    Dim dFechaAnterior
    Dim dFechaActual
    Dim strSQL
    Dim nPeriodos
    Dim nPeriodosNuevo

    nPorcentajeAlto = Int( 12 * 0.7 )
    nPorcentajeMedio = Int( 12 * 0.6 ) 
    nPorcentajeBajo = Int( 12 * 0.5 )
    nPorcentajeLento = Int( 12 * 0.4 )
    nPorcentajeObsoleto = Int( 12 * 0.3 )

    nPeriodosNuevo = 6

    dFechaAnterior = DateAdd( "m", -13, Date )
    nMesAnterior = Month( dFechaAnterior )
    nYearAnterior = Year( dFechaAnterior )

    dFechaActual = DateAdd( "m", -1, Date )
    nMesActual = Month( dFechaActual )
    nYearActual = Year( dFechaActual )

    strSQL = ""
    strSQL = strSQL & "SELECT articulo, COUNT(*) FROM histprods "
    strSQL = strSQL & " WHERE clasificacion <> 'Nuevo'"
    strSQL = strSQL & " AND mesyear >= '" & "" & nYearAnterior & strCero( (nMesAnterior), 2 ) & "'"
    strSQL = strSQL & " AND mesyear <= '" & "" & nYearActual & strCero( (nMesActual), 2 ) & "'"
    strSQL = strSQL & " GROUP BY articulo "
    strSQL = strSQL & " ORDER BY articulo "

    Set rstProds = CreaRecordSet( (strSQL), Ambiente.Connection, false )

    While Not rstProds.EOF
          
          nCuantos = Val2( rstProds(1) )  

          If nCuantos > nPorcentajeMedio Then             
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Alto', meses = " & nCuantos & " WHERE articulo = '" & rstProds("articulo") & "'" 
          End If

          If nCuantos <= nPorcentajeMedio And nCuantos > nPorcentajeBajo Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Medio', meses = " & nCuantos & " WHERE articulo = '" & rstProds("articulo") & "'" 
          End If

          If nCuantos <= nPorcentajeBajo And nCuantos > nPorcentajeLento Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Bajo', meses = " & nCuantos & " WHERE articulo = '" & rstProds("articulo") & "'" 
          End If

          If nCuantos <= nPorcentajeLento And nCuantos > nPorcentajeObsoleto Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Lento', meses = " & nCuantos & " WHERE articulo = '" & rstProds("articulo") & "'"
          End If

          If nCuantos <= nPorcentajeObsoleto Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Obsoleto', meses  = " & nCuantos & " WHERE articulo = '" & rstProds("articulo") & "'"
          End If             
          
          rstProds.MoveNext

    Wend

    Set rstProds = CreaRecordSet( "SELECT articulo, clasificacion FROM histprods WHERE clasificacion <> '' GROUP BY articulo ORDER BY articulo", Ambiente.Connection, false ) 

    While Not rstProds.EOF
          Ambiente.Connection.Execute "UPDATE prods SET clasificacion = '" & rstProds("Clasificacion") & "' WHERE articulo = '" & rstProds("Articulo") & "'"
          rstProds.MoveNext  
    Wend

End Sub



Sub ClasificaAltos
    Dim nPorcentajeAlto
    Dim nPorcentajeMedio
    Dim nPorcentajeBajo
    Dim nPorcentajeLento
    Dim nPorcentajeObsoleto
    Dim nMesAnterior
    Dim nYearAnterior
    Dim nMesActual
    Dim nYearActual
    Dim dFechaAnterior
    Dim dFechaActual
    Dim strSQL
    Dim nPeriodosNuevo

    nPeriodosNuevo = 6

    nPorcentajeAlto = Int( nPeriodosNuevo * 0.7 )
    nPorcentajeMedio = Int( nPeriodosNuevo * 0.6 ) 
    nPorcentajeBajo = Int( nPeriodosNuevo * 0.5 )
    nPorcentajeLento = Int( nPeriodosNuevo * 0.4 )
    nPorcentajeObsoleto = Int( nPeriodosNuevo * 0.0 )

    Ambiente.Connection.Execute "UPDATE prods SET clasificacion = 'Nuevo sin movimiento' WHERE clasificacion LIKE 'Nuevo%'"

    strSQL = ""
    strSQL = strSQL & "SELECT articulo, activos FROM histprods "
    strSQL = strSQL & " WHERE clasificacion LIKE 'Nuevo%'"
    strSQL = strSQL & " GROUP BY articulo "
    strSQL = strSQL & " ORDER BY articulo "

    Set rstProds = CreaRecordSet( (strSQL), Ambiente.Connection, false )

    While Not rstProds.EOF
          
          nCuantos = Val2( rstProds(1) )

          If nCuantos > nPorcentajeMedio Then             
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Nuevo Alto' WHERE articulo = '" & rstProds("articulo") & "'" 
          End If

          If nCuantos <= nPorcentajeMedio And nCuantos > nPorcentajeBajo Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Nuevo Medio' WHERE articulo = '" & rstProds("articulo") & "'" 
          End If

          If nCuantos <= nPorcentajeBajo And nCuantos > nPorcentajeLento Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Nuevo Bajo' WHERE articulo = '" & rstProds("articulo") & "'" 
          End If

          If nCuantos <= nPorcentajeLento And nCuantos > nPorcentajeObsoleto Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Nuevo Lento' WHERE articulo = '" & rstProds("articulo") & "'"
          End If

          If nCuantos <= nPorcentajeObsoleto Then
             Ambiente.Connection.Execute "UPDATE histprods SET clasificacion = 'Nuevo sin venta' WHERE articulo = '" & rstProds("articulo") & "'"
          End If                    

          rstProds.MoveNext

    Wend

    Set rstProds = CreaRecordSet( "SELECT articulo, clasificacion FROM histprods GROUP BY articulo ORDER BY articulo", Ambiente.Connection, false ) 

    While Not rstProds.EOF
          Ambiente.Connection.Execute "UPDATE prods SET clasificacion = '" & rstProds("Clasificacion") & "' WHERE articulo = '" & rstProds("Articulo") & "'"
          rstProds.MoveNext  
    Wend

End Sub