Mensaje de aviso en un formulario

El ejemplo que intento conseguir lo explico en la imagen.

2 respuestas

Respuesta
2

Honestamente, no entiendo la pregunta. Si en el combinado Vehículo ya eliges la matrícula, ¿para qué volver a mostrarla? Sic "En este caso Matricula se carga automático al seleccionar Vehículo".

Me imagino que en las propiedades del combinado, en el evento Después de actualizar pone, más o menos

Matricula=nombredelcombinado (si la columna dependiente del combo es la primera)

o

matricula=nombredelcombinado.column(1) ( si la columna dependiente es la primera, pero la que muestra es la segunda)

Otra cosa sería si el valor que aparece en el cuadro de texto Matrícula viniera de otro lado.

Es un formulario continuo dentro de otro formulario. Cuando estoy en el principal con los botones de ir a registro siguiente o anterior me va mostrando los datos de cada vehículo, pero pueden darse errores y por eso quiero que si no coincide el Texto lo avise. El dato lo coge de otro formulario llamado coches. Intento poner una imagenes para poder aclararlo.

Si el formulario principal es en el que aparece la imagen y que llamaremos Principal, y el cuadro de texto donde aparece la matrícula se llama Matrícula(no te creas, me he devanado los sesos para poner esos nombres, es broma), y como me da la impresión de que el formulario donde aparecen los combinados vehículo y Chófer lo abres en vista diálogo, lo que haría sería poner en el evento Antes de actualizar del combinado Vehículo

If currentproject.allforms("principal").isloaded then

if elegir.column(1)<>forms!principal!matrícula then

Msgbox"Nene, es que no ves que la matrícula que eliges no es la misma", vbokonly,"Señor, Señor, que cabeza"

Docmd. Cancelevent

end if

end if

O sea, cuando eliges una matrícula, si ésta no coincide con la que aparece te manda el aviso y el cursor se vuelve al combinado Vehículo, para que lo cambies.

He supuesto que el combinado Vehículos tiene dos columnas( la primera con lo que sea, oculta y dependiente y una segunda columna que es la que se muestra con las matrículas.

Me da un error de compilación, "No coinciden los tipos"

He introducido este código:

Private Sub Cuadro_combinado35_BeforeUpdate(Cancel As Integer)
If CurrentProject.AllForms("GAS-ABRIL").IsLoaded Then

If elegir.Column(1) <> Forms!GAS - ABRIL!MATRICULA Then

MsgBox "Nene, es que no ves que la matrícula que eliges no es la misma", vbOKOnly, "Señor, Señor, que cabeza"

DoCmd.CancelEvent

End If

End If
End Sub

Te mando imagen con los nombres 

No se deben usar nombres separados para ningún objeto de Access. Al ponerle nombres separados, en código tienes que estar encerrándolo entre corchetes o comillas. En tu caso sería

If CurrentProject.AllForms("gas - abril").IsLoaded Then
If elegir.Column(1) <> Forms![gas - abril]!matricula
End If

Te lo pongo completo

If CurrentProject.AllForms("GAS-ABRIL").IsLoaded Then

If elegir.Column(1) <> Forms![GAS - ABRIL]!MATRICULA Then

MsgBox "Nene, es que no ves que la matrícula que eliges no es la misma", vbOKOnly, "Señor, Señor, que cabeza"

DoCmd.CancelEvent

End If

End If

Respuesta

¿Qué estás usando para poner la 'Matrícula'? ¿Tienes una fórmula o estás usando una macro?

Salu2

Cuadro combinado que busca en consulta. Es un formulario continuo  dentro de un formulario.

Ok, y supongo que cuando no encuentra el dato te está dando algún tipo de error. Lo que podrías hacer es capturar ese error para enviar tu mensaje.

Salu2

No me da ningún error, lo que intento es crear un código que cuando MATRICULA y VEHÍCULO no sean iguales o este en Blanco MATRICULA, me salte el msgBox.

Pues en tu formulario, luego de completar la matrícula podrías agregar el código que verifique justamente eso. Debería ser algo del estilo

If (Cells(3,11) = "" OR Cells(3,1) <> Cells(3,11)) Then
  MsgBox "Falta la matrícula o no coincide, vbInformation, "Error"
End If

Suponiendo que la matrícula aparece en la celda K3 de debería coincidir con el valor de la celda A3

Salu2

Estoy trabajando en Access Gustavo

Necesitaría algo como:

Si el texto del "cuadro combinado" es diferente al texto de "cuadro de texto" o esta en blanco >>>> salta MsgBox de aviso "ERROR"

Lo siento, pensé que venía por el lado de XLS (no leí bien la pregunta :( ). Mis conocimientos de VB para Access no son tan buenos como para poder ayudarte.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas