Elegir un valor de 3 segun condición |
Responder |
Autor | |
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Tema: Elegir un valor de 3 segun condición Enviado: 21/Junio/2019 a las 22:28 |
Buenas tardes, desde ya muchas gracias por su tiempo, les comento que soy novato con vb pero trato de encontrarle soluciones hasta que se me acaban las ideas y es ahi 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 NroFactura , IdClientes_Fact, Tipo_Vta_Fact t_fact_deta Nro_detalle, Nro_Art_Deta, T_Precio_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... Muchas gracias. |
|
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Enviado: 25/Junio/2019 a las 19:32 |
Buenas, gracias de todos modos, seguramente no me expliqué de la mejor manera.
Dejo como llegué ha hacerlo. Dim vNro_Art_Deta As Variant Dim vPvta1_Art As Variant |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Enviado: 25/Junio/2019 a las 19:57 |
Esa es una forma perfectamente válida.
Otra manera, que ofrece otras ventajas (e inconvenientes):
|
|
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Enviado: 25/Junio/2019 a las 20:10 |
Gracias Mihura, al case no lo manejo bien, no sabes lo que me costó llegar a eso. |
|
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5970 |
Enviado: 26/Junio/2019 a las 11:24 |
Hola andressf. SELECT CASE es similar al IF... ELSEIF pero más fácil de leer, según tu código: If vNro_Art_Deta = vCompruebo Then 'SI EL CODIGO EXISTE? ENTONCES QUE? Select Case VTipo_Vta_Fact Case "Pvta1_Art" 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 Case "Pvta2_Art" Me.Precio_Deta = Me.Pvta2_Art Me.T_Precio_Deta = "Mayorista" Forms!f_factura!F_Factura_Detalle!vend_fact_Det = Forms!f_factura!Vendedor Case "Pvta3_Art" 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 Select Else MsgBox "CODIGO NO EXISTE", vbInformation, "AVISO" End If |
|
Saludos desde Tenerife.
|
|
andressf
Habitual Unido: 12/Abril/2011 Localización: Argentina Estado: Sin conexión Puntos: 147 |
Enviado: 26/Junio/2019 a las 19:31 |
Hola AnSanVal, gracias! la verdad que viendolo ahora es mucho más facil de leer y menos engorroso. Muchas gracias, lo pueden cerrar. Tengo un para de problemas asique seguro estaremos en contacto. |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |