Discussion:
Actualizar subformulario con datos de cuadro lista
(demasiado antiguo para responder)
b***@gmail.com
2015-12-13 09:24:37 UTC
Permalink
Hola buen dia!

Tengo un formulario con un cuadro lista(4 columnas) y un subformulario, deseo pasar los valores de cuatro columnas del cuadro lista pasarlo al subformulario la cual tiene vista predeterminada hoja de datos y eh creado el siguiente codigo:

Private Sub listdetallecont_Click()

Dim Contador As Integer
Dim CadenaSql As String, CadenaParcial As String
CadenaSql = "INSERT INTO tblremesa_reng (mes_periodo, fecha_reg, ct,monto) " _
& "VALUES ( "

For Contador = 0 To listdetallecont.ColumnCount - 1

CadenaParcial = CadenaParcial _
& " '" & listdetallecont.Column(Contador, listdetallecont.ItemsSelected) & "',"

Next
CadenaSql = CadenaSql & Mid(CadenaParcial, 2, Len(CadenaParcial) - 2) & ");"
CurrentDb.Execute CadenaSql
End Sub

El codigo se ejecuta y rellena la tabla pero no actualiza el campo id de la tabla detalle, esta accion no permite se actualice subformulario con el id del formulario principal.

Gracias de ante mano a los expertos por la ayuda que puedan brindar!!!
José Mª Fueyo
2015-12-14 09:23:26 UTC
Permalink
Hola
¿Por qué no incluyes el id de la tabla principal que sirve de enlace con la secundaria en tu sentencia sql?

Salu2,
José Mª Fueyo
b***@gmail.com
2015-12-15 00:53:12 UTC
Permalink
Post by b***@gmail.com
Hola buen dia!
Private Sub listdetallecont_Click()
Dim Contador As Integer
Dim CadenaSql As String, CadenaParcial As String
CadenaSql = "INSERT INTO tblremesa_reng (mes_periodo, fecha_reg, ct,monto) " _
& "VALUES ( "
For Contador = 0 To listdetallecont.ColumnCount - 1
CadenaParcial = CadenaParcial _
& " '" & listdetallecont.Column(Contador, listdetallecont.ItemsSelected) & "',"
Next
CadenaSql = CadenaSql & Mid(CadenaParcial, 2, Len(CadenaParcial) - 2) & ");"
CurrentDb.Execute CadenaSql
End Sub
El codigo se ejecuta y rellena la tabla pero no actualiza el campo id de la tabla detalle, esta accion no permite se actualice subformulario con el id del formulario principal.
Gracias de ante mano a los expertos por la ayuda que puedan brindar!!!
Jose Mª Fueyo, no recuerdo como debe hacerce, pero consegui una solucion de la siguiente manera

Private Sub listdetallecont_DblClick(Cancel As Integer)

Dim Contador As Integer
Dim CadenaSql As String, CadenaParcial As String

For Contador = 0 To listdetallecont.ColumnCount - 1

CadenaParcial = CadenaParcial _
& " '" & listdetallecont.Column(Contador, listdetallecont.ItemsSelected) & "',"

Next
MsgBox Mid(CadenaParcial, 2, Len(CadenaParcial) - 2)
Forms![frm_remesa]![frm_tblremesa_reng]![mes_periodo] = Me.listdetallecont.Column(0)
Forms![frm_remesa]![frm_tblremesa_reng]![fecha_reg] = Me.listdetallecont.Column(1)
Forms![frm_remesa]![frm_tblremesa_reng]![CT] = Me.listdetallecont.Column(2)
Forms![frm_remesa]![frm_tblremesa_reng]![monto] = Me.listdetallecont.Column(3)
DoCmd.GoToControl "frm_tblremesa_reng"
DoCmd.GoToRecord , , acNewRec

Este procedmiento me ha resultado
José Mª Fueyo
2015-12-15 08:25:59 UTC
Permalink
Hola
Perfecto, estás asignando a los controles del subformulario el valor de cada columna. Es así como se hace.

Saludos,
José Mª Fueyo

Loading...