Foros del Web » Soporte técnico » Ofimática »

Access: botón para reemplazar valores en formulario

Estas en el tema de Access: botón para reemplazar valores en formulario en el foro de Ofimática en Foros del Web. Muy buenas !!! Una pregunta: supongamos que el "campo-A" es del tipo Sí/No, ¿Cómo haríais mediante el "botón-1" dentro de un formulario, qué todo los ...
  #1 (permalink)  
Antiguo 19/04/2009, 10:59
Avatar de uservirus  
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Pregunta Access: botón para reemplazar valores en formulario

Muy buenas !!!

Una pregunta: supongamos que el "campo-A" es del tipo Sí/No, ¿Cómo haríais mediante el "botón-1" dentro de un formulario, qué todo los registros del "campo-A" fuesen "No"? Quiero decir, que pulsando "botón-1" TODOS los registros con valores "Sí" fueran reemplazados por el valor "No" (o viceversa) automáticamente.

Muchas gracias.

Última edición por uservirus; 20/04/2009 a las 03:59
  #2 (permalink)  
Antiguo 20/04/2009, 01:15
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: botón para reemplazar valores en formulario

Supongo que se trata de un form continuo. Podrias recorrer el recordsetclone del formulario, e ir cambiando todos los registros, algo asi:

Dim rst As DAO.Recordset

Set rst = Me.RecordsetClone
While Not rst.EOF
If Nz(rst!A, False) = True Then
rst.Edit
rst!A= False
rst.Update
End If
rst.MoveNext
Wend

rst.Close
Set rst = Nothing

Un saludo
  #3 (permalink)  
Antiguo 20/04/2009, 04:06
Avatar de uservirus  
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Busqueda Respuesta: Access: botón para reemplazar valores en formulario

Cita:
Iniciado por Taribo007 Ver Mensaje
Supongo que se trata de un form continuo. Podrias recorrer el recordsetclone del formulario, e ir cambiando todos los registros, algo asi:

Dim rst As DAO.Recordset

Set rst = Me.RecordsetClone
While Not rst.EOF
If Nz(rst!A, False) = True Then
rst.Edit
rst!A= False
rst.Update
End If
rst.MoveNext
Wend

rst.Close
Set rst = Nothing

Un saludo
Gracias por la respuesta Taribo007, pero soy un novel en tareas de Módulos en Access.

Pensaba que habría un método más sencillo, mediante Macros, para facilitar la tarea de reemplazar TODOS los registros del "Campo-A" por el valor "Sí" o "No".

Gracias de todas formas.
  #4 (permalink)  
Antiguo 20/04/2009, 06:39
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: botón para reemplazar valores en formulario

Supongo que si lo habra, pero yo es que no suelo usar macros. pero es muy sencillo, solo pon un boton en el pies del formulario, vete a sus propiedades, pestaña eventos. Colocate sobre la linea del evento "Al hacer click", muevete a la derecha del todo y pulsa un botoncito con tres puntitos (...). Te saldra una ventana donde eliges "Generador de codigo".

Se te abrira la ventana de VBA con el evento adecuado, es decir, algo asi:

Private Sub Comando0_Click()

End Sub

Pues justo entre esas dos lineas, pones lo que te he puesto antes, y listo.

Private Sub Comando0_Click()
Dim rst As DAO.Recordset

Set rst = Me.RecordsetClone
While Not rst.EOF
If Nz(rst!A, False) = True Then
rst.Edit
rst!A= False
rst.Update
End If
rst.MoveNext
Wend

rst.Close
Set rst = Nothing


End Sub

Bueno, falta un pequeño detalle. Con la ventana de codigo VBA abierat, en el menu de arriba pulsa en Herramientas >> referencias. Te sale un listado de referencias con un "click". Tienes que buscar una que es: Microsoft DAO X.XX object Library y hacer click en ella

Lo de X.XX depende de la version que uses de access.

Un saludo
  #5 (permalink)  
Antiguo 21/04/2009, 04:57
Avatar de uservirus  
Fecha de Ingreso: marzo-2009
Mensajes: 8
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Access: botón para reemplazar valores en formulario

Cita:
Iniciado por Taribo007 Ver Mensaje
Supongo que si lo habra...
...Un saludo
Gracias por la aclaración, pero después de seguir las instrucciones aparece el error '3265' en tiempo de ejecución.

Al final utilizaré el método standard: desde la propia Tabla hacer un "Buscar: Sí" y "Reemplazar por: No".

Saludos y gracias de nuevo.
  #6 (permalink)  
Antiguo 21/04/2009, 06:39
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: botón para reemplazar valores en formulario

Bien, como desees. Si quieres intentamos arreglarlo.

Un saludo
  #7 (permalink)  
