Access - Problemas recordset con cinta de opciones personalizada

 
Vista:
sin imagen de perfil
Val: 99
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Problemas recordset con cinta de opciones personalizada

Publicado por rambling (225 intervenciones) el 22/01/2020 19:49:37
Aprovechando el ejemplo de Jefferson Jimenez de RibbonNavegador de abril de 2010 tengo una BD con la cinta de opciones personalizada donde uno de los controles me abre un formulario, el cual contiene un boton de comando para actualizar los importes pendientes. el codigo de evento al hacer click del boton es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("recibos")
Do While Not rs.EOF
Select Case rs!Pagado
    Case True
    rs.Edit
    rs!REC_PENDIENTE = 0
    rs.Update
 
    Case False
    rs.Edit
    rs!REC_PENDIENTE = rs![Importe_total]
    rs.Update
End Select
rs.MoveNext
 
Loop
DoCmd.RunSQL "UPDATE Recibos INNER JOIN PROPIETARIOS ON Recibos.id = PROPIETARIOS.ID SET PROPIETARIOS.AL_DIA = [Recibos]![Pagado]WHERE (((Recibos.Mes_derrama)=[Introduce mes]));"

Pero no me lo ejecuta con la cinta de opciones personalizada.
espero me den alguna idea de por donde se puede arreglar.
saludos.
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
sin imagen de perfil
Val: 99
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Problemas recordset con cinta de opciones personalizada

Publicado por rambling (225 intervenciones) el 23/01/2020 00:36:29
Lo solucioné cambiando el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("recibos")
If rst.RecordCount = 0 Then GoTo salida
With rst
.MoveFirst
Do Until .EOF
Select Case .Fields("pagado")
    Case True
    .Edit
    .Fields("REC_PENDIENTE").Value = 0
    .Update
 
    Case False
    .Edit
    .Fields("REC_PENDIENTE") = .Fields("Importe_total")
    .Update
End Select
.MoveNext
 
Loop
DoCmd.RunSQL "UPDATE Recibos INNER JOIN PROPIETARIOS ON Recibos.id = PROPIETARIOS.ID SET PROPIETARIOS.AL_DIA = [Recibos]![Pagado]WHERE (((Recibos.Mes_derrama)=[Introduce mes]));"
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