I have a start and end date fields plus a txt box called wDays.
I'm trying to make sure the user puts in both dates but end cant be earlier than start and vs versa....
If not provide a message as to which is missing....
If alls well do the calulation with the module "GetWorkDays"
I f everything goes bad, dont save the record at all!
I have this behind a cmdButton. Used to unhide the wDays field because it displays #error otherwise...and to do the calculation... with the BeforeUpdate
Private Sub Command8_Click()
If IsNull(Me.sDate) Then
MsgBox "Please enter a Start Date"
ElseIf IsNull(Me.eDate) Then
MsgBox "Please enter a End Date"
Else
If Me.eDate < Me.sDate Then
MsgBox "End Date cannot be earlier than the Start Date"
Exit Sub
End If
End If
Me.Requery
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim myDays As Integer
If IsNull(Me.eDate) Or IsNull(Me.sDate) Then
Me.wDays.Visible = False
Else
Me.wDays.Visible = True
myDays = GetWorkDays([sDate], [eDate])
Me.wDays.Value = myDays
End If
End Sub
Any help would be really appreaciated because I have tried many combonations of code placement to get it working correctly....
I re-arranged things in the code to try to make it clear as to whats going on. But I'm at a loss to why the qry will only run once. When I open the db and add a new record it works, when I try to add the next one, it doesnt....
Is this an issue with Access or is it me? I stripped it down in case someone could look at it....
The a mousehook module in the db to prevent scrolling..
I created a query, and in field one i have a list of SKU codes (of which many are repeats), and in field two I have their corresponding volumes. In Fields 3-5 I have some various algebraic calcuations.
Now, in order to get a sum of the volume with only one SKU code listed in column 1, I use a group by on the SKU code, and a sum for the volume. When these are the only fields in the query, this works great. But when I add in the other calculated fields, the run query returns to showing each SKU code multiple times, and shows the volume and the calculations correctly. When I change the other calculated fields to Sum, then I get the aforementioned overflow error and no output at all.
Is there a way to both set it so that the output is only showing one SKU code, the total volume for that SKU, and the weighted average output of the other calculations in one query?
Here is what I want to do: I'm organising 15 training events, for 60 participants. These 15 training events fall in three themes: running, swimming, cycling. So there are 5 training events held on running, 5 on swimming, 5 on cycling. Each has on average 4 participants, but in reality, some have 6, some 2.
Everybody has to attend each of the three themes, so three of the 15 events.
I have a table called "events". each record contains data on a certain event (place, date, speaker, participants,...)
I have a table of 60 participants, with: their names, their age
Per event, I want to indicate who is participating, with a combobox. Now, the number of participants per event is not limited, so it could be 5 or 30.
Also, it could be nice if the combobox content is limited to the people that haven't been selected yet. So if John Doe is already taking the swimming training in event Swimming1, if I pull down the list of participants in event Swimming2, I do not want to see John Doe's name there.
Also, I want to calculate the average age of all the participants of a certain event.
I want to print out two reports: 1) per training event, an overview 2) per participant, an overview of all the events he has inscribed to
How do I go about this? Currently I am using 30 comboboxes, and 30 fields in the table "events", called participant1, participant2, participant3,..., participant30 But it is becoming messy, and when I ask for a report per participant, he only gives me the details for the people in participant1.
Right this is a fundamental issue for me here and I cant get my head around the problem!!!
The database I am working on is a database which records the training courses (run by the NHS) which staff at GP surgeries in our area have attended and acts as a booking system for them.
So we have the obvious tables - one for courses (including the name, cost, etc) and then one for course dates (linked by courseID) and one called training_record which contains who went to what when.
It seems simple but it has come to my attention that for example, "Course A" may in fact take place over 2 days, which could be a week apart. The surgeries are billed in one invoice, i.e. Course A would be £100 for 2 days.
How would you recommend I have this data? I can see all sorts of confusion arising... :(
The only way I have thus far thought would be to put each one in like:
course name: cost date Course A: day 1 £100 - 29/10/2005 Course A: day 2 n/a - 6/10/2005 Course A: day 1 £100 - 01/11/2005 Course A: day 2 n/a - 08/11/2005
However this seems long winded as some courses may be a few days long and this means adding each person to multiple ones!!!!
Any assistance with getting my head around this would be ace! :)
Access front end, SQL Server backend. ---- I have a continuous subform (part of a tab control on a main form) whose name and sourceobject are both "sbfCannulae". There are about 10 fields on the subform, and all are bound to fields in a table. The primary key of this table must be generated by combining two other fields, which must happen just before the record is saved. (I know calculated data should not usually be saved in tables, but trust me. In this case it is necessary.)
Right now the user COULD enter data into the primary key-bound textbox, but since the user is me, I make sure not to do that.
When I enter data into all fields except the primary key, I get an error because the primary key cannot contains nulls...of course.
I use the following code to tell me when an event has been triggered.
Code associated with sbfCannulae: Option Compare Database
Private Sub Form_Activate() MsgBox "cann activate" End Sub
Private Sub Form_BeforeInsert(Cancel As Integer) MsgBox "cann before insert" End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer) MsgBox "cann before update" End Sub
Private Sub Form_Current() MsgBox "cann current" End Sub
Private Sub Form_Dirty(Cancel As Integer) MsgBox "cann dirty"
End Sub
When I enter data into a new record, the Dirty event is triggered, but I cannot for the life of me figure out how to trigger any of the other events. No combination of values and nulls in any fields, clicking in other tabs, clicking to other records, or using the navigation buttons will ever trigger any events but Dirty.
The only msgbox I ever get is the one giving delivering the SQL error about the primary keys not taking null values.
I request your comments please... I have a form with bound and unbound fields and have linked the [Event Procedure] on these fields base on there respective action.
Now when I open or click a particular field with the event procedure, the procedure is names are like - Private Sub Rate_Exit(Cancel As Integer) or Private Sub Quantity_Exit(Cancel As Integer)
but others events are name like Private Sub Quantity_Enter() simple. Why is that ms access (Cancel As Integer) uses only for specific events only.
I have a main form that calls several other forms for the user to input data. When the user closes one of the sub forms I would like to know what event is fired when the main form gets the focus back. I have tried several different events and can not figure out which one will work. Hopefully someone knows the answer I'm going crazy tring to figure it out, oh wait I'm already there.
I have a database in which people add little bits to different fields as they go. For instance, person 1 puts in appointment, person 2 verifies info for the customer, person 3 checks the customer in, person 4 takes their money. What I am trying to do in a form is track the time when each department accessed it, and which user. I can do this on a new record, but for some reason, I can't get the event properties to work correctly on my form. I have a field for each department set aside for when they update their part of the record. What I am trying to do is, when the record is updated, having the time autopopulate the field.
Example:
Appointments enters |DATE OF APPT| |TIME OF APPT| Appointment timestamp should = time()
Reception enters |PULL TAB#| |CHECKED IN y/n| Reception timestamp should = time()
Cashier enters |AMOUNT COLLECTED| Cashier timestamp should = time()
All of these fields are on the same database (I have 2 linked tables: Customer demographics and appointments linked one to many by account # for the customer), and obviously, there's a lot more to it, but this is just a short example of what each department will enter. Appointments starts the appointment, so their timestamp will work, as they are starting new record. However, all of the following departments will be adding to this appointment record. When the other departments open their form with the fields in which they will be filling out, I want it to timestamp when they update the record as well as inserting their login "currentuser()" into the "updated by?" field for each department. For some reason, when I put time() into the event portion the field, it doesn't work. I tried it on dirty, on exit, after update, and it just doesn't update. Am I missing something?
i have a calendar that works like a charm, but i would like to add the possibility to add recurrent events in it. for instance if a user has to perform a task at a choosen time schedule, it is shown in the agenda, like each week or each two weeks or each month. Anybody any idea how i would aproach this problem or has a sollution?
I try to implement a function that looks for broken references in my Access project, so that I won't need to modify the needed references for every workstation. Here's my problem: Where could I put the call of this function so that this code will run before trying to compile the forms and, as a result, avoiding the compile error that access pops-up when a reference is broken or missing.
I have a series of events that have a start date and an end date. How do I write an append query to append an event to a table as an individual event for every day in the given range?
I have a split, shared database in which the Before and AfterUpdate events on my forms are not working at all. I tried setting a breakpoint to verify this and, sure enough, they are not firing.
Does anyone have any clue as to why this may be occurring?
Thanks so much for the help. I have tried searching the forum with no luck.
I have a form with a number of controls with code behind - this works as required.
However, recently I decided to use a tabbed control to hold the controls and simply cut/pasted these control onto one of the pages of the tab control. The events now no longer fire as they did and I have no functionality on the form - the code still exists in the design of the form though..... any ideas?
I have a form where I want to validate enties before moving off the record.
I put my validation in the BeforeUpdate event of the form. If validation fails, then I set Cancel=True. So far, so good.
But if the user closes the form (either with my close button, or the standard close button), or presses 'Page down' to move to the next record, then even if validation fails, the form will close (or move record). What I want is for the user to be left with the form open, on the current record.
Ii there such a thing as events fired by Navigation? I have a Form displaying records in a Datasheet which has a Navigation control and I need to be able to detect when the User selects various parts of this control.
I am just starting find my way around Microsoft Access However I am currently stuck on something to do with table events (data macros).I added a Before Change and After Update macro to a table and added a RaiseError method to each of them.
I tried to update a record in the table. A dialog appears corresponding to the Before Change method. I deleted the Before Change method and then once again tried to update the table. No dialog box appears The After Update macro does not seem to fire.I tried all the other "After Events" and nothing seems to fire.
I have a table, part of which includes a [start date] and [end date]. I need to be able to plot a graph that will show, for each month, how many projects were still open. they will at the start of the month have a [start date] but no [end date]. I have created another table that holds the date for the first of every month in the range that I am intrested in. I suspect I need to use a subquery in here somewehre but cant get my brain around it :(
Does anyone know of a good resource (thread? website? whatever..) where i could learn the basics of programming Events? I'm not looking for anything too advanced, just the basic stuff that one needs to design a user friendly database.
I use the events afterInsert of a Form frmA and the onChange of a field in the same form in order to make some changes to another Form frmB.
Everything goes as expected when the field (with the onChange event assigned) of an existing record changes. The problem starts when I add a new record which triggers both AfterInsert event (desired) and onChage event (undesired).
Is there a trick to separate the two events? Basically I want to call a Sub when the data on the field change (onChange) and a different Sub when I add a new record (AfterInsert).
In my database I have module that checks if tick box is True and then closes all the forms and kicks the user out of the database. However in most of my forms, there is a custom Save command in the On Click of cmdSave button and the Form_BeforeUpdate. The save requires certain things to be true so naturally if a user has made a change to a record, the form won't allow you to close it if you haven't saved your changes or undone them.
Is there anyway I can get my module to bypass certain events in the form?
I'm using Access 2007..I have a table that contains transaction records from a bound form.When the user enters a certain type of transaction, I create a corresponding transaction in the after insert event.
Example User record - tranId = 1, tranAmt = 10, tranType = DISB, tranAssocID = 0 My record - tranId = 2, tranAmt = 10, tranType = RECV, tranAssocID = 1
When the user deletes a record, I want to delete my corresponding record using the tranAssocID ( delete * from tran_tbl where tranAssocID = (the tranID of the user's record)
Problem: 1) I don't know how to save the tranID of the users record 2) I don't know how to reference the saved tranID in the delete statement.
I'm using the before delete confirm event to try to save the users tranID to no avail.I'm using the after delete confirm to delete my record in a case statement - acDeleteOK...I tried to save the value of the ID in the form (Me.tid) to a public long variable, a hidden field on the form, and a temporary variable to no avail.
I have a parts order form (FrmORDER)with a list of parts selected stored in it. e.g Part #, Part Description, Qty, Price etc
I also have assemblies stored with the same detail that are composed of individual parts.
What I would like to do is
Open formA if I do a single click (to select a new part or assembly) Open formB if I do a double click (to open the contents of the selected assembly in the order form
It would seem that the following series of events occurs
When the user double-clicks a control other than a command button: MouseDown → MouseUp → Click → DblClick → MouseUp
Hence I can't actually open formB with a double click unless I remove the single click event.