Modules & VBA :: Determining Number Of Users Of Split Database
Nov 1, 2013
We have a database that is split. Every user has their own front end (installed via a .bat file so that the users always have a local copy of the most recent version), linked to a shared back end on a server. This seems stable and functional for us so far.
However, because our users are geographically separated, I don't actually know how many folks are using the database. I know the folks who contact me, but everyone in our company could use it if they wanted to.
For requesting funding, guiding future development, etc., I need to get some metrics:
Total number of unique users
Avg uses per day
Total number of simultaneous users (daily, weekly, and monthly maxes and mins)
What is the best way to get this info? Write user info and a timestamp to a table each time a front end is launched? Are there tools for monitoring this sort of information?
I have designed a database which I intend to split for multi-users to access from one front end icon on a shared folder at work. I have designed a form bound to cmr record table and on it a subform to another table where cmrs activities will be saved. The form has buttons to and blank controls.
User can create a new activity entry by typing into the blank controls and pressing the save button which saves to the activity table. the edit button extracts a selected records details (selected on the subform) from the activity table and populates the blank field for a user to edit and then hit save to save changes. The delete button deletes a selected record from the activity table. I intend to have multi-users either accessing, viewing and a possibly editing the same customer at the same time. The simultaneous viewing is essential but the simultaneous editing, though not desired is inevitably going to occur.
What I would like to know is:
1. Can you lock an individual record in a table or does the whole table have to be locked. E.g If Colleague 1 is editing Cmr A's record in Table1 can he lock it so Colleague 2 can view and edit Cmr B's record in Table1
2.Can Colleague 1 access/read Cmr A's record in Table1 to retrieve details toe the form controls if Colleague 2 is viewing or editing Cmr A's record in Table1
3. If record lock is possible, how can I initiate it in my example code below.Edit activity record Code
Code: Private Sub Edit_A_Click() 'Get Data to text box control With Me.R_P_Data_P_Subfrm.Form Me.txtrID = !rID Me.txtrID.Tag = !rID Me.txtrefNo = !refNo Me.cmbrpc = !rPC
I split my database and put the BE on a shared network folder. The users can access and change data on the database fine as long as someone else isn't using it. If another person is logged on and using the database another person will be able to open the database but if the new user tries to click on a button or go anywhere besides the main menu it says there is already a user in the database and wont allow the user to go anywhere. How can I fix this?
I have a split database consisting of an ACCDB backend helf on a shared drive, and a local ACCDR frontend distributed through email. I recently distributed a copy of the ACCDR to a user, and she says that the main menu opens fine, but when she clicks a button to open a form, the form opens but is completely blank. I've googled some possible causes for this (e.g. on Allen Brown's website) and none seem to be relevant, or would explain why this started happening all of a sudden. I can't reproduce this bug at all.
I have two separate database files, a front end with all my forms and a back end with all my tables. The backend is stored on a network drive, is there any way of being able to store the frontend on the drive with the backend? Users do not use the actual computer to store information or access files, everything is usually saved on the network drive. I have created a shortcut that launches the front end database in the read only kiosk mode.
I've got a database in Access 2007 that keeps track of client data for work. It's been working fine for about a month, and suddenly today other users can't change any information because the records are suddenly locked when accessed from their accounts.
I've already checked that they can't update forms, tables, nothing.
I've checked the database properties, it defaults to shared with no locks.
I've checked the properties of my forms - no locks.
I've double checked the permissions to the folder that the database is in - no restrictions.
I have split the database, with the back-end residing on the server. Only 1 other person is working in Access right now; she's verifying the data. Today she's working directly in the back-end, could this be the problem. If it is, I'm going to have to create a front-end for her quickly.
My problem is this...I'm working on queries and forms so that the scientists who will ultimately be using this application, won't be able to go in and inadvertently change something in the tables set-up. When I'm in the back-end main data table, it says I have 2723 records.
When I create a front-end query to query all the records in that table, it says I have 2160 records.
The input form that I created with most of the same fields as the query (created BEFORE I created the query...I'll have it pull from the query now instead of directly from the table) also says we only have 2160 records.
I am trying to split a number sequence (Ex. 25372-400-E10-0000-D0021) Where the third number in the sequence can be either 2 or 3 numbers/letters.
The idea is to have a query that will split this number into its individual parts. I have seen several forums about splitting two numbers and such but I can't seem to make that work when I need to create 5 columns from this one field.
I am using Access 2010 in a split database. The intent is to place the back end and associated linked files on a server and the front end on work stations for each user. The typical user will just be searching for information in the database not altering it. My current code re-links the tables once the path is known i.e. I have to hard code it into the global constant. Is there a way in VBA or utilizing VBA to read/write to an ini file (for example) that the UNC path would automatically be updated to a global constant in my current code that can be updated automatically based on where the back end is installed.
Global Const BE_DATABASE = "192.168.2.3FMCENFMCTABLES.accdb" Global Const BE_PASSWORD = "***********" Global Const BE_DATABASEPATH = "192.168.2.3FMC" 'used to open files Public Sub CreateDatabaseLinks() On Error Resume Next 'new Dim ws As DAO.Workspace Dim db As DAO.Database Dim td As DAO.TableDef
My database was working fine until I split the database and now I'm having issues with this function:
Code: Public Function OpenFirstAttachmentAsTempFile(ByRef rstCurrent As DAO.Recordset, ByVal strFieldName As String) As String Dim rstChild As DAO.Recordset2 Dim fldAttach As DAO.Field2 Dim strFilePath As String Dim strTempDir As String
[Code] ....
It's getting stuck on the "strFilePath = strTempDir & rstChild.Fields("FileName").Value" line. The debugger says that there is no reord. The strTempDir is correct. I am assuming that the issue has to with linking to the database.
I've been stumped for the past couple of days trying to discern a method for a form to determine that it's a new month and run a procedure and only run it on month change.
My initial thought is:
Open recordset move to the last record compare the month in a date field within the last record to the current month and run the procedure if the month is different.
I can't get this to work however and I'm not sure what I'm doing wrong. To be honest I typically fumble my way through VBA when it comes to opening recordsets. Here's what I got:
Code: Dim rs As DAO.Recordset Dim db as CurrentDB Dim strSQL As String Set rs = CurrentDB.OpenRecordset("FlightLog") strSQL = SELECT [txtDate] FROM [FlightLog]
[Code] ....
txtReqNumb and txtFltNumb are the values to be reset at the beginning of each month.
Am I on the right track and just have the VBA wrong?
I have a split Database into Back-End and Front-End. I want to hide the Access Customize Option in my Front-End. I have tried to make the Database ACCDE but the option still appears to Customize the Access Database.
I also want to know why is it that when i make a Database ACCDE - some of the codes are not working properly???
I have a split db with tables in the back end and my forms, reports, code etc. in the front end.
I encrypted the back end with a password. That worked fine.
I deleted and relinked my tables to the encrypted back end. That worked fine as well.
I have a function that will disable the shift key bypass. If I run that in my front end db then I can't save it as an accde because I can't get to the HOME screen. If I save it as an accde first then I can't run my 'disable shift key bypass' function because I can't get to the modules!
How can I secure a split Access 2010 database so that the user cannot execute shift bypass on the front end or make any changes to the code?
I'm wondering if there's any way to find out who has a database open.
I've saved the file as an ACCDE for the users and kept the ACCDB file as my working file. Whenever I make changes to the db I need to save a new ACCDE file on top of the existing one. In order to do that, I need to ensure no one has the db open. Half the time I need to track down 1 of 15 people to find out who it is that has it open so I can kick them out and save.
I don't have any login features, but could use the POD # that each cubicle has associated to their computer if Access allows that...
I have two related forms.One is a list of transactions and the other is used for both inquiry and adding new transactions. If the Inquiry form is just sitting in Add mode and the List form tries to open it in Edit mode, it won't open. Is there a way I can tell from the List form that the Inquiry form is in Add mode and either close it or tell the operator about the issue?
I have a client that is using a split database. I am working on an update to the program and need to transfer a table to the backend that has the correct structure and information included in it. My thoughts are to make a one time use program that transfers the table to the backend. I have seen DoCmd.TransferDatabase and DoCmd.CopyObject as possible ways to go.
I need to first generate a random number between 1-4.
Then I would like to use that number to pull that many records out of the database; the records pulled can be random, or whatever.
For example, we have 4 people and my goal is to choose a random # of records to pull for each person. So, for person #1, it might only pull 1 record, then for person #3, it may pull 2 records, etc.
Ideally, it wouldn't pull the same # twice when run for that "session".
After this, I'm hoping to generate all those results into emails (eg for person 3 it would generate 3 emails, etc)
Currently it's all done manually and I think it's doable with Access.
I have some code already for generating "1" email message, but do not know how to pull X number of emails all at once. (X is the random #).
I have a table in a database with 7 columns. The data is sorted by Date1 in descending order.
For each pid I want to put the sequence numbers First record has two conditions If string 2 is null then start numbering from sequence1 If string 2 is not null then start numbering from sequence2 If string 2 = string1 then Sequence1 = 0 Second record has two conditions Number sequence2 with the value 2 or 3 depending on the line one If string 2 = string1 then Sequence1 = 0 Else Sequence1 = next number Same condition for the rest of records
Lets say you have a table with an AutoNumber field.You populate it with 100 records.You delete the last 10 records (91-100)Now, I certainly know you can refresh the AutoNumber sequencing by compacting the database so the next record entered is 91.
My question is about NOT refreshing the AutoNumber sequencing.Lets say you DO NOT COMPACT and DO NOT refresh the AutoNumber Sequence.So, in that scenario, after deleting records 91-100 from the table, is there any programmatic way to determine that the next actual AutoNumber for that table will be 101?
creating auto number field in access database. I have an access database which 20 million records. When i am trying to add auto number field i am getting error "File sharing lock count exceeded".Then i did some google search and got some information like editing the registry file , in my case its not possible due to security restrictions.And another option of adding a code in VB immediate window also i tried but this option is also not working.
I have a DB with a field named "rec #" That receipt number is made up of a date,a letter, a 4 digit number and a 3 digit number. That receipt number might look something like this 01012006P0002001
01012006 date P letter 0002 4 digit number 001 3 digit number
What I want to do is to split this receipt number into the individual parts and create a field for each part. Can someone help me ?
If I place the program on a server, how can I tell which users are using the program? Also, is it possible for me to kick someone off the program without going to their computer?
Can anyone give me some ammo to tell me boss what a safe number of users of an access database is. It is a well built database that runs quickly and effiecently but I need to know at what point this will be put at risk. 100 users? 200+? I am running the database a FE/BE with the client sitting on each users pc and the BE sitting on a server. The network is 10/100.
I would like to limit the number of users connected to a shared database. Each user opens a database as the default 'Admin' user. Does anyone know how to do that without user authentication? What event occurs when a user opens the database? How to supervise the ldb file that manages shared usage? I suppose it should be something with the Workspace object.