** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Obtener el valor anterior al Maximo
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoObtener el valor anterior al Maximo

 Responder Responder
Autor
Mensaje Invertir el orden de clasificación
buho Ver desplegable
Administrador
Administrador
Avatar
Abuelo FELIZ

Unido: 10/Abril/2004
Localización: Valladolid
Estado: Sin conexión
Puntos: 11317
Enlace directo a este mensaje Tema: Obtener el valor anterior al Maximo
    Enviado: 24/Junio/2019 a las 09:35
Si quieres saber más sobre ese objeto "oculto"....
Lo descubrió Juan (Happy) hace ya muchos años....
Cierro de nuevo el hilo

http://www.mvp-access.es/juanmafan/wizhook/wizhook.htm
Expulsado de la cárcel por robar los barrotes
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 23/Junio/2019 a las 16:37
Emilio,
No conocia ese metodo wizhook. Genial !!!
Solo hice pequena alteracion , con format, para poder ordenar de forma numerica en vez de alfabetica :


'*********************************************************
' Sub SortStringArray(Array() As String)
'
' Método que ordena alfabéticamente una matriz de tipo
' string de una sola dimensión.
'
' Argumentos
'   Array(): La matriz que se ha de ordenar
'
' Este método NO necesita activar el objeto WizHook a
' través de la propiedad Key.
'
Sub wzSortStringArray()
Dim wzArray(7) As String
   
wzArray(0) = Format(34, "0000")
wzArray(1) = Format(19, "0000")
wzArray(2) = Format(600, "0000")
wzArray(3) = Format(1000, "0000")
wzArray(4) = Format(2, "0000")
wzArray(5) = Format(78, "0000")
wzArray(6) = Format(99, "0000")

    'Debug.Print "Matriz sin ordenar:"
    For i = LBound(wzArray) To UBound(wzArray)
     '   Debug.Print wzArray(i)
    Next
   
    WizHook.SortStringArray wzArray
   
    minumero = wzArray(UBound(wzArray) - 1)
    MsgBox (minumero)
End Sub

Muchas gracias, y por mi podeis cerrar el hilo
Arriba
Emilio Ver desplegable
Administrador
Administrador

Santander

Unido: 08/Agosto/2004
Localización: España
Estado: Sin conexión
Puntos: 18819
Enlace directo a este mensaje Enviado: 23/Junio/2019 a las 15:20
Hola!

ordena la matriz y extrae su registro anteúltimo http://www.mvp-access.es/juanmafan/wizhook/sortstringarray.htm
Saludos a todos desde Huelva

http://www.mvp-access.es/emilio/
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 508
Enlace directo a este mensaje Enviado: 23/Junio/2019 a las 15:11
Buenas Amigos,
Intento conseguir el valor anterior al maximo de una serie de valores en una Array. Consigo el valor maximo pero no el penultimo mas grande.


On Error Resume Next
Dim data(7) As Integer
Dim tem As Integer, i As Integer

data(0) = 34
data(1) = 19
data(2) = 78
data(3) = 1000
data(4) = 2
data(5) = 600
data(6) = 99


For i = LBound(data) To UBound(data)

    If data(i) - data(i - 1) > temp Then
        temp = data(i)
    End If

  Next i
MsgBox (temp)

Alguna idea de como conseguir el valor 600 ?
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable