Access - INDEXAR TABLA ACCESS

 
Vista:
sin imagen de perfil
Val: 1
Ha aumentado su posición en 22 puestos en Access (en relación al último mes)
Gráfica de Access

INDEXAR TABLA ACCESS

Publicado por Luis Fernando (1 intervención) el 25/07/2017 17:17:57
BEUNOS DIAS
TENGO ESTE CODIGO, PERO CUANDO LLAMO LA TABLA NO ME RESPECTA EL ORDEN QUE DEBE DE TENER, QUE ES POR PLACA Y FECHA1, ESTOS DOS CAMPOS ESTAN LA LA PROPIEDAD DE LA TABLA, DONDE DICE ORDENADO POR, PERO CUANDO ACA INVOCO LA TABLA, NO ME RESPETA EL ORDEN.
GRACIAS POR SU AYUDA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Set mibd = DBEngine.Workspaces(0).Databases(0)
Set mitabla = mibd.OpenRecordset("tabla1")
 
mitabla.MoveFirst    'Busca el primer registro
placa1 = mitabla("placa")
km1 = mitabla("km")
mitabla.MoveNext
placa2 = mitabla("placa")
km2 = mitabla("km")
 
Do Until placa1 = placa2 And mitabla.EOF ' Empieza el bucle
       km = km2 - km1
       mitabla.Edit
       mitabla("xx") = km3  ' Cambia la fecha
       mitabla.Update       ' Guarda los cambios
       km1 = mitabla("km")
       mitabla.MoveNext
       km2 = mitabla("km")
Loop
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

INDEXAR TABLA ACCESS

Publicado por Anonimo (3397 intervenciones) el 25/07/2017 23:43:02
(Abuso de mayúsculas, en los foros e internet en general, escribir solo con letras capitales = GRITAR)
----------------------------

Para que Access respete un orden hay que indicárselo y sobre todo cuando hay varios, por defecto tomaría el del campo índice o si no hay el primero que encuentra, seria una casualidad que ordenase por dos que son independientes .....

Lo adecuado seria CREAR un índice con los campos a indexar y después aplicar (indicarle a Access) que abra el recordset en base a esa índice.

Si solo se actualizase una única placa el procedimiento optimo consistiría en abrir una consulta que filtrase a esa placa (un campo menos a ordenar) y se ordenase por fecha.

La ventaja es que tendríamos menos datos para tratar y que todos los datos que devolviese el recordset serian ... de esa placa, con lo que se obtendría mas velocidad con menor consumo de recursos.
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