Ordenar tabla por campo de texto numerado

Tengo una tabla con un campo de texto, donde introduzco números y me gustaría saber si es posible ordenar la tabla por ese campo de manera que los registros queden consecutivos, es decir empezando por el nº 1 y acabando por el y acabando por el ultimo.

Detalle de tabla

2 Respuestas

Respuesta
1

Puede abrir la tabla y ordenarla como muestra la imagen

Seleccione ordenar de menor a mayor, al cerrar la tabla acepte los cambios. Otra cosa es que ordene en una consulta.

NO Eduardo, eso ya lo hice y me la ordena como se ve en la imagen

1

10

100

101, etc

No entiendo ¿el campo es de que tipo?

Eduardo, el campo es de texto y así lo indico en mi pregunta.- Se trata de un campo de texto, en el que introduzco números, es un numero consecutivo y la idea es que, al ordenar la tabla, los registros  aparezcan ordenados correlativamente.

También lo puede hacer con una consulta para que no tenga que modificar la estructura de la tabla:

TABLA DESORDENADA

DISEÑO DE LA CONSULTA

Observe como con la función Val() convierto en campo a numérico.

Resultado de la consulta (ordenado por el consecutivo)

También lo puede hacer mediante SQL. Le recomiendo en lo posible no utilizar campos de texto para almacenar solo números, la ordenación presenta el problema de su consulta.

Respuesta
1

Por lo que se ve el campo NroCons es texto. Si tienes la tabla

Puedes añadir un campo Calculado a la tabla, llamado, por ejemplo, Orden y ponerle

Con lo que ya podrás ordenarlo por este campo

¡Gracias!  Amigo, Excelente solución.- 

Cada día aprendo cosas nuevas.

Julián, lo hice siguiendo tus indicaciones y me los ordena bien, pero ahora se me plantea  el siguiente problema:

El campor "NroConcec" es el numero de cada socio. hasta ahora, cuando un socio causaba baja, se actualizaba el numero de socios mediante un botón de comando con el siguiente código:

Private Sub Comando146_Click()

Dim rst As DAO.Recordset 'Este oricedimiento reasigna el numero de socio
Dim i As Long
Set rst = CurrentDb.OpenRecordset("SELECT * FROM T_Socios ORDER BY [Nroconsec]")
If rst.RecordCount > 0 Then
rst.MoveFirst
i = 1
Do Until rst.EOF
rst.Edit
rst("nroconsec") = i
rst.Update
i = i + 1
rst.MoveNext
Loop
MsgBox ("El Número de Socio ha sido Actualizado Correctamente")
End If
rst.Close

End Sub

Ahora, desde que le pusimos el campo "Orden", cuando necesito actualizar el campo "NROCONSEC" me da el siguiente error:

Como puedo solucionar esto?

José María, si es simplemente para "reasignar" números de socio, no necesitas eso. Independientemente de que te mande un ejemplo, si tengo la tabla

Donde he eliminado el registro del nrpconsec 13, ya que era de un chino que no venía nunca, por más que lo citaras y no pagaba las cuotas. En el formulario cuando pulso el botón

Puedes ver que Pedro Alfonso y los demás "han ascendido un puesto"

Te lo mando via email

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas