Elegir una columna según la variable

Antes que nada les comento que soy novato con vb pero trato de encontrarle soluciones hasta que se me acaban las ideas y es ahí que pido ayuda.
Paso a comentarles mi problema aunque seguro que para muchos es cuestión de un trámite.
Tengo las Tablas
t_clientes con los campos: idClie , Apell , Cond_vta_clie
t_art con los campos: idArt , Cod_ba_Art, descrip_Art , Pvta1_Art , Pvta2_Art ,Pvta3_Art
t_fact
t_fact_deta
Tengo un formulario llamado:
F_fact basado en la t_fact y su relación con la t_cliente (acá van los datos del cliente, pero también la forma de compra y esto es lo que me va a
determinar que precio se le hace si es "Público", "Mayorista" o "Especial"
y un subformulario llamado F_fact_det basado con la t_fact_deta y vinculado con la t_fact con los campos:
codigo, descrip, cant, P.Vta
Bien, lo que quiero es que al ingresar el código me determine que precio le corresponde, si público, mayorista o especial
Acá dejo algo de lo que intenté hacer... Los campos son de tipo texto
Declaro las variables
Dim vNro_Art_Deta As Variant
Dim VTipo_Vta_deta As Variant
Dim vPvta1_Art As Variant
Dim vPvta2_Art As Variant
Dim vPvta3_Art As Variant
Dim vCompruebo As Variant
Asigno el valor
vPvta1_Art = DLookup("Pvta1_Art", "T_art")
vPvta2_Art = DLookup("Pvta2_Art", "T_art")
vPvta3_Art = DLookup("Pvta3_Art", "T_art")
vNro_Art_Deta = Nz(Me.Nro_Art_Deta.Value, "") 'Se encuentra en el subform f_fact_deta
VTipo_Vta_deta = Nz(forms!f_fact!Tipo_Vta_deta.Value, "") Se encuentra en el form f_fact
        vCompruebo = DLookup("[Cod_ba_Art]", "T_art", "Cod_ba_Art ='" & vNro_Art_Deta & "'")
     If vNro_Art_Deta = vCompruebo Then 'SI EL CODIGO EXISTE? ENTONCES QUE?
Else
    MsgBox "CODIGO NO EXISTE", vbInformation, "AVISO"
     End If
Bueno espero su colaboración, se que no es la mejor manera lo que intenté hacer pero bueno...

1 respuesta

Respuesta
1

Dim vNro_Art_Deta As Variant
Dim vPvta1_Art As Variant
Dim vPvta2_Art As Variant
Dim vPvta3_Art As Variant
Dim VTipo_Vta_Fact As Variant
Dim vCompruebo As Variant
vNro_Art_Deta = Nz(Me.Nro_Art_Deta.Value, "")
VTipo_Vta_Fact = Nz(Forms!f_factura!Tipo_Vta_Fact.Value, "")
vPvta1_Art = DLookup("Pvta1_Art", "T_art")
vPvta2_Art = DLookup("Pvta2_Art", "T_art")
vPvta3_Art = DLookup("Pvta3_Art", "T_art")
'_____________________________________________SI EL CAMPO NO TIENE NINGÚN VALOR____________________________________
If IsNull(Me.Nro_Art_Deta) Then
Me.Nro_Art_Deta.SetFocus
Exit Sub
End If
'_________________________________________________________________________________________________________________
vCompruebo = DLookup("Cod_ba_Art", "t_Art", "Cod_ba_Art ='" & vNro_Art_Deta & "'")
     If vNro_Art_Deta = vCompruebo Then 'SI EL CODIGO EXISTE? ENTONCES QUE?
                    If VTipo_Vta_Fact = "Pvta1_Art" Then
                        Me.Precio_Deta = Me.Pvta1_Art
                        Me.T_Precio_Deta = "Público"
                        Forms!f_factura!F_Factura_Detalle!vend_fact_Det = Forms!f_factura!Vendedor
                    ElseIf VTipo_Vta_Fact = "Pvta2_Art" Then
                        Me.Precio_Deta = Me.Pvta2_Art
                        Me.T_Precio_Deta = "Mayorista"
                        Forms!f_factura!F_Factura_Detalle!vend_fact_Det = Forms!f_factura!Vendedor
                    ElseIf VTipo_Vta_Fact = "Pvta3_Art" Then
                        Me.Precio_Deta = Me.Pvta3_Art
                        Me.T_Precio_Deta = "Especial"
                        Forms!f_factura!F_Factura_Detalle!vend_fact_Det = Forms!f_factura!Vendedor
                         End If
            Else
                      MsgBox "CODIGO NO EXISTE", vbInformation, "AVISO"
     End If

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas