Numeración de columna hasta que cambie valor de otra
Publicado por Dany (40 intervenciones) el 25/09/2015 20:00:36
Saludos cordiales a todos.
Tengo mi tablla llamada "Mitabla", en ella tengo los campos:
Ship Texto
Seq Numerico
Lead Codes Texto
En esta tabla tengo "X" cantidad de datos y el campo "Seq" lo tengo vacio, lo que quiero hacer es llenar el campo "Seq" con numeros consecutivos hasta que el valor del campo Ship cambie, o sea primeramente seria ordenar con una consulta SQL la tabla mas o menos asi:
rstSQL="SELECT * FROM MiTabla ORDER BY MiTabla.Ship, MiTabla.[Lead Codes] ASC"
Despues con un recordset actualizar el campo "Seq", tengo esta parte del recordset me falta controlar cuando el campo Ship cambia de valor. Este es el codigo:
Edito agreo imagen ya que creo mi navegador distorciona los datos agregados abajo:
Mi tabla originalmente esta asi:
Ship Seq Lead Codes
L7753862 L7753860
L2504987 L2504986
L7753820 L7753819
L7753862 L7753861
L2504987 L2504985
L7753820 L7753818
Quiero con el recordset dejarla asi:
Ship Seq Lead Codes
L2504987 1 L2504985
L2504987 2 L2504986
L7753862 1 L7753860
L7753862 2 L7753861
L7753820 1 L7753818
L7753820 2 L7753819
Lo que he conseguido hasta el momento es esto:
Ship Seq Lead Codes
L2504987 1 L2504985
L2504987 2 L2504986
L7753862 3 L7753860
L7753862 4 L7753861
L7753820 5 L7753818
L7753820 6 L7753819
Espero me halla explicado y puedan ayudarme se los agradezco de antemano.
Saludos
DS
Tengo mi tablla llamada "Mitabla", en ella tengo los campos:
Ship Texto
Seq Numerico
Lead Codes Texto
En esta tabla tengo "X" cantidad de datos y el campo "Seq" lo tengo vacio, lo que quiero hacer es llenar el campo "Seq" con numeros consecutivos hasta que el valor del campo Ship cambie, o sea primeramente seria ordenar con una consulta SQL la tabla mas o menos asi:
rstSQL="SELECT * FROM MiTabla ORDER BY MiTabla.Ship, MiTabla.[Lead Codes] ASC"
Despues con un recordset actualizar el campo "Seq", tengo esta parte del recordset me falta controlar cuando el campo Ship cambia de valor. Este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Sub mirsttest()
'Declaramos las variables
Dim dbs As DAO.Database
Dim rst As DAO.RecordSet
Dim strSQL As String
Dim i As Integer
'Definimos las variables
'strSQL = "SELECT FROM * MiTabla MiTabla.Ship, MiTabla.[Lead Codes] ORDER BY ASC;"' Esta parte no me la reconoce en el record set por eso abro
' la tabla directamente con Set rst = dbs.OpenRecordset("MiTabla", dbOpenDynaset)
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("MiTabla", dbOpenDynaset)
'Nos movemos al primer registro
rst.MoveFirst
'Hasta que no llegues al final del recordset, haz...
i = 0
Do Until rst.EOF
i = i + 1
With rst
'Do Until rst2.EOF
.Edit
.Fields(1).Value = i
.Update
End With
'Nos movemos al siguiente registro
rst.MoveNext
Loop
'Cerramos conexiones y liberamos memoria
rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing
End Sub
Edito agreo imagen ya que creo mi navegador distorciona los datos agregados abajo:
Mi tabla originalmente esta asi:
Ship Seq Lead Codes
L7753862 L7753860
L2504987 L2504986
L7753820 L7753819
L7753862 L7753861
L2504987 L2504985
L7753820 L7753818
Quiero con el recordset dejarla asi:
Ship Seq Lead Codes
L2504987 1 L2504985
L2504987 2 L2504986
L7753862 1 L7753860
L7753862 2 L7753861
L7753820 1 L7753818
L7753820 2 L7753819
Lo que he conseguido hasta el momento es esto:
Ship Seq Lead Codes
L2504987 1 L2504985
L2504987 2 L2504986
L7753862 3 L7753860
L7753862 4 L7753861
L7753820 5 L7753818
L7753820 6 L7753819
Espero me halla explicado y puedan ayudarme se los agradezco de antemano.
Saludos
DS
Valora esta pregunta
0