Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Ayuda urgente en access!!!

Estas en el tema de Ayuda urgente en access!!! en el foro de Bases de Datos General en Foros del Web. Alguien me podría ayudar diciendome si es posible hacer una multiplicación de un campo por otro que está en tablas distintas. La cuestión es que ...
  #1 (permalink)  
Antiguo 02/07/2010, 10:52
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Ayuda urgente en access!!!

Alguien me podría ayudar diciendome si es posible hacer una multiplicación de un campo por otro que está en tablas distintas. La cuestión es que necesito establecer el valor del IVA primero. Que el usuario luego pueda cambiar ese valor y se aplique a las futuras multiplicaciones. Más claro:

Primero establecer el porcentaje de IVA

Luego en otra tabla tener varios precios que se puedan multiplicar el precio total de un producto por el iva ya ingresado y asi poder generar varios registros.

Luego si el iva aumenta en algún momento o disminuye, tener acceso a cambiarlo y continuar con las operaciones.

Mi duda más importante es: cómo podemos multiplicar campos que no están en la misma tabla sino en distinta tabla???

Gracias por su ayuda, espero comentarios
  #2 (permalink)  
Antiguo 09/07/2010, 08:16
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayuda urgente en access!!!

Hay varias formas. De hecho si cruzas las tablas sin más verás que puedes multiplicarlo. También podrías usar una constante. Pero yo, en estos casos, para mantener un histórico, prefiero relacionarlos. Me explicaré.
Yo tengo una tabla con IVA, que es un porcentaje, pero piensa que el porcentaje cambia, ahora ha subido del 16% al 18% en el tipo general.
Yo creo una tabla IVAS con idiva, tipoiva (general, reducido, superreducido), valoriva (campo de tipo numérico), periodoiva (aquí guardarás el número correspondiente al idperiodoiva de la tabla de la que ahora te hablaré).
Otra tabla de periodoiva con idperiodoiva, finiciovig, ffinvig. Cada período iva correspondería a las fechas en que se mantiene.
Luego en la otra tabla guardo en un campo llamado ivaaplicado el número correspondiente al idiva (con ello tengo no sólo la cantidad sino también el tipo, etc.) y en otro campo el precio sin iva. De esa manera, siempre podrás obtener el precio, el iva aplicado en su momento y el precio final (que será calculado). De ahí, como te digo, sacarás el precio haciendo el porcentaje. Te será fácil poner que añada el idiva que desees por defecto, de manera automática y sin tener que seleccionarlo, ahora el idiva de 18, es decir el general desde esta fecha.
Prefiero orientarte en esto para empezar.

Última edición por jurena; 12/07/2010 a las 02:25
  #3 (permalink)  
Antiguo 14/07/2010, 08:47
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente en access!!!

Gracias por tu respuesta, podrías ayudarme con el procedimiento exacto, con lo que me explicaste, de como hacer para multiplicar campos de otras tablas y poder agregar más registros o editar campos nuevos, es posible hacer esto?
  #4 (permalink)  
Antiguo 14/07/2010, 10:25
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Ayuda urgente en access!!!

En realidad, no sé qué me preguntas, porque tampoco sé lo que conoces de Access, si sabes relacionar tablas, si sabes hacer consultas, si sabes crear formularios y subformularios,
Lo primero que tienes que hacer es relacionar las tablas por un campo, normalmente es el autonumérico, campo clave en una tabla que está relacionado con un numérico de la otra tabla.
Imagina esto (solo he puesto algunos campos):
ivas
idiva | tipo | valor |
1 | 1 | 18

precios
idprecio | precio | ivaaplicado
1 | 450 | 1

Como ves el iva aplicado es el idiva de tabla ivas.
sacar el precio final es tan fácil como hacer un inner join entre las tablas
SELECT precios.precio, ivas.valor, (precios.precio* (ivas.valor/100)) AS iva, (precios.precio + (precios.precio* (ivas.valor/100))) AS preciofinal FROM precios INNER JOIN ivas ON precios.ivaaplicado = ivas.idiva

Creo que así. No lo he probado.

Etiquetas: access
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:52.