Calcular en formularios

Necesito realizar las siguientes operaciones y se que es programando pero no he podido por favor de antemano. Gracias
Tengo una base de datos en access 2007 entre ella hay dos tablas que es donde necesito que me ayuden.
La principal es "Detalle de Vuelo" y tengo otra llamada PR
Detalle de vuelo es la principal donde van a ingresar los datos de los empleados que desean vuelos. Allí tengo una página donde llamo dos campos de mi tabla pr que son numero de pr y valor. Necesito programar que al crear un vuelo nuevo me vaya restando el valor de el tiquete a la respectiva pr que escoja y que cuando ya no allá más plata me salga una alerta que ya no hay más plata en esa pr.

3 respuestas

Respuesta
1
Para restar el valor tienes que colocar algo así, pero con los nombres que utilices:
dim a, b, c as double
a = me.TICKET
b= me.PR
c = b - a
Ahora como ya tenemos la resta la introducimos en la tabla
dim SQL as string
SQL = "UPDATE TABLA_PR Set PR = " & a & " WHERE CAMPO_PR = " & Me.ID_CAMPOPR
DoCmd.RunSQL SQL
Ahora ya tendras restado el valor.
Si el valor es menor de alguna cantidad mostrar un mensaje:
if c < 10 then
msgbox "CANTIDAD LIMITE SUPERADA"
end if
*************************
Existe otro método que en vez de ir actualizando lo que hace es ejecutar una consulta que resta los vampos sumados de tickets con el valor PR, así no tenemos que modificar ni actualizar tablas, simplemente es ejecutar una consulta, no seria necesario código para la resta, para el mensaje si.
*************************
Para explicarlo más claro necesitaría saber los campos y las tablas que usas.
1. SQL = "UPDATE TABLA_PR Set PR = " & a & " WHERE CAMPO_PR = " & Me.ID_CAMPOPR
DoCmd.RunSQL SQL
¿En esta linea de código PR no seria igual al resultado de la resta osea a " & c & " o porque igual al contenido de el valor de tiquete como me indicas?
2. if c < 10 then
msgbox "CANTIDAD LIMITE SUPERADA"
end if
En esta parte no me podri salir porque son muchas PRs y se me complicari la validación ya que a todas les dan valores diferentes.
Tablas que utilizo:
Detalle vuelos
(Id, Num_pr, valor_pr, Valor tiquete) muchos campos más pero estos serian los primordiales para lo que necesito aquí no se crean las prs estas se crean el la segunda tabla
PR
(Id, Numero_pr, descripción, Valor, fecha limite) Por eso te digo que necesito también validar el limite de fecha y el monto que tenga cargado pero cada pr son muchísimas prs
Pues ahora me entero menos.
En la fórmula que te puse (1) si que es c en vez de a.
La tabla detalle vuelos sirve para que la gente introduzca (entre otros datos) el valor del ticket; ¿El numero PR y el Valor PR son automáticos?
También comentas que hay muchos prs, ¿pero con el mismo numero_pr? ¿O con números diferentes?
Que relación hay entre las dos tablas? Numero_pr = Numero_pr; valor_pr = Valor;...
Intenta explicarme que es lo que intentas hacer sin tablas ni campos, cual es el objetivo.
Respuesta
1
Tabla1
PR (Texto)
Valor (moneda)
Tabla2
Vuelo (Texto)
PR (Texto)
Valor (moneda)
PRPendienteConsumir (moneda)
En un formulario de la Tabla2 al incorporar Vuelo, PR y valor la aplicación buscará en la Tabla1 el valor que queda del PR y lo actualizará. En caso de no haber "plata" te avisará.
En el evento Después de actualizar del campo Valor incorpora este código.

Dim V As Integer
V = DLookup("[Valor]", "Tabla1", "[PR] ='" & Me.PR & "'")
If V - Me.Valor < 0 Then
    MsgBox "No hay plata"
Else
    Me.PRPendienteConsumir = V - Me.Valor
End If
¿El valor que utilizas en la segunda tabla es el valor de el tiquete o el valor que hay de pr?
El código que me enviaste es para trabajar es una sola tabla como tenia que trabajar en dos hice unas modificaciones y ya me salio todo gracias por tu ayuda sin ella no hubiera podido terminar. :)
Respuesta
Entiendo que en la tabla Detalle de Vuelo tienes los campos Empleado, Vuelo y Crédito y en la tabla PR tendrías los campos Vuelo y Precio. Al elegir un Empleado un vuelo tendría que buscar en la tabla PR el precio y descontarlo del campo Crédito ¿es así?
Gracias por responder ángeles, ahorate aclarare tengo varias tablas detalle vuelo, empleados, plan vuelo, pr, entre otras.
En pr solo tengo los campos de numero_pr, descripción, valor_pr, fecha limite, validación. En esta tabla solo es para ingresar nuevas pr ahora en tabla detalle vuelo tengo lo general como valor_tiquete, y muchos pero este es el valor que necesito allí llamo a las pr y en otro campo automáticamente me arroja el valor o monto que tiene esa pr. Ahora lo que necesito es que al comprar un tiquete este se reste al monto de la pr y que si en algún momento se cumple la fecha limite y el monto se acaba me salga un mensaje de alerta que no pueda cargar más a esa pr.
Lo siento, pero no me aclaro ¿puedes poner un ejemplo?
Esta base de datos esta abierta para que introduzcan los datos respectivos para dar un vuelo a un empleado.
En tabla detalle hay un botón que nos lleva a tabla de pr para crear pr respectivamente ahora te explicare con un ejemplo como funciona lo de pr.
Al usuario que crea los vuelos se le da una pr para viajes otra para biaticos así respectivamente por esta razón tiene muchas pr pero cada una tienen un monto respectivo.
Ejemplo: la pr (3459764r) tiene de monto $5000000 para vuelos esto se encuentra en pr
ahora en tabla de detalle vuelo tengo un texbox desplegable que me muestra el listado de pr que tenemos si escojo varias veces(3459764r) lo que quiero es que al cargarlo al usuario por se le vaya restando a ese valor lo de el valor total de el tiquete así cuando ya quede poca plata y lo vuelva a cargar no me deje porque ya queda poca y la fecha limite también se acabo
He estado estudiando tu pregunta y... no se, o no te explicas bien o yo no lo entiendo, las dos opciones son posibles.
Tengo una tabla Usuarios, con los campos IdUsuario y IdPr, otra DetallesVuelo que nos da, por la IdPr el precio del vuelo y otra PR que nos da el crédito disponible para cada IdPR. ¿Es así?
Perdona por mi confusión, pero es que no veo el planteamiento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas