Visual Basic - MATRIZ DE FECHAS

Life is soft - evento anual de software empresarial
 
Vista:

MATRIZ DE FECHAS

Publicado por Humberto (1 intervención) el 19/12/2006 23:51:22
Que tal tropa:

Tengo un problema en donde de una base de datos obtengo toda un columna de fechas y la agrego a una matriz , ahora de lo que se trata es de ordenar esa matriz por fechas ya sea de mayor a menor ó de menor a mayor- no importa el orden- pero al querer ordenar la matriz solo me da 1 o 0 y ademas en algunas ocaciones me agrega 12:00 cuando modifico el codigo me agrega esa hora. ¿Como puedo saber que fecha es mayor a otra u otro metodo para saber esto?

Agrego el codigo:

Private Sub Filtraras_Click()
'On Error GoTo errorCancel

Dim x As Integer
Dim i As Long

Dim d As Date

Dim nf As Integer, filuni As Integer
Dim F As Integer
Dim MatrixDate() As Date
Dim Matrix() As Date

Dim R As Integer, moven As Integer, movepre As Integer

List1.Clear
x = 1
nf = x

filuni = InputBox("Ingresa el numero de unidad ¡¡CAON!!", "Filtro de unidades")

With FrmMain.Flex
.Clear
.ColWidth(0) = 600
.TextMatrix(0, 0) = " ID"
.ColWidth(1) = 1000
.TextMatrix(0, 1) = " Fecha"
.ColWidth(2) = 1500
.TextMatrix(0, 2) = " Kilometraje Inicial"
.ColWidth(3) = 1500
.TextMatrix(0, 3) = " Kilometraje Final"
.ColWidth(4) = 800
.TextMatrix(0, 4) = " Unidad"
End With

With RsCarga
.MoveFirst
Do While Not .EOF
If filuni = !Unidad Then
FrmMain.Flex.Rows = x + 1
FrmMain.Flex.TextMatrix(x, 0) = !ID
FrmMain.Flex.TextMatrix(x, 1) = !Fecha
FrmMain.Flex.TextMatrix(x, 2) = !KilometrajeI
FrmMain.Flex.TextMatrix(x, 3) = !KilometrajeF
FrmMain.Flex.TextMatrix(x, 4) = !Unidad
d = !Fecha
x = x + 1
FrmMain.Flex.Rows = x

ReDim MatrixDate(nf, 1) As Date
ReDim Matrix(nf) As Date
MatrixDate(nf, 1) = d
Matrix = MatrixDate

'With List1
' For i = LBound(MatrixDate, nf) To UBound(MatrixDate, nf)
' 'Lo añadimos al ListBox, para ver que "funciona"
' .AddItem "En Matrix: " & MatrixDate(nf, 1)
' Next
'End With

'List1.AddItem MatrixDate(nf, 1)
End If
.MoveNext
Loop
End With

FrmMain.Flex.Refresh
FrmMain.BarraEstado.Panels(1).Text = "Numero de registros: " & x - 1

End Sub
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

RE:MATRIZ DE FECHAS

Publicado por Alex (40 intervenciones) el 20/12/2006 10:01:58
Yo lo que haría sería abrir el recordset después del InputBox y ordenarlo por fecha:

filuni = InputBox("Ingresa el numero de unidad ¡¡CAON!!", "Filtro de unidades")
RsCarga.Open "Select * From [LaTabla] Where Unidad = " & filuni & " Order By Fecha", ...

y para cargar el Grid:
FrmMain.Flex.Clip = rsCarga.GetString(, rsCarga.RecordCount)

y el número de registros lo dá la propiedad RecordCount del recordset.

Si te quedan dudas, nos lo comentas.
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