Actualizar Campo SI/NO |
Responder |
Autor | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
principiante_access
Nuevo Unido: 20/Junio/2018 Localización: madrid Estado: Sin conexión Puntos: 8 |
Opciones de entrada
Gracias(0)
Enviado: 11/Mayo/2022 a las 18:41 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola, tengo dos tablas en una tengo un campo SI/NO. Lo que quiero conseguir es que en función a otra tabla recorra una columna y si encuentra algún valor distinto de nulo me la deje a NO Y si esta a 0 me la ponga a SI. Gracias de antemano
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
emiliove
Administrador Unido: 16/Junio/2009 Localización: Mexico Estado: Sin conexión Puntos: 5694 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
De seguro hay varias formas de hacerlo, pero creo que te falta información.
Saludos.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola!
Con una consulta de actualización y el criterio que quieras (<> 0 ó = 0) haces una cosa o otra. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Un Saludo.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
principiante_access
Nuevo Unido: 20/Junio/2018 Localización: madrid Estado: Sin conexión Puntos: 8 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Con una consulta de actualización no puedo hacerlo, porque si en la primera tabla la consulta me sale en vacio, ya que cumple que la diferencia en 0, no puedo enlazarlo y por lo tanto actualizar el check de validado a SI. No se me ocurre la forma de hacerlo...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
mounir
Colaborador Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6479 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hola!
No es complicado, deja el boton Sí/No como prederminado en Sí (No hay registro), en formulario con una función que calcula el registro en la tabla, si es cero sales y sí es <>0 ejecutas la consulta de actualización. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Un Saludo.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Estoy con Emilio: un poco más de información (algun dato de ejemplo) ayudaría a ajustar la respuesta.
Yo te podría dar dos o tres ideas pero dependerá de los datos y sus tipos. Un saludo
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
principiante_access
Nuevo Unido: 20/Junio/2018 Localización: madrid Estado: Sin conexión Puntos: 8 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Lo que quiero es hacer una consulta que recorra la tabla1 desde la tabla de validaciones. En caso de que la diferencia sea = a 0 me actualice el campo SI/NO a SI. En caso de que la tabla1 tengo una diferencia <> 0 me actualice el campo SI/NO a NO. No se como hacerlo a traves de un formulario. Tampoco que función hay que usar para recorrer la tabla. Si necesitas algun codigo en VBA. Estoy un poco perdido...
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
No se si lo acabo de pillar pero ahí va.
Suponiendo que tienes un campo en la tabla dónde se almacena la diferencia puedes realizar una suma de ese campo y evaluar el resultado. Si es igual a 0, marcas el registro Puedes actualizar mediante recordset (no te escribo to do lo previo): TablaValidacion!CampoValidacion = (DSum("CampoDiferencia", "Tabla1") = 0) O mediante consulta de actualización: CurrentDb.Execute "UPDATE Tabla1 SET CampoValidacion = " & (DSum("CampoDiferencia", "Tabla1") = 0) En caso de no tener ese campo de diferencia podrias abrir un recordset sobre la tabla1 y recorrer la tabla. En cada registro evaluas la diferencia. Al primer registro que sea <> 0 ya puedes marcar el registro de validación como False y salir del proceso. Si finalizas todos los registros sin encontrar una diferencia <> 0 es cuando puedes marcar como True. Esta técnica te vale tanto si tienes el campo de diferencias como si no lo tienes. En cualquiera de los 2 casos se puede añadir condiciones si hay que acotar la cantidad de registros a evaluar. Un saludo Editado por xavi - 17/Mayo/2022 a las 23:06 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
principiante_access
Nuevo Unido: 20/Junio/2018 Localización: madrid Estado: Sin conexión Puntos: 8 |
Opciones de entrada
Gracias(0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Estoy un poco pez en esto. Estoy intentando crear un recordset pero no se muy bien como funciona la sintaxis. La lógica es dejar campo CUMPLE(SI(/NO) TRUE por defecto en la TABLA MAESTRO DE VALIDACIONES y después crear el siguiente código:
Option Compare Database Option Explicit Sub conecta_actual() Dim miconexion As New Connection Set miconexion = CurrentProject.Connection Dim instruccion As String Dim instruccion2 As String instruccion = "SELECT * FROM CUADRE_IMPORTES_GENERALES_CDM" instruccion2 = "SELECT * FROM MAESTRO_VALIDACIONES" Dim mirecordset As New Recordset mirecordset.Open instruccion, instruccion2, miconexion Do Until mirecordset.EOF If mirecordset.dif = 0 Then mirecordset.MoveNext ELSE Update INSTRUCCION2 SET cumple(si/no) = FALSE where indice=12 Loop mirecordset.Close Set mirecordset = Nothing miconexion.Close Set miconexion = Nothing End Sub Lo que paso no tengo mucha idea de como se implementar el código en VBA. Si alguien me puede ayudar. Muchas gracias de antemano.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |