
Actualizar a 0 un campo si cumple con criterio
Publicado por Dany (40 intervenciones) el 11/10/2015 01:08:59
Saludos cordiales a todos nuevamente.
Tengo una tabla en la que doy secuencia a un campo por medio de un RecordSet, este campo lo utilizo como contador para armar una estructura de otra tabla. El RecordSet me funciona de maravilla pero no encuentro la forma de indicarle al RecordSet que si en el campo "Operation" de mi tabla tiene como dato "APPLY FERRITE" entonces en el campo "SEQ" me ponga "0" y que el RecordSet siga el proceso de actualizar mi secuencia.
Espero a ver me explicado lo que pretendo este es el codigo del RecordSet que tengo:
Edito:
Una imagen vale mas que mil palabras, por si esta algo turbio la explicación que di lo marcado en Verde es la secuencia que me da el RecordSet:

Espero puedan ayudarme por favor.
Saludos
DS
Tengo una tabla en la que doy secuencia a un campo por medio de un RecordSet, este campo lo utilizo como contador para armar una estructura de otra tabla. El RecordSet me funciona de maravilla pero no encuentro la forma de indicarle al RecordSet que si en el campo "Operation" de mi tabla tiene como dato "APPLY FERRITE" entonces en el campo "SEQ" me ponga "0" y que el RecordSet siga el proceso de actualizar mi secuencia.
Espero a ver me explicado lo que pretendo este es el codigo del RecordSet que tengo:
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
Function Seq_TERMINATE()
Dim MiSQLDel As String
Dim rst As DAO.Recordset, i As Integer, Actual As String
With DoCmd
.SetWarnings False
'Consulta SQL para ordenar por GRP,SEQ, FINISHED LEADCODE
Set rst = CurrentDb.OpenRecordset("SELECT Tbl_Terminates_Seq.GRP, Tbl_Terminates_Seq.SEQ, Tbl_Terminates_Seq.[FINISHED LEADCODE], Tbl_Terminates_Seq.[SUB FINISHED], Tbl_Terminates_Seq.OPERATION FROM Tbl_Terminates_Seq WHERE [OPERATION]='TERMINATE' or [OPERATION]='APPLY FERRITE' And [DESCRIPTION]='FERRITE' ORDER BY Tbl_Terminates_Seq.GRP, Tbl_Terminates_Seq.SEQ, Tbl_Terminates_Seq.[FINISHED LEADCODE];")
With rst
.MoveLast
.MoveFirst
Do Until .EOF
i = i + 1
'Si el FINISHED LEADCODE ya no es igual a (Variable Actual) entonces reinicia a 1
If ![FINISHED LEADCODE] <> Actual Then i = 1: Actual = ![FINISHED LEADCODE]
.Edit
'Variable i es integer acumulable i=1+1
![SEQ] = i
.Update
.MoveNext
Loop
End With
rst.Close
Set rst = Nothing
End With
End Function
Edito:
Una imagen vale mas que mil palabras, por si esta algo turbio la explicación que di lo marcado en Verde es la secuencia que me da el RecordSet:

Espero puedan ayudarme por favor.
Saludos
DS
Valora esta pregunta


0