Imprimir página | Cerrar ventana

No recorre la tabla

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=85356
Fecha de impresión: 20/Septiembre/2020 a las 07:09


Tema: No recorre la tabla
Publicado por: Nomada
Asunto: No recorre la tabla
Fecha de publicación: 19/Junio/2020 a las 11:29
Buenas.
Que puede fallar para que el siguiente código no recorra la tabla?:
 Dim cadena As String, RecReg As DAO.Recordset
   cadena = "T_Maestro"
   Set RecReg = CurrentDb.OpenRecordset(cadena)
   With RecReg
      .MoveFirst
      Do While Not .EOF
         Me.AAA2 = Right(Me.AAA, 5)
         .MoveNext
      Loop
   End With
   RecReg.Close: Set RecReg = Nothing

Gracias.



Respuestas:
Publicado por: mounir
Fecha de publicación: 19/Junio/2020 a las 12:03
Hola!

Pero que quieres hacer?.. Actualizar, Editar, o insertar?

Te recomiendo leer el capitulo 4 del http://www.mvp-access.com/foro/curso-access-y-vba-ferm-vil_topic82350.html?FID=1&PR=3" rel="nofollow - "Curso Access y VBA Fermí Vilá" . Viene todo lo que hay que saber sobre RecordSet.

-------------
Un Saludo.


Publicado por: Nomada
Fecha de publicación: 19/Junio/2020 a las 12:48
Actualizar el campo AAA2 con los 5 caracteres por la derecha del campo AAA.
Voy a leer el capítulo 4


Publicado por: mounir
Fecha de publicación: 19/Junio/2020 a las 12:51
Hola!

En tu código no haces referencia a actualizar y por eso no funciona.

En el capitulo 4 lo tienes así lo vas entiendo mejor.

-------------
Un Saludo.


Publicado por: Nomada
Fecha de publicación: 19/Junio/2020 a las 13:01
Gracias. Ya he visto el Capítulo 4 y no hace falta utilizar ningún recordset. Con solo la instrucción Do While basta.
Perfecto.
Este hilo se puede cerrar satisfactoriamente.
Saludos.
Pda. Qué diferencia hay entre utilizar en VBA el punto (me.campo) o la admiración (me!campo)?


Publicado por: xavi
Fecha de publicación: 20/Junio/2020 a las 00:10
Ni te hace falta un recordset ni parece que te haga falta un Do While.

En cuanto a tu pregunta. Es más una cuestión de estilo que formal. A nivel práctico no existe diferencia. Solo que es más académico utilizar ! cuando a continuación va un campo y el . cuando a continuación va una propiedad o método (que seguro que no pueden ir detrás de !)



-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Nomada
Fecha de publicación: 21/Junio/2020 a las 12:58
Gracias.
Pero entonces si no es con Do While, cómo recorrerías la tabla de registros?


Publicado por: javier.mil
Fecha de publicación: 21/Junio/2020 a las 13:50
con SQL puedes hacerlo

Ejemplo:

            Dim strSQL As String           
               
                DoCmd.SetWarnings False
               ' borra todo todo el campo ACtivo
                strSQL = "UPDATE tblPhones SET tblPhones.Activo = False;"
                DoCmd.RunSQL strSQL
               
    ' Actualiza el campo Activo segun el combo
                strSQL = "UPDATE tblPhones SET tblPhones.Activo = True " _
                & "WHERE (((tblPhones.Phones)='" & txtPhones & "'));"
                DoCmd.RunSQL strSQL
               
                DoCmd.SetWarnings True




-------------
https://www.accessdemo.info" rel="nofollow - https://www.accessdemo.info





Publicado por: Nomada
Fecha de publicación: 23/Junio/2020 a las 09:22
Gracias.
Este hilo se puede cerrar satisfactoriamente.



Imprimir página | Cerrar ventana