Error de compilación: No se ha definido el tipo definido por el usuario.

Aprovechando que ahora tengo vacaciones me he puesto otra vez manos a la obra. Estoy cambiando campos en un formulario y quiero hacer varios con de cuadro combinado con el evento de "al no estar en lista", tengo otra base de datos que me enviaron como ejemplo. He copiado los códigos y hecho los cambios oportuno pero me da un error que no veo la manera de solucionar. ¿Me podéis echar una mano por favor?

2 Respuestas

Respuesta
1

Ponlo como:

Dim DB As DAO.Database

Dim Rst As Dao.Recordset 

Si aún así no te funciona, asegúrate de tener registrada la librería "Microsoft office XX.X access database engine object library" o la "Microsoft DAO 3.6 Object Library", pero sólo una de ellas.

Hola nuevamente. He activado la opción Microsoft DAO 3.6 Object Library. Ya no me da el error anterior. Ahora tengo uno nuevo. Si elimino la última fila me funciona pero se queda la lista del cuadro combinado desplegada. 

Se ha usado la instrucción Option Explicit. ¿Qué puedo hacer ahora para solucionar este error?

Option explicit solo sirve para obligatoriamente a declarar las variables. Si te sale eso, es porque, probablemente, no tengas nada en tu formulario que se llame Direccion.

En cualquier caso, yo acostumbro a usar la sintaxis me. Nombrecontrol porque así el intellisense te va ofreciendo las opciones válidas y no da lugar a errores al escribir.

Respuesta
1

Pregunto. ¿Para qué definir una base de datos, decirle que sea la base actual, etc, si ya estás en ella?. Puedes usar

Private Sub IdProveedor_NotInList(NewData As String, Response As Integer)
Dim Proveedornuevo As Integer, título As String, mensaje As Integer
título = "El Proveedor que ha escrito no está en la lista"
mensaje = vbYesNo + vbDefaultButton1
Proveedornuevo = MsgBox("¿Desea agregar este Proveedor a la lista ?", mensaje, título)
If Proveedornuevo = vbYes Then
DoCmd.RunCommand acCmdUndo
DoCmd.OpenForm "Proveedores", acNormal, "", "", acAdd, acDialog
Response = acDataErrAdded
End If
End Sub

Es decir, si escribes, en este caso un proveedor que no está en la lista, te aparece el mensaje y si le dices que sí, se abre el formulario Proveedores para que lo des de alta. Una vez hecho, cuando cierres ese formulario Proveedores, en el combinado del otro ya te aparece su valor.

¡Gracias, Paisano!, voy a intentar solucionar, con vuestra ayuda, el error que me ha salido nuevo y si no lo consigo probaré la opción que me ofreces.

Gracias, por tu interés una vez más.

Por curiosidad, ¿de qué parte de Cartagena eres?

De la Calle Tirso de Molina. Está junto a la estación de RENFE. 

Coño, yo vivo en el cruce del Paseo Alfonso XIII con Capitanes Ripoll, justo encima de donde estaba Cajamurcia, ahora Bankia, ahora...

Pues somos vecinos del barrio. Allí viven mis padres ahora. Aquí te dejo mi email para que estemos es contacto. [email protected] 

Saludos y un abrazo. 

El mío es [email protected] por si necesitas algo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas