Ayuda con el uso de instrucciones sql en un combo box para actualizar datos de tablas en access

Saludos. Aquí tengo una situación que realmente creo que los mejor es hacerlo en sql. Bueno quizás me podrás recomendar algo más sencillo. Ok, veamos tengo las siguientes tablas:
Tabla Transacciones
1. Nombre Del Cliente
2. Numero De Inventario
3. Costo
Tabla Inventario
1. Numero De Inventario
2. Costo
Tabla Clientes Precios Especiales
1. Nombre Del Cliente
2. Numero Inventario
3. Precio Especial
Tengo una forma que cuando selecciono el Numero De Inventario me hace exactamente lo que quiero y guarda el Costo en base al Inventario en la Tabla Transacciones, eso trabaja bien. Ahora lo que quier o hacer un SQL que cuando yo selecciones en el Numero de Inventario verifique en Tabla Clientes Precios Especiales y me traiga dicho precio si es que existe alguno para ese Cliente. Entiendo que este SQL lo puedo poner en el combo box en después de actualizar. Gracias.

1 respuesta

Respuesta
1
En la acción, por ejemplo al hacer clic, yo pondría un procedimiento de evento, en este procedimiento pondría un código donde validaría si el valor del NumInventario está en la tabla Clientes. Código:
Dim db as Database
Dim rs as Recordset
Set db=Currentdb()
Set rs=db.OpenRecordset("Select * From TablaClientes Where [NumeroInventario]='" & Forms!NombreFormulario!NumInventario & "'"
If rs.Eof then
MsgBox("No se encontraron registros")
Else
MsgBox(rs!Precio)
End If
Saludos creo que el código es el más acertado para mi. Solo que quiero recordarte que en la tabla ClientePrecios especiales pueden haber muchos Números de Inventarios a un mismo cliente. Osea tendría que verificar el Nombre del Cliente y el numero de inventario. Gracias.
Este es el código modificado:
Private Sub Combo10_AfterUpdate()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select * From ClientSpecialPrices Where [PartNumber]='" & Forms!AGENDA_subform1!COMBO10 & "'")
If rs.EOF Then
MsgBox ("No se encontraron registros")
Else
MsgBox (rs!SpecialPrice)
End If
Me da el siguiente error:
Complie Error User Defined Type Not Defined
esto es en Dim db As Database.
Gracias.
El error que te da es que el tipo no está definido,
Abre un módulo:
Selecciona Herramientas -> Referencias y comprueba que Microsoft DAO 3.x Object Library está chequeado

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas