Programar cuadros combinados de access con vba

Como puedo programar un cuadro combinado para que inserte el dato seleccionado en una tabla al hacer click en un botón, pongo el código para que me ayuden a con el error que se genera.
Private Sub Comando20_Click()
'Declaramos una variable de nombre dbf y tipo base de datos (DataBase). Declaramos _
otra variable de nombre registros y tipo grupo de registros (RecordSet)
Dim dbf As Database, registros As Recordset
'Asignamos a la variable dbf la base de datos activa (CurrentDb), en nuestro caso la B.D. _
SOPORTE
Set dbf = CurrentDb
'Asignamos a la variable registros, los registros de la tabla MUESTRA
Set registros = dbf.OpenRecordset("MUESTRA", dbOpenDynaset)
'Añadimos un nuevo registro en blanco (en la tabla MUESTRA).
registros.AddNew
'En el campo XXXX de la tabla MUESTRA del registro nuevo, que se acaba de crear, se _
coloca lo que tenemos en el Cuadro Texto del formulario MUESTRA
registros("RADICADO_ATENCION") = Forms![MUESTRA]!Texto40
registros("NO_HOJAS_RADICADO") = Forms![MUESTRA]!Texto42
registros("NO_RADICADOS_ANTERIORES") = Forms![MUESTRA]!Texto46
registros("CLIENTE") = Forms![MUESTRA]![Texto44]
registros("FECHA") = Forms![MUESTRA]![Texto21]
registros("HORA_INICIO") = Forms![MUESTRA]![Texto24]
'aqui se produce el error
registros("NOMBRE_MOTIVO") = Forms![MUESTRA]![Cuadrocombinado33]
registros("NOMBRE_ETAPA") = Forms![MUESTRA]![Cuadrocombinado35]
registros("NOMBRE_ANALISTA") = Forms![MUESTRA]![Cuadrocombinado37]
registros("MUESTRA_OBSERVACIONES") = Forms![MUESTRA]![Texto50]
'Actualizamos el registro, es decir grabamos el registro de la tabla "MUESTRA".
registros.Update

1 respuesta

Respuesta
1
En los cuadros combinados, en la acción al hacer clic ---> procedimiento de evento ---> Me. Refresh
Sino no toma el valor seleccionado.
Disculpame ángeles,
Pero lo puse y me da error, ¿me podrías indicar en que parte del código va?
Gracias
En las propiedades del cuadro combinado vas a la acción al hacer clic, picas en la flecha de la derecha y eliges Procedimiento de evento, después picas en el cuadrado de la derecha, el de los ... para abrir el generador de código, por defecto te saldrás 2 lineas de código:
Sub...
End sub
es entre estas lineas dónde lo tienes que poner
sub...
Me.Refresh
end sub
Hola, disculpa la molestia
Así lo estoy haciendo... tal cual como me indicas pero me aparece el error, te copio el error al final... desde ya te agradezco mucho tu tiempo y disposición.
Sub CCRUTA_Click()
Me.Refresh
End Sub
Private Sub Comando20_Click()
'Declaramos una variable de nombre dbf y tipo base de datos (DataBase). Declaramos _
otra variable de nombre registros y tipo grupo de registros (RecordSet)
Dim dbf As Database, registros As Recordset
'Asignamos a la variable dbf la base de datos activa (CurrentDb), en nuestro caso la B.D. _
SOPORTE
Set dbf = CurrentDb
'Asignamos a la variable registros, los registros de la tabla MUESTRA
Set registros = dbf.OpenRecordset("MUESTRA", dbOpenDynaset)
'Añadimos un nuevo registro en blanco (en la tabla MUESTRA).
registros.AddNew
'En el campo XXXX de la tabla MUESTRA del registro nuevo, que se acaba de crear, se _
coloca lo que tenemos en el Cuadro Texto del formulario MUESTRA
registros("RADICADO_ATENCION") = Forms![MUESTRA]!Texto40
registros("NO_HOJAS_RADICADO") = Forms![MUESTRA]!Texto42
registros("NO_RADICADOS_ANTERIORES") = Forms![MUESTRA]!Texto46
registros("CLIENTE") = Forms![MUESTRA]![Texto44]
registros("FECHA") = Forms![MUESTRA]![Texto21]
registros("HORA_INICIO") = Forms![MUESTRA]![Texto24]
registros("NOMBRE_RUTA") = Forms![MUESTRA]![CCRUTA]
'registros("NOMBRE_MOTIVO") = Forms![MUESTRA]![Cuadrocombinado33]
'registros("NOMBRE_ETAPA") = Forms![MUESTRA]![Cuadrocombinado35]
'registros("NOMBRE_ANALISTA") = Forms![MUESTRA]![Cuadrocombinado37]
'registros("MUESTRA_OBSERVACIONES") = Forms![MUESTRA]![Texto50]
'Actualizamos el registro, es decir grabamos el registro de la tabla "MUESTRA".
registros.Update
Error
La expresión "al hacer click" que ha especificado como valor de la propiedad de evento produjo el error ocurrió un problema mientras Microsoft Office Access se comunicaba con el servidor OLE.
*LA expresion no da como resultado el nombre de una macro, de una función definida por el usuario o [Procedimiento evento]
*Hubo un error al evaluar la función evento o macro.
Este error se produce cuando un evento no se ha podido ejecutar debido a que Microsoft Office Access no puede evaluar la ubicación de la lógica del evento. Por ejemplo, si la propiedad OnOpen de un formulario se establece en =[Field], este error se produce porque Access espera que se ejecute un nombre de macro o evento al desencadenarse el evento.
Cuando escribes el código me.
¿Sale la ayuda y en ella, al poner me.r
¿Sale refresh?
Me cuentas, saludos Angeles
Página supuestos y solucciones en access: http://angelessebas.es/
Hola...
Si sale y lo selecciono, y sigue el mismo error!
Gracias!
Pues... no se lo que puede pasar, si quieres me mandas la BD (con algún dato para que pese poco y en access 2003) y la echo un vistazo.
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas