Copiar valores de un formulario a una tabla utilizando checkbox

Tengo un formulario cuyo origen es una consulta

Desearía guardar uno de los campos de este formulario en otra tabla

Quisiera guardar el valor del campo "Costo" del formulario en el campo de mismo nombre de la Tabla "T_Concepto" donde el Id Concepto del formulario sea igual al Id de la tabla, si tiene el checkbox

No tengo ni idea por donde comenzar

Si pudieran indicarme o mandarme a un link en donde haya algun caso similar seria genial.

2 respuestas

Respuesta
2

Pruebe con este código en el botón Actualizar

  Dim x As Integer
  For x = 1 To Me.RecordsetClone.RecordCount
    CurrentDb.Execute "UPDATE T_Concepto SET Costo=" & Me.CostoConcepto & " WHERE id=" & Me.idconcepto
    DoCmd.GoToRecord , , acNext
  Next x

Corrijo, disculpe

  Dim x As Integer
  For x = 1 To Me.RecordsetClone.RecordCount
   If Me.CasillaChek = -1 Then
    CurrentDb.Execute "UPDATE T_Concepto SET Costo=" & Me.CostoConcepto & " WHERE id=" & Me.idconcepto
   End If
    DoCmd.GoToRecord , , acNext
  Next x

Muchas gracias Eduardo

Ya funciona, aunque tengo problemas con la casilla.

He puesto en el evento Form Load CasillaChek.Value = True y en el evento Click  CasillaChek.Value = false.

El problema es que al hacer click en una línea me elimina el check de todas

Desearía hacerlo línea por línea en forma individual

Si es un formulario continuo la casilla Chek debe pertenecer a un campo de la tabla, de lo contrario afectara a todos los campos.

Respuesta

Quitaría el objeto independiente (no tiene más valor que el estético al ser común a todos los registros) y aplicaría otro evento (por ejemplo, DobleClick) para interactuar con el registro actual (en lugar de marcarlo y después aplicarlo: aplicarlos directamente).

Como el valor no se modifica (en el registro del formulario), aunque por error se aplique más de una vez, solo se pierde tiempo en repetir otra vez lo mismo, que sería algo como:

CurrentDb.Execute "Update [aquí la tabla destino] set [campo destino]= " & [Campo del formulario] & " Where [campo Id en la tabla destino] = " & [campo Id en el formulario]

En la expresión anterior, se tendrán que añadir las comillas simples en los campos del formulario que sean de texto.

Según la aplicación real del formulario (por ejemplo, localizar diferencias en los costos de los registros presentes en el formulario y los mismos registros de la tabla a actualizar en que coincidan los IDs), basta que esa sea la condición a cumplir para obtener el origen de datos del formulario, por lo que un refresco del mismo tras cada actualización, ira reduciendo el número de elementos visibles en el formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas