Inicio > Microsoft Access > lantach > Crear tabla con campo autonumérico

Crear tabla con campo autonumérico

Experto:
Usuario:
Fecha: 28/10/2007
Valoración: (5,00 sobre 5) Categoría: Microsoft Access
12/10/2007
gelabin, usuario preguntando en Microsoft Access
Usuario
Hola,tengo una tabla en access con puntos acumulados. Los campos de esta tabla son:
Equipo, capitán, PartidosJugados, Puntos, .....
Lo que quiero es crear otra tabla a partir de esta que muestre los campos: Equipo y Puntos (ordenados de mayor a menor)y Puesto. Este último campo es el que quiero crear y mostrará un 1 para el equipo que lleve más puntos, un dos para el segundo y así sucesivament.

Muchas gracias
26/10/2007
gelabin, experto respondiendo en Microsoft Access
Experto
Hola lamento la tardanza en la respuesta en principio debes crear codigo para esto puedes ponerlo junto al codigo nativo de un boton tal como cerrar formulario, la rutina el codigo seria asi:
'Dimensiona variables para cargar las tablas
Dim Podb As Database, Pows As Workspace, Posi As Recordset
Dim Eqdb As Database, Eqws As Workspace, Equi As Recordset


'Carga la tabla de posiciones donde se pondran los resultados
Set Pows = DBEngine.Workspaces(0)
Set Podb = Pows.Databases(0)
Set Posi = Podb.OpenRecordset("Posiciones")

'Carga la tabla equipos donde esta la información inicial
Set Eqws = DBEngine.Workspaces(0)
Set Eqdb = Eqws.Databases(0)
Set Equi = Eqdb.OpenRecordset("SELECT * FROM Equipos ORDER BY Puntos DESC")

If Equi.EOF = False Then
Equi.MoveFirst
While Equi.EOF = False
Posi.AddNew
Posi![Posicion] = 1
Posi![Equipo] = Equi![Equipo]
Posi![Puntos] = Equi![Puntos]
Posi.Update
Equi.MoveNext
Wend
End If
26/10/2007
gelabin, experto respondiendo en Microsoft Access
Experto
Olvidaba una cosa

el codigo es asi:
'Dimensiona variables para cargar las tablas
Dim Podb As Database, Pows As Workspace, Posi As Recordset
Dim Eqdb As Database, Eqws As Workspace, Equi As Recordset
Dim Cont

'Carga la tabla de posiciones donde se pondran los resultados
Set Pows = DBEngine.Workspaces(0)
Set Podb = Pows.Databases(0)
Set Posi = Podb.OpenRecordset("Posiciones")

'Carga la tabla equipos donde esta la información inicial
Set Eqws = DBEngine.Workspaces(0)
Set Eqdb = Eqws.Databases(0)
Set Equi = Eqdb.OpenRecordset("SELECT * FROM Equipos ORDER BY Puntos DESC")

'Set Equi = Eqdb.OpenRecordset("Equipos")

Cont = 1
If Equi.EOF = False Then
Equi.MoveFirst
While Equi.EOF = False
Posi.AddNew
Posi![Posicion] = Cont
Posi![Equipo] = Equi![Equipo]
Posi![Puntos] = Equi![Puntos]
Posi.Update
Cont = Cont + 1
Equi.MoveNext
Wend
End If
28/10/2007
gelabin, usuario preguntando en Microsoft Access
Usuario
Muchas gracias por tu ayuda, es lo que buscaba. Voy a intentar adaptar el código para que en vez de anexar, cree una nueva tabla
Enlaces patrocinados