Access - Enumerar registros en una consulta

   
Vista:

Enumerar registros en una consulta

Publicado por Nicolas Lavaisse (6 intervenciones) el 28/08/2009 18:36:08
Hola !!!

Vuelvo a molestarlos por un tema similar al que me ayudaron hace unos meses "Enumerar Registros en una consulta"

El tema es así:
Tengo en una consulta los siguientes campos
Sucursal, Cuenta, Doc_Socio, Nom_Socio

Ejemplo:
Sucursal - Cuenta - Doc_Socio - Nom_Socio
12 23258 23.587.259 Perez Juan
15 25895 28.123.987 Arias Mario
15 25895 25.741.159 Arias Jose
18 25847 18.852.321 Soria Matias
18 25847 17.863.148 Robles Pedro

Lo que ando buscando es como hago para agregar una nueva columna dentro de la consulta que me cuente cada uno de los Socios tomando en cuenta el campo "Cuenta". Si esta cambia vuelve a iniciar ...
Nota: El campo Sucursal y Cuenta tienen Orden Ascendente

Sucursal - Cuenta - Doc_Socio - Nom_Socio Orden_Socio
12 23258 23.587.259 Perez Juan 01
15 25895 28.123.987 Arias Mario 01
15 25895 25.741.159 Arias Jose 02
18 25847 18.852.321 Soria Matias 01
18 25847 17.863.148 Robles Pedro 02

Gracias y espero que me puedan ayudar.-
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
Imágen de perfil de Enrique Ramírez

RE:Enumerar registros en una consulta

Publicado por Enrique Ramírez (617 intervenciones) el 28/08/2009 20:32:13
Para mi es mas fácil por codigo, crea un formulario con dos botones, uno de proceso y otro para salir y pega este codigo.
Tomo la tabla Socios y creo la tabla Temp_Socios pero esta ya va a incluir la culmna consecutivo.

========================================================
Option Compare Database
Dim db As DAO.Database, rs As DAO.Recordset
Dim Var, wCuenta As String
Dim contador As Integer

Private Sub BtnProceso_Click()
'consulta para crear la tabla Temp_Socios tomando la tabla Socios é incrementa el campo Consecutivo
Var = "SELECT Socios.sucursal, Socios.cuenta, Socios.doc_socio, Socios.nom_socio, '' AS Consecutivo " _
& "INTO Temp_Socios " _
& "FROM Socios " _
& "ORDER BY Socios.sucursal, Socios.cuenta, Socios.doc_socio"
DoCmd.SetWarnings False
DoCmd.RunSQL Var
DoCmd.SetWarnings True

'consulta de seleccion de la tabla Temp_Socios para grabar consecutivo por cuenta
Var = "SELECT Temp_Socios.sucursal, Temp_Socios.cuenta, Temp_Socios.doc_socio, Temp_Socios.nom_socio, Temp_Socios.Consecutivo " _
& "FROM Temp_Socios " _
& "ORDER BY Temp_Socios.sucursal, Temp_Socios.cuenta, Temp_Socios.doc_socio"

'definición del recordSet
Set db = CurrentDb()
Set rs = db.OpenRecordset(Var, dbOpenDynaset)

'inicializa contador y almacena cuenta para hacer corte de control
CargaCuenta

'lee secuencialmente el RecordSet
Do While rs.EOF = False
If wCuenta = rs!cuenta Then
GrabaConsecutivo
Else
CargaCuenta
GrabaConsecutivo
End If
rs.MoveNext
Loop
rs.Close
Set db = Nothing
BtnSalir_Click
End Sub

Sub CargaCuenta()
contador = 0
wCuenta = rs!cuenta
End Sub

Sub GrabaConsecutivo()
contador = contador + 1
rs.Edit
rs!Consecutivo = contador
rs.Update
End Sub

Private Sub BtnSalir_Click()
DoCmd.Close
End Sub

y con esto te queda el cosecutivo como tu quieres....o al menos como yo entendi....
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

RE:Enumerar registros en una consulta

Publicado por Nicolas Lavaisse (6 intervenciones) el 02/09/2009 16:40:28
Hola Enrique: Te cuento ...

Agregue el nuevo modulo "Modulo1" y copie el procedimiento que me pasaste

Ahora cuenta voy a crear el fomulario y quiero insertar un boton de comando me da el siguiente mensaje

>>> Asistente para botones de comando
>>> Error de compilación. en la expresión de consulta
>>> 'AppLoadString([bw_tblBtnActions].[Description])'.
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