Private Sub DeterminarNivelStatus(ByRef NivTmp As String, ByRef StaTmp As String)
Dim MiConexion As New OleDbConnection
'' Determinar los nivel y status
Dim NombreDBCompleto As String = "bd_AQL.mdb" 'accdb" ' MiExistencia
MiConexion.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & NombreDBCompleto & ";" ' Ejecutar en x64
Dim CuantidadRegistroALeer As Integer = 5 ' Cuantidad de ultimos registros a leer en la tabla
Dim MiComando As New OleDbCommand
Dim MiDatos As New DataSet
Dim UnaTabla As New DataTable
Dim Consulta As String
Dim NombreTablaEnDB As String = "AQL" ' este es LaTablaQueMeGusta
MiConexion.Open()
MiComando = MiConexion.CreateCommand()
MiComando.CommandType = CommandType.Text
' *** Si la tabla en la DB no tiene 5 registros, nada a hacer ***
Consulta = "SELECT COUNT(ID) FROM " & NombreTablaEnDB
MiComando.CommandText = Consulta
If MiComando.ExecuteScalar() < CuantidadRegistroALeer Then ' Nada a hacer si no bastante registros
MiConexion.Close()
MiConexion.Dispose()
Exit Sub
End If
' *** Leer los 5 ultimos registros y los poner en DataTable ***
' Aqui, llenamos un DataTable con los ultimos registros de la tabla en la DB (y para testar, mostrar en DGV)
Consulta = "SELECT TOP " & CuantidadRegistroALeer & " ID, * FROM " & NombreTablaEnDB & " ORDER BY ID DESC"
Dim MiAdapter As New OleDbDataAdapter(Consulta, MiConexion)
MiAdapter.Fill(UnaTabla)
UnaTabla.TableName = "TUltimosRegistros"
MiDatos.Tables.Add(UnaTabla) ' Poner la tabla en un DataSet no es siempre necesario
MiAdapter.Dispose()
' ********** Algoritma para decir el nivel de esto ultimo registro *******************
' Contar los Status de los ultimos registros y memorizar los Nivel y Status del ultimo registro en la DB
Dim StatusEnDB As String = MiDatos.Tables("TUltimosRegistros").Rows(0).Item("status")
Dim NivelEnDB As String = MiDatos.Tables("TUltimosRegistros").Rows(0).Item("nivel")
Dim CuentaDeMismoStatus As Integer = 1
For L As Integer = 1 To CuantidadRegistroALeer - 1
If MiDatos.Tables("TUltimosRegistros").Rows(L).Item("status") = StatusEnDB Then
CuentaDeMismoStatus += 1
End If
Next
' Para memorio (No se si el valor a la pantalla debe es utile para el algoritmo) :
' NivTmp tiene aqui el valor de txt14
' StaTmp tiene aqui el valor de txt39
' Decir el valor para Nivel y la Valor para Status para el nuevo registro
If CuentaDeMismoStatus < 5 Then ' no encontrado 5 mismos status
' segun los valores del ultimo registro en la DB
Select Case StatusEnDB
Case "Aceptado"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case "Rechazado"
NivTmp = " ..."
StaTmp = " ..."
Case " agregas aqui tan de Case con valores de Status que te gustan"
NivTmp = "????"
StaTmp = "????"
End Select
Else ' encontramos 5 mismos status
Select Case StatusEnDB ' este es el valor del ultimo Status en la DB
Case "Aceptado"
Select Case NivelEnDB ' este es el valor del ultimo Nivel en la DB
Case "Normal"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case "Ajustada"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case " agregas aqui tan de Case con valores de Nivel que te gustan"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
End Select
Case "Rechazado"
Select Case NivelEnDB ' este es el valor del ultimo Nivel en la DB
Case "Normal"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case "Ajustada"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case " agredas aqui tan de Case con valores de Nivel que te gustan"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
End Select
Case "Aceptado"
Select Case NivelEnDB ' este es el valor del ultimo Nivel en la DB
Case "Normal"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case "Ajustada"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case " agredas aqui tan de Case con valores de Nivel que te gustan"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
End Select
Case " agregas aqui tan de Case con valores de Status que te gustan"
Select Case NivelEnDB ' este es el valor del ultimo Nivel en la DB
Case "Normal"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case "Ajustada"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
Case " agregas aqui tan de Case con valores de Nivel que te gustan"
NivTmp = "escriba el valor que tu gusta par el nuevo registro"
StaTmp = "escriba el valor que tu gusta par el nuevo registro"
End Select
End Select
End If
MiConexion.Close()
MiConexion.Dispose()
MiDatos.Dispose()
End Sub