Modules & VBA :: Creating Events Log - Compare Username On Report To Table
May 22, 2015
I'm working on creating an events log. In my table I've got a field that pulls the individual's username (that they use to log into the computer) and logs it against their log entry.
As part of my query (for my daily events log report) I'm pulling up said username.
I'd like to give access to the specific user to edit his (and only his) entries from the report, but I'm getting a type mismatch with the below code:
Code:
If me.UsernameID = "KraussLJ" Or Environ$("Username") Then
DoCmd.OpenForm "frmShiftLog"
DoCmd.FindRecord Me.ID, acStart, , acSearchAll, , acAll
Else
MsgBox ("You are not authorized to edit this entry")
End If
(before you ask, "KraussLJ" is our ops manager who insists on having final editorial control over the shift log before sending it higher up the chain)
I can get the msgbox to run if I block out the
Code : Environ$("Username")
, but beyond that I'm a little stuck. Should this be a dlookup function or am I overanalyzing this way too much?
I am making a dp for end of day sales, and i want to compare data in a table to the numbers inputted in a form and see whether this value is higher or lower. the table displays the target sales figures for each day, and the form allows the area mangers to enter in the current day figures.
I have a form where when the user clicks on the browse button then excel workbook filepath gets stored in the textbox as below:
Code: Private Sub CommandButton1_Click() ChooseFile End Sub Sub ChooseFile() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker)
[Code] .....
Please see attached the excel workbook. Everytime the user will select Excel workbook using Browse button. Now in that file , the first sheetname will always be "Summary". I want to perform the following steps:
1. So now I want VBA code to copy the data from columns "Withdrawn","Obsolete","Updated","LitRef" from Summary sheet to the Access table named tblSummary.
2. When the data gets copied in Access table then write So VBA code that will check if the data in field LitRef in table "tblSummary" is present in field "Reference" of Access table "tblliterature" . if its present then check in the tblSummary , which corresponding fields out of "Withdrawn","Obsolete" and "Updated" stores "Y" . 3. If "Withdrawn" field value is "Y" then change the status of corresponding record of tblliteraure to "Withdrawn" 4. If "Obsolete" field value is "Y" then change the status of corresponding record of tblliteraure to "Obsolete" 5. If "Updated" field value is "Y" then change the status of corresponding record of tblliteraure to "Updated" .
In my database (db) I have first create simple report which can print label for certain article in number of times user wants to. That part of db is marked as OldLabels in db that I have attached bellow.
Now, I plan to update this code via form NewLabels so user could choose more than one article and for each article he can define 'TimesToRepeatRecord' number. Unfortunately, I am little confused how to achieve this.. This is the old code (from Report) which have done most of the work
Code: Option Explicit Dim intPrintCounter As Integer Dim intNumberRepeats As Integer Private Sub Report_Open(Cancel As Integer) intPrintCounter = 1 intNumberRepeats = Forms!VPDEKLARACIJE!TimesToRepeatRecord
[Code] .....
I have also attached db named "Demo" so you could see the issue. [URL] .....
I have access table that stores details as attached. Just to give an example how data is stored , I copied data from Access table to excelsheet. Now I would like to create a report that will run when a button is clicked on the form and the vba code should display the last 7 dates from todays dates in the report along with all the data and colour the record Green,Amber and Red depending upon the Update Date and Target Date. If the Target date exceeds then that records should be coloured "Red" and if todays date equals to Date then the record should be amber and if greater than Date but less than Target Date then it should be Green.
So the report should display the last 7 dates records from todays date and the appropriate color of each record to let everyone know if its under target, meets target etc.
I've done some basic work with arrays.. writing array data to form list objects.. How to use an array as a data source for a report?
Would i need to create a recordset and populate it with the array, then bind the report to it ?
The reason I am asking is the previous developer here built every app using arrays and UDT's... the apps are completely disconnected from the data. Everything is loaded in to arrays..
If it's possible: Would like to use the Environ username somewhere in the db so the user only sees their records. Where would I place this? Or is their different code I should be using for this purpose???
I am trying to display upcoming events in an outlook style report.
We have 5 rooms available for bookings, the report loads fine for 4 of these but for whatever reason the Board Room report (Weekly Bookings Board Room) throws up a data mismatch error, and the datasource is exactly the same as the other reports but checking for a different room.
I have to write a code for my database,i have folder with files "pending Review" and a table with column "tblExcelLocation". when i run my database all the files from pending review folder goes to "tblExcelLocation" on a click of button.But,if the files already exists it should not insert those files and insert the rest.For this i tried to write a code but i think i m unable to do that .
Code: Loop through files in folder folderspec = "O:QA FilesQC ReportingPending Review" Set fs = CreateObject("Scripting.FileSystemObject") Set f = fs.GetFolder(folderspec) Set fc = f.files
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.
I am trying to use the Environ Username function, which i have working! But i want to compare the result with a Username Table to determine if they have access etc...
I'm trying to find a code that will allow me to check a value of a yes/no checkbox based on a username.
What I want to happpen is:
1. The code looks to see if the username that is entered in "txtUsername" field on the form matches the "empUsername" value on the table "tblUsers." 2. If there is a match, I want it to look at the value for the field "Admin" on "tblUsers" to see if the value is checked as true. 3. If the value is true, I want it to open a specific form "frmAdmin." If it is false, I want it to open a form "frmMain."
VBA codes not recognizing the Admin field and instead taking all users into the frmMain.
I have this below which some people cant run and some people can. All are using 2010 runtime version. Apart from the one guy who can run the macro who has full 2010 version. I have 2010 runtime installed and i can also run the macro fine.
Private Sub Option12_Click() On Error GoTo Option12_Click_err Dim CntlPay As String Dim Lable As String CntlPay = "D"
I explain briefly what is my task, When the user selects a different name from the list, I would like to link it automatically with the current Date() . I want to do it for every single name of the field so that in case I need, it would be possible to track for how many days that particular name of the list has been clicked.
I explain it better…My DB aims to monitor some procedures that have 3 status, these are:
On Working, Expired Revoked
Given the above I would like to track when every single procedure starts is “on working” and when it ends it. I want to automatically link every name of the combobox with an event that update a field of a table that monitor the beginning and to another that monitor the end (when another status is selected). After that my aim would be to calculate the diff between the two in order to have a number of the days that every single procedure is stuck into a single status. Do you think is something feasible? I hope to have explain it well… If you need I can try to explain it better
Is there a way, in access db or in its VBA, to capture the two columns of data from the combo box so that can monitor them?
I have wrote a database in access 2010 and the database works fine for me (I am the db admin with full control).I gave the database to a group in which most of them also have no issue with the file. They are able to use the database with no issues..One of those members gets an error message when completing the initial step in the database: (select a drop down item from a combo box)
Code: The expression After Update you entered as the event propoerty setting produced the following error: Object or class does not support the set of events
Something I cant seem to understand is why is this happoening on 5 machines but not on the 6th, they all have the same PC set up so there should be no error on one particular machine.
I have a form which has been in use for some time now, and works extremely well for all users; as part of a recent update to that form, I added a few events to various controls; most of them are message box prompts to remind the user to do something, but one is automatic entry of text into a memo field when another field is updated, and it is really this last one that is causing an issue.
There is a command button on the form which has an embedded macro, created using the wizard - it is probably the last, or one of the last few buttons that have a macro as opposed to VBA.
Essentially, when this button is clicked, I would like a duplicate of the current record to be made (thus giving it an Autonumber ID of its own), and if possible I would like this to be done without triggering any of the after update events on the form. Is there a way to disable these events and copy a record in its entirety, re-enabling the events at the end?
I have a table that contains many records of events. I've already created a multiple item form based on the table. My form contains 2 textboxes for input of a date range and a dropdown box to select "yes or no".
What I am having difficulty with is the query that will count the records by type insert it into the recordsource such that the multiple item form will appear like this:
Event Type| Count Input | 4 Output | 2 Update | 3
How do I go about doing so? I have been testing with this simple query:
Code: Private Sub Command8_Click() Dim Task As String
Task = "SELECT EventType, Count(EventType) FROM Final GROUP BY EventType;" Me.RecordSource = Task End Sub
But the column that contains the count keeps appearing as #name?
I'm using this control to allow users to select a date as input to a subform. The control is working just fine, but I have a problem, I need to reset the value to today on certain events (for instance a reset button to reset the values back to today). I have tried:
Me!calThru.Today and Me.calThru.Value = Date and calThru.Value = Date
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 form with a tab control and an option group (frame). When I built the layout of the contents of the first tab, the frame responded properly to click events. Now that I have copied them onto the tab control, the events seem to disappear.
(When I check the events for the controls, they are all still there, and selected by the Properties table).
I know it's probably one of the "doesn't use Access very much, does he" type of situations, so how to get these controls working again!
Here is the Form Code listing.
Option Compare Database Option Explicit Sub SetSourceDescription() If Me.frRunMode.Value = 0 Then Me.lblSourceType.Caption = "Source for this run will be the Extract .pst file(s)"