Microsoft access 2013 como puedo crear un calculo campo

Tengo una base de datos sobre el tema publicidad de mi empresa de tv tengo diferentes anunciantes donde su anuncio sale a unas horas diferentes y días diferentes es decir:

Ejemplo agencia lopez 3 pases al día en sus respectivas horas 15.00,18.00 21.30 h y duración anuncio 20 segundos

Según la ley publicidad son 5 minutos cada media hora tengo un campo creado de horas en lista con todas las horas del día que no si es correcto. Lo que quiero es que me busque todas las horas de pase de mis anunciantes y me calcule el total de anuncios en esa hora en total serian 25 anuncios en 5 minutos y si llego al tope de anuncios en esa hora que no pueda introducir más horas es decir que si ya tengo 25 anuncios con pase a las 15.00 que no pueda adjudicar más anuncios en esa hora.

1 Respuesta

Respuesta
2

Dejando sentado que no sé como tienes construido ni las tablas ni el formulario, supongamos que tienes una tabla Anunciantes, con Anunciante, fecha y hora. Supongamos que tienes un formulario donde vas a poner los datos. En el evento antes de actualizar, del cuadro de texto Hora, puedes poner algo como

If DCount("hora", "anunciantes", "fecha=date() and datepart(""h"",hora)=datepart(""h"", forms!anunciantes!hora)") = 15 Then
MsgBox "No se puede, ya ha llegado al número máximo"
DoCmd.CancelEvent
End If

Así, cuando vayas a poner los registros correspondientes al día de al fecha del sistema, te contará los que ya hay con la fecha del sistema, y las horas(por ejemplo, las 17. Cuando vayas a escribir el que hiciera el 16 con esa misma fecha y hora, te saldrá el mensaje y el cursor se vuelve al cuadro de texto Hora, para que lo cambies.

He puesto lo de Date, per puedes poner cualquier otro criterio, por ejemplo, par quete coja l fcha que estás escribiendo

If DCount("hora", "anunciantes", "fecha=forms!anunciantes!fecha and datepart(""h"",hora)=datepart(""h"", forms!anunciantes!hora)") = 15 Then
MsgBox "No se puede, ya ha llegado al número máximo"
DoCmd.CancelEvent
End If

Ok me has ayudado mucho te cuento como lo tengo tengo una tabla emisión con los campos numero contrato, nombre cliente, días de emisión este lo tengo como cuadro lista inicio contrato, final contrato como fecha hora, hora emisión como texto no se si seria mejor crear este campo como lista con todas las horas o como fecha hora

Si me pides la opinión creo que es mejor dejar los campos Fecha, como fecha corta y el campo Hora, en formato hora corta. Entre otras cosas, si luego quieres hacer un informe agrupado por fecha no tienes que andar "partiendo" el campo FechaHora.

Con respecto a los nombres da igual, lo importante en el código es poner el nombre del control a que te refieres y que aparece en sus propiedades-Otras-Nombre

La fechas no hay problema lo de la hora lo decía porque no seria una hora si no varias horas total de horas de emisión del anuncio por eso te comentaba lo del cuadro lista

Claro que puedes utilizar un cuadro de lista, el sistema que utilices es independiente de donde tome los datos, me explico, en los combinados o cuadros de lista, una cosa es el origen de la fila y otra es el origen del control, donde se guardan los datos.

De todas formas, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo. Si lo haces, en el asunto del mensaje pon tu alias Jombir, ya que si no sé quien me escribe, n i los abro.

Me ha servido mucho de ayuda ahora una pregunta más y no quiero molestar ya que estas de vacaciones y me sabe muy mal. Con el ejemplo que me pasaste solo puedo seleccionar una hora por anunciante como puedo hacer para seleccionar más horas por anunciante seria con un cuadro combinado múltiple

Con en el ejemplo que me pasaste solo puedo selecciona una hora por anunciante como lo hago para seleccionar más horas por anunciante seria un cuadro combinado múltiple y perdona ya que se que estas de vacaciones disfrutalas

Conque en el formulario que te mandé de ejemplo, en un nuevo registro pongas otra vez el anunciante y la nueva hora solucionado. Por ejemplo, en el registro nº 5 pones Pepe... 10:40, en el registro 12 pones Pepe 13:50... Da igual en que numero este el registro que hace el numero 15, lo va a ir contando independientemente del numero de otros anunciantes que haya en el formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas