Access - CONSECUTIVO

 
Vista:

CONSECUTIVO

Publicado por JULIOESCOBAR (21 intervenciones) el 26/08/2006 21:24:41
Amigos: tengo una tabla con los siguientes campos: Cuenta, Folio Inicial y Folio final, requiero hacer una consulta en la cual la tabla es esta:

Cuenta: 123456
Folio Inicial: 5001
Folio Final : 5010

y el resultado quiero que sea este

Cuenta FolioConsecutivo
123456 5001
123456 5002
123456 5003
123456 5004
123456 5005
123456 5006
123456 5007
123456 5008
123456 5009
123456 5010

Se puede ? si es así les agradecere mucho su apoyo y gracias de antemano
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

RE:CONSECUTIVO

Publicado por 2pl (773 intervenciones) el 26/08/2006 22:54:56
Yo lo haria de esta forma (quizas haya algun "guru" que no piense lo mismo).
Me leeria con VBA la tabla y crearia otra con tantos registro como tuviera el margen entre los dos folios y luego sacaria los datos de esta nueva tabla.
Create una nueva tabla con los campo Cuenta y Folio

Function ActualizarNuevaTabla()

Dim MIDB As Database
Dim NuevaTabla As Recordset
Dim TablaOriginal As Recordset
Dim I As Integer

Set MIDB = DBEngine.Workspaces(0).Databases(0)

Set TablaOriginal = MIDB.OpenRecordset("Nombre de la tabla original")

' Devuelve una referencia a la base de datos activa.
Set MIBD = CurrentDb
Set NuevaTabla= MIDB.OpenRecordset("Nombre de la nueva tabla")

'------ BORRAR LOS REGISTROS DE LA NUEVA TABLA CADA VEZ QUE LA CREEMOS ---------------------

Do While Not NuevaTabla.EOF
NuevaTabla.Delete
NuevaTabla.MoveNext
Loop
'--------------------------------------------------------------------------------------

Do While Not TablaOriginal.EOF

For I = TablaOriginal("FolioInicial") to TablaOriginal("FolioFinal")
NuevaTabla.AddNew
NuevaTabla("Cuenta") = TablaOriginal("Cuenta")
NuevaTabla("Folio") = I
NuevaTabla.Update
Next
TablaOriginal.MoveFirst

Loop

TablaOriginal.Close
NuevaTabla.Close

End Function

Saludos desde Cádiz-Andalucia
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

2PL ????

Publicado por JULIOESCOBAR (21 intervenciones) el 28/08/2006 00:38:35
Muchas gracias por tu ayuda, nada mas existe un problema que la funcion no termina (tengo que cancelar), empieza en el folioinicial termina en el foliofinal y vuelve empezar con folioinicial, nunca termina, podras ayudarme con esto ??? gracias desde Culiacan, SINALOA , MEXICO
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:2PL ????

Publicado por 2pl (773 intervenciones) el 28/08/2006 08:41:33
Perdona, habia un error, que te indico más abajo (linea 24)
Function ActualizarNuevaTabla()

Dim MIDB As Database
Dim NuevaTabla As Recordset
Dim TablaOriginal As Recordset
Dim I As Integer

Set MIDB = DBEngine.Workspaces(0).Databases(0)

Set TablaOriginal = MIDB.OpenRecordset("Nombre de la tabla original")

' Devuelve una referencia a la base de datos activa.
Set MIBD = CurrentDb
Set NuevaTabla= MIDB.OpenRecordset("Nombre de la nueva tabla")

'------ BORRAR LOS REGISTROS DE LA NUEVA TABLA CADA VEZ QUE LA CREEMOS ---------------------

Do While Not NuevaTabla.EOF
NuevaTabla.Delete
NuevaTabla.MoveNext
Loop
'--------------------------------------------------------------------------------------

Do While Not TablaOriginal.EOF

For I = TablaOriginal("FolioInicial") to TablaOriginal("FolioFinal")
NuevaTabla.AddNew
NuevaTabla("Cuenta") = TablaOriginal("Cuenta")
NuevaTabla("Folio") = I
NuevaTabla.Update
Next
TablaOriginal.MoveNext ' AQUI HABIA UN ERROR, PERDON

Loop

TablaOriginal.Close
NuevaTabla.Close

End Function

Saludos desde Cádiz-Andalucia
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