Antiguo 29/09/2009, 16:01
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Access: botón para reemplazar valores en formulario

HOla, a mi me da el mismo error, serías tan amable de indicarme como programar el boton ese para que marque o desmarque el campo si/no de todos los registros? explicamelo como para tontos, vale? jajaja, que estoy empezando en access y no doy para mucho.

Gracias. un saludo.
  #8 (permalink)  
Antiguo 30/09/2009, 01:35
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: botón para reemplazar valores en formulario

Cual es la descripcion exacta del error y en que linea te sale??

Has seguido los pasos uno a uno??

Un saludo
  #9 (permalink)  
Antiguo 30/09/2009, 07:52
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Access: botón para reemplazar valores en formulario

el mismo error, error en tiempo de ejecucion 3265, y creo que sí he seguido los pasos uno a uno, te agradecería que me lo explicaras como te dije, pa tontos,jejejeje, a ver si lo pillo, que estoy empezando en esto y algunas cosas no tengo ni idea,

gracias por responder tan pronto. un saludo
  #10 (permalink)  
Antiguo 30/09/2009, 07:57
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: botón para reemplazar valores en formulario

Claro, seguro que descubrimoa el problema. UNas cositas: cual es la descripcion del error, o solo pone eso??? En que linea del codigo se para el depurador cuando se produce el error?? Podrias poner tu codigo exacto??

un saludo
  #11 (permalink)  
Antiguo 30/09/2009, 09:09
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 9 meses
Puntos: 56
Respuesta: Access: botón para reemplazar valores en formulario

Hola,
Sin macros también se podría hacer una consulta de actualización, que sobre la tabla correspondiente actualizara a Falso todos aquellos registros del Campo-A que fueran Verdadero.

Luego, se hace una macro con la acción Abrir Consulta donde se indica el nombre de la consulta de actualización.

Y por último se añade el botón al formulario correspondiente, asignando al evento Al hacer click del botón la macro que lleva la acción de Abrir consulta.

Saludos.
  #12 (permalink)  
Antiguo 30/09/2009, 09:17
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: botón para reemplazar valores en formulario

Creo que esa opcion no es valida, o no la he expuesto desde el principio, por que entiendo que lo que se quiere cambiar de valor es los registros reflejados en el formulario, no todos los de la tabla. Pero igual lo he entendido mal.

un saludo
  #13 (permalink)  
Antiguo 30/09/2009, 10:34
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 9 meses
Puntos: 56
Respuesta: Access: botón para reemplazar valores en formulario

Hola,
Yo entendí, o dí por entendido, que los registros del formulario eran los de la tabla.
En cualquier caso si no es así, creo que también se puede hacer con la opción que comenté. Sólo hay que incluir los mismos criterios de filtrado del formulario en la consulta de actualización.

No obstante, si me equivoco y lo estoy entendiendo mal, pido disculpas, No hagáis ni caso de lo que escriba

Un saludo
  #14 (permalink)  
Antiguo 01/10/2009, 00:24
 
Fecha de Ingreso: septiembre-2009
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Access: botón para reemplazar valores en formulario

EL CODIGO ES ESTE, EL MISMO QUE PUSISTEIS, Y EL ERROR DA EN LA PARTE nz (If Nz(rst...),


If Nz(rst!A, False) = True Then
rst.Edit
rst!A= False

por cierto, como se hace una consulta de esas de actualización?


gracias un saludo
  #15 (permalink)  
Antiguo 01/10/2009, 00:55
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
De acuerdo Respuesta: Access: botón para reemplazar valores en formulario

Cita:
Iniciado por jchuk Ver Mensaje
Hola,
Yo entendí, o dí por entendido, que los registros del formulario eran los de la tabla.
En cualquier caso si no es así, creo que también se puede hacer con la opción que comenté. Sólo hay que incluir los mismos criterios de filtrado del formulario en la consulta de actualización.

No obstante, si me equivoco y lo estoy entendiendo mal, pido disculpas, No hagáis ni caso de lo que escriba

Un saludo
Pues tienes toda la razon, tambien se puee hacer asi.

Un saludo
  #16 (permalink)  
Antiguo 01/10/2009, 00:56
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: botón para reemplazar valores en formulario

Cita:
Iniciado por ethancarter Ver Mensaje
EL CODIGO ES ESTE, EL MISMO QUE PUSISTEIS, Y EL ERROR DA EN LA PARTE nz (If Nz(rst...),


If Nz(rst!A, False) = True Then
rst.Edit
rst!A= False

por cierto, como se hace una consulta de esas de actualización?


gracias un saludo
La descripcion dle error cual es???

Tienes en la tabla que es origen de registro del formulario un campo llamado "A"???

Un saludo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 11:44.