Access - RECORRER REGISTROS

 
Vista:

RECORRER REGISTROS

Publicado por Pablo (6 intervenciones) el 05/12/2006 18:27:39
Buenas, necesito una ayuda ya que llamo a este evento desde un formulario y nunca cambia al proximo registro. la cantidad de reg que da el recorset es 4270 (lo cual es la cantidad correcta de reg).
Lo que quiero hacer es desde un formulario en el cual tildo (ctrol ACREDI) algunos registros al llamar al procedimiento desde un cmd cambie la informacion de los campos de los cuales los registros se encuentran tildados
Espero ayuda!!!! y haber sido claro.
Desde ya muchas gracias

Dim Cta As String
Dim Rst As Recordset
Cta = "select * from OPERACIONES_MEP order by num_mep"
Set Rst = CurrentDb.OpenRecordset(Base, dbOpenDynaset)
If MsgBox("Desea.....", vbYesNo + vbQuestion, "Actualización") = vbYes Then
With Rst
Do While Not .EOF
If [Acreditado] Then
.Edit
[TIPO DE CUENTA] = Null
[AGENCIA] = Null
[CUENTA] = Null
[cliente] = Null
[OBSERVACIONES] = "A C R E D I T A D A"
.Update
End If
.MoveNext
Loop
End With
End If
Set Rst = Nothing
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:RECORRER REGISTROS

Publicado por Salo (152 intervenciones) el 05/12/2006 19:35:45
No acabo de entender la pregunta que haces al decir 'en el cual tildo...'. Pero lo que me parece entender que hace le programa es acceder a todos los registros de Base (debe contener el nombre de la tabla o consulta) y poner los campos a Null y Observaciones = 'ACREDITADA'

Si es así, antes del Do While, te falta
.Movefirst

y delante de cada campo te falta el caracter !

!Cuenta=Null

Espero te sirva
Un saludo
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:RECORRER REGISTROS

Publicado por Pablo (6 intervenciones) el 05/12/2006 20:58:26
Salo, gracias. Te comento bien que es lo que necesito
Cuando puse tildo = marca una casilla de verificación los registros que quiero actualizar y luego con un cmd llamo al procedimiento. El problema concreto es que siempre me busca la información del registro en el cual esta posicionado el cursor (o foco) en el formulario en toda la base y lo que yo necesito es que segun los registros marcados en el frm actualice los campos.
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:RECORRER REGISTROS

Publicado por Enrique (1299 intervenciones) el 06/12/2006 18:53:51
De la forma que intentas hacerlo no puede funcionar, porque NO realizas un buche que recorra los registros que cumplan la condición y los cambie. Prueba así:

Dim rst As DAO.Recordset, K As Long
Set rst = CurrentDb.OpenRecordset("Select * From OPERACIONES_MEP Where Acreditado = True order by num_mep", dbOpenDynaset)
If rst.RecordCount > 0 Then
rst.MoveLast
rst.MoveFirst
While Not rst.EOF
rst.Edit
For K = 0 To rst.RecordCount - 1
rst!TIPO DE CUENTA = Null
rst!AGENCIA = Null
rst!CUENTA = Null
rst!cliente = Null
rst!OBSERVACIONES = "A C R E D I T A D A"
Next K
rst.Update
rst.MoveNext
Wend
End If

Entiendo que el campo que marcas (tildas) se llama "Acreditado". Asegurate tambien que esté marcada la Referencia: Microsoft DAO 3.X Object Library, donde 3.X puede ser 3.51 (Access 97) o 3.6 (Access 2000).

Saludos
Enrique
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