Código VBA para crear condición en access 2010

Tengo una tabla con 4 campos, (Id, Marca, Modelo, PrecioCompra) y tengo un formulario de captura con los mismos campos con el cual registro los productos en esta tabla.

Tengo otra tabla con 4 campos, (Id, Marca, Modelo, PrecioVenta) y un formulario para registrar las ventas.

En el formulario de ventas tengo un cuadro de texto llamado CmdMarca, deseo que una vez ingrese la marca del producto si no existe me arroje un mensaje diciendo que no existe y si existe vaya al siguiente cuadro de texto, en este caso llamada CmdModelo.

Nota: No se si se puede hacer con una macro o una expresión, pero necesito que sea a través de un código.

2 Respuestas

Respuesta
1

En mi opinión deberias sustituir los Cuadros de Texto del Segundo Formulario por dos ComboBox.

Primero.- CboMarca >> Origen de Fila la Primera Tabla

En el evento AfterUpdate, le pones

Me. CboModelo. Requery

Segundo Combo.- CboModelo >> Origen de la Fila Igualmente la primera Tabla, pero en la rejilla de criterios le Pones>>

Formularios! NombreDeTuFormulario2. CboMarca. Column(0)

Para el Origen de Fila del CboMarca, en Propiedades >> Datos >> Origen de la Fila >>

Verás tres puntos a la derecha, los pulsas y sete abrirá el Generador de Consultas.

Arrastras Id en primer lugar y Marca en segundo lugar y ya esta el 1º

Para el segundo Combo, igual operativa, pero arrastras tres campos>>

Id, Modelo y en el Id es donde le pones el Filtro que te he comentado.

Mis saludos >> Jacinto

Respuesta
1

En el evento "después de actualizar" de tu campo marca, le pones este código:

IF DCount("*","NombreTabla","Marca="& & Me.Marca & "'")>0 Then
MsgBox "El producto no Existe", vbInformation
'Aqui añadirías lo que queires que te ahga a mayores
Else
Me.Cmd.Modelo.SetFocus
End If

Lo unico que tendras que cambiar es NombreTabla por el nombre de la tabla donde queires que te compruebe si existe o no la marca.

Un saludo.


Una nueva web de access, visítanos: http://nksvaccessolutions.com

Hay un pequeño error en el código, este es correcto:

IF DCount("*","NombreTabla","Marca='" & Me.Marca & "'")>0 Then
MsgBox "El producto no Existe", vbInformation
'Aqui añadirías lo que queires que te ahga a mayores
Else
Me.Cmd.Modelo.SetFocus
End If
IF DCount("*","NombreTabla","Marca="& & Me.Marca & "'")>0 Then
MsgBox "El producto no Existe", vbInformation
'Aquí añadirías lo que quieres que te haga a mayores
Else
Me.CmdModelo.SetFocus
End If
IF DCount("*","NombreTabla","Marca='" & Me.Marca & "'")=0 Then
MsgBox "El producto no Existe", vbInformation
'Aquí añadirías lo que quieres que te haga a mayores
Else
Me.CmdModelo.SetFocus
End If

Está loca la página, que me manda la respuesta antes de terminarla... Este es el código correcto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas