Refrescar tabla en Access desde VB

Hola adrianxxi
Verás, tengo un problema con una aplicación que he hecho en VB en la que utilizo una tablas en Access.
Resulta que cuando introduzco mediante un Form más de 14 registros, el 15 no me lo coloca al final de la tabla sino que lo hace al principio. El problema es que como genero el campo "Código de Referencia" a partir de un campo índice que voy numerando consecutivamente a medida que añado registros pues cuando llego al registro 15 no me coge el último valor generado del campo índice ya que no sé por qué motivo me lo coloca al principio de la tabla en lugar de al final.
El problema lo puedo resolver compactando la base de datos pero no creo que sea una buena solución compactar la base cada 14 entradas.
¿Existe algún método que refresque la tabla o la reordene sin necesidad de compactar?, la tabla la abro como una simple tabla sin ningún index
Gracias de antemano. Un saludo
Respuesta
1
Se puede hacer y sin necesidad de muchas cosas.
¿Solo qué no se hasta el momento como te conectas a la base de access, usas DAO, ADO, SQL?
Comentame como te conectas y te doy la solución !
Hola de nuevo
Es cierto, no he dicho cómo me conecto, perdona. Utilizo DAO y para añadir registros utilizo AddNew y Update.
Gracias
Lo que debes hacer, para que puedas recoger el numero del CÓDIGO DE REFERENCIA es abrir la tabla en cuestión, pero ordenada por ese numero, usando SQL
Buscar = "select * from NOMBRE_TABLA order by CAMPO_REFERENCIA"
Set T_Tabla = Dbase.OpenRecordset(Buscar)
Esto abre la tabla, pero ordenada por el nunmero, con lo cual (y acá me entra la duda), el numero más alto estaría al final del RECORDSET. Entonces con la instrucción:
T_Tabla.MoveLast
Irías hasta el final y tendrías el numero más alto.
Si el numero más alto está al principio, entonces la instrucción seria:
T_Tabla.MoveFirst
Claro que, luego de haber ingresado el dato, deberías incrementar el numero de referencia, pero para no estar abriendo y cerrando la tabla a cada rato, entonces, cuando lees el numero por primera vez, seguramente lo asignas a una variable, incrementa esta variable nomas y listo.
Cualquier duda, acá estoy

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas