Access - Ayuda Progrma memorias de gimnastas (resultados)

 
Vista:

Ayuda Progrma memorias de gimnastas (resultados)

Publicado por Felipe71 (1 intervención) el 30/04/2013 14:50:06
Al comparar dos valores identicos, se pasan como si el if fuera falso. solo lo realiza con el primer registro, posteriormente al comparar nuevos valores que son identicos no los toma en cuenta como iguales. el procidimento lo realizo paso a paso y no veo error al comparar. este el parte del codigo.

La idea principal. es que valores de totalx y totalant del if si son iguales no me haga sumar el valor de NOTAen caso contrario sume NOTA + 1 ( es comparando el valor del registro anterior) .

la tabla gimnasta ya esta ordenada de mayor a menor y si se encuentra valores iguales, cabe aclarar que el campo TOTAL es un campo calculado de la suma de 4 campos que guarda el valor de las calificaciones de gimnastas de PISO,BARRAS,VIGA Y SALTO.

Private Sub CALCULA_Click()

Dim dbsMemorias As DAO.Database
Dim rstGimnasta As DAO.Recordset

Set dbsMemorias = OpenDatabase("c:\proyecto\Memorias.accdb")

Set rstGimnasta = CurrentDb.OpenRecordset("select * from gimnasta ORDER BY TOTAL DESC", dbOpenDynaset)

totalant = 0
totalact = rstGimnasta("Total")
totalx = rstGimnasta("Total")
x = 1


With rstGimnasta
.MoveFirst

i = 0

Do While i < rstGimnasta.RecordCount

.Edit
f = rstGimnasta("id")
g = rstGimnasta("item")
h = rstGimnasta("nombre")


totalant = totalact

If totalx = totalant Then
' no suma el valor de la posicion
NOTA = x
Else
x = x + 1 'suma cuando no es igual al anterior
NOTA = x
End If
rstGimnasta("ltotal") = NOTA
.Update
.MoveNext
totalx = totalant
i = i + 1
If i = rstGimnasta.RecordCount Then Exit Do
totalact = rstGimnasta("total")

Loop

.Close

End With

dbsMemorias.Close

End Sub

algun comentario o solucion gracias.
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