I was creating a program using ms access. consist of 2 table of database called employee and userlevel.. in employee table have ID, name, username, password,userlevel, and others related employee profile.. and in userlevel table, it consist of admin level and normal user level.. Userlevel table allow to differenciate admin and normal user(employee) .. in my program each employee having their own loginID and pass to access their own data.. the problem with my program now is displaying the data that belong to the logged in employee. its mean that it only show the data that owned by currently user that logged in..
How to write Sample Code to Retrieve the Current User Name?I have done for short name only and I need it full
Private Declare Function apiGetUserNameWindows Lib "advapi32.dll" Alias _ "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long Function fOSUserName() As String Dim lngLen As Long, lngX As Long Dim strUserName As String
I am upgrading an Access 2000 system to 2007 and replacing user toolbars with Ribbons.I have a strange parsing error that I think is not my error.
I have placed the following control into a group:
<control idMso="GroupPrintPreviewClosePreview" label="Close Preview" enabled="true"/> and "the system" rejects it with Error Code 0x80004005 Element <group> is not expected in <group>I
t turns out that it is finding the word Group within the double quotes and interpretting is at part of the XML syntax.
Change to another idMSO and the problem goes away. Same happened with another control that had the word Group in the id.
Has anyone used this tool for customizing ribbons? http://pschmid.net/index.php Looks like it might be a time saver.... But no examples actually showing Access.
I have a button which runs some VB, it brings up various message boxes as it prints a report to file, runs a query etc etc. I am hoping to display a basic form, which simply covers most of the screen and states "Please Wait" or something. I have already built the please wait form (frm_please_wait) and have set it to pop up. I have added it to my VB to open before I run the queries/output to file however the messages still appear on top..
How can I force the form to display on top of everything else in access ( it is only visibly for a few seconds, depending on the spec of the pc).
As I'm sure many of you know, Access '07 no longer supports user level security.
My question to you all is, how do you secure your DB's in '07? I just built a DB that stores patient data, and it needs to have some type of user authentication to gain access to it.
I know I can assign a general password to it, but I need each user to have their own username and password.
Why the new format .accdb does not support user-level security? I know Access 2007 still supports the old format .mdb, but why is it deprecated in the new one? Does microsoft want us to buy SQL Server instead of Access to support user-level security?
After learning that 2007 has no User Security roles, and not having Sharepoint or a SQL server, I decided to work starting with Bob's Simple Login script located here (http://www.btabdevelopment.com/main/AccessSamples/tabid/54/Default.aspx).
I've got it functioning fine and incorporated some of the options also made available here (http://www.databasedev.co.uk/login.html).
You'll see the code below used to store info in a hidden form that is holding the username and permissions level. I'm looking to try and store this information into a global variable instead of a hidden table.
I know that I could define it as a variable right here in the code, but how do I define it as a Global variable so I can use it later in the application in the VBA?
Private Sub cmdLogin_Click() Dim strUser As String Dim strPWD As String Dim intUSL As Integer
strUser = Me.txtUser If DCount("[UserPWD]", "tblUsers", "[UserName]='" & Me.txtUser & "'") > 0 Then strPWD = DLookup("[UserPWD]", "tblUsers", "[UserName]='" & Me.txtUser & "'") If strPWD = Me.txtPwd Then intUSL = DLookup("[SecurityGroup]", "tblUsers", "[UserName]='" & Me.txtUser & "'") Forms!frmUSL.txtUN = strUser Forms!frmUSL.txtUSL = intUSL Select Case intUSL Case 1 DoCmd.OpenForm "frmHome", acNormal Case 2 DoCmd.OpenForm "frmHome", acNormal, , , acFormReadOnly Case 3 MsgBox "Not configured yet", vbExclamation, "Not configured" Case 4 MsgBox "Not configured yet", vbExclamation, "Not configured" End Select DoCmd.Close acForm, "frmLogin", acSaveNo Else If MsgBox("You entered an incorrect password" & vbCrLf & _ "Would you like to re-end your password?", vbQuestion + vbYesNo, "Restricted Access") = vbYes Then Me.txtPwd.Value = "" Counter = Counter + 1 If Counter = DLookup("[OptionValueNum]", "tblOptions", "[OptionsID]=1") Then MsgBox "You have entered an incorrect password too many times. This database will now close!", vbCritical, "Wrong password!" DoCmd.Quit End If Else DoCmd.Quit End If End If End If End Sub
Has anyone seen any good links to explain why Microsoft discontinued User Level Security in Access 2007? If so can you post the links. There is a debate at my work and I want to get all the infomation possible. It is my understanding that the beefed up the encryption on the standard password so the did away with ULS.
I have a form that when a user fills out the information and select a submit button. It brings up that record in reports in print preview for them to print. The issue i am having when the user enter the information, the report does not show any data until i refresh it. I tried include me.refresh,etc. No luck. I attached the code to make things simpler.
Private Sub Form_BeforeUpdate(Cancel As Integer) If Me.Dirty Then If MsgBox("Do you want to Submit this Contract Form? Clicking No will DELETE ALL ENTERIES,and Log You Off", vbYesNo, "CONTRACT FORM") = vbNo Then Me.Undo Cancel = True Else If MsgBox("PRINT FORM", vbOKOnly, "CONTRACT PRINT") = vbOK Then DoCmd.OpenReport "rpt_Contracts_Main", acViewReport, , "[CONTRACT_ID]=" & Me!CONTRACT_ID End If End If End If End Sub
The reports comes up, but i have to manually refresh it to show the data that was enter.
It's been some time since I wrote the following, which takes a string made up of "Lastname Firstname Telephone" and writes it at a specific time in Outlook. It uses Late binding so it works across all Oulook versions.
Code: Public Function funOutputAppointmentToOutlook(dtmDate As Date, strSubject As String) Dim olApp As Object Dim mNameSpace As Object Const olFolderCalendar = 9 Const olAppointmentItem = 1
[Code] ....
I would like to first check the specific Outlook time slot whether the string exists already and only if it does not exist to write it.
The user wants all the non-basic functionality of the ribbon hiden. To accomplish that by doing the usual stuff:
File >> Options >> Current Database >> Allow Full Menus (unchecked)
Everything worked as expected, but we came across an issue. The user needs to open a report in "print preview" and they need to be able to export their report to excel. The "print preview" ribbon tab is there, but it is not showing the "Data" area, where all the export options are.
How can I do this without a costume ribbon?
Maybe there is a way of manipulating which areas of the ribbon/tabs/areas/controls are enabled from VBA?
I have a form and I want show a message on the form when the it is locked as another user is editing the data in a particular record.
I know the record selectors show the records lock status but it a very tiny symbol which will mean nothing to the users of the database and anyway I don't want record selector bar on the form. How I would do this???
What I really need is for when the form opens, it looks at todays date, then matches current user and then goes to that record for today, if no current user there, then will goto new record..
i know, sounds complicated, and probably is really easy, but my heads not with it today, as about to get drunk as its my 40th, and got people ringing and texting and still trying to get this done....
I've included a copy of this database, named Timecards..
So I have this relatively simple problem: I need to create a button that once clicked will open the Save As dialog box and allow the user to save a copy of the current database where he wishes. The filename should contain todays date in DDMM format along with some pre-set text e.g. DDMM PresetText.
How would I set up an Outlook email using a list of recipients from an Access table? I'd like to be able to run this from Access 2007 and not Outlook. However, once the email is set up, I'd like to be able to go into the email and add subject, body, etc. before sending the email.
I have a parameter query built and am curious if anyone knows of a good way to allow the user to define which fields are displayed in the query results.
i tried looking for other threads discussing this without any luck.. not sure if it was my search terms or what. thanks so much for any help..
I have a command button on a form which loops through pages on a tab control and constructs an SQL string to insert a new record into a corresponding table (each tab has it's own separate table)
The tables are linked via a common account ID (an autonumber on a separate 'Core' table, the latest record for which is generated earlier in the code; this section creates a linked record in each of the other tables)
I've used a naming convention in each page such that each control name and it's corresponding field name in the destination table are the same (apart from the first 3 characters which I use to identify the control type, i.e. "chk", "txt" etc.)
For one of my pages, the insertion of the new record keeps failing. I've gotten it to work once or twice but only by randomly changing some of the values on the form (checking / unchecking boxes or keying data into random textboxes etc.) But I can't identify why it works sometimes and not others?
The other 3 tabs/pages insert records with no issue, every time.
I've tried debugging but I don't get any error message when I execute the constructed SQL; there are no apparent control violations and all of the relevant fields are correctly named & referenced. The only 'required' field in each table is the common Account ID, which is present, correct & not duplicated, so omitting null / empty fields or passing empty strings / values for the remaining fields shouldn't be an issue (?)
I can only assume it's a problem with a value being passed somewhere but what's stumping me is that on the other pages, it inserts the records exactly as expected (whether data has been provided or not)
Stepping through the VBA, it looks like a record should be inserted - but when I check the table, there's nothing there?
Code: Dim pge As Page Dim ctl As Control Dim strSQL As String Dim strSQLFields As String Dim strSQLValues As String
There seems to be some inconsistency in controlling the ribbons in Access 2013.I have managed to use the USysRibbons custom table and XLM to hide the ribbon in one app, but when I set the same config up in another db's the ribbon wont hide.
I've then made an empty db and tried in this and it still wont hide.What are the "current db" setting that must be set to make the ribbon hide?
"how to COMPACT the DB by introducing delay of 10 seconds and then close the DB".In the Database, I'm able to accomplish the "Compact" the database using the function below.
Function Compact() SendKeys "%(FMC)", False End Function
As my DB is quite huge, the Compact action takes around 10 seconds to complete.Now, i would like to Close the Database after Compacting the DB. I tried including "DoCmd.Quit" in the function. The commands in the function, closes the DB but the Compact function doesn't seem to have executed as it needs 10 seconds to complete.
Function Compact() SendKeys "%(FMC)", False DoCmd.Quit End Function
how to introduce this delay of 10 seconds and then close the DB.