 |
pavol Level: Sage
 Registered: 11-07-2005 Posts: 68
|
Re: how to share databases
when you package your project you will come to a step where it shows all the objects of your project. there you'll have to add the database files to your project. hope it helps, sry i couldn't explain better.
____________________________
"Intellectuals solve problems, geniuses prevent them."
-Albert Einstein
Pavol
|
|
31-10-2005 at 03:48 PM |
|
|
pavol Level: Sage
 Registered: 11-07-2005 Posts: 68
|
Re: how to share databases
or, you can connect to your database in the Form_Activate procedure using something like: | App.Path & "\Databases\yourdatabase.mdb". | in your connection string. this will connect to the database as long it's in your program's directory and the Database subfolder.
____________________________
"Intellectuals solve problems, geniuses prevent them."
-Albert Einstein
Pavol
|
|
01-11-2005 at 03:51 PM |
|
|
pavol Level: Sage
 Registered: 11-07-2005 Posts: 68
|
Re: how to share databases
sry about that, my mistake
____________________________
"Intellectuals solve problems, geniuses prevent them."
-Albert Einstein
Pavol
|
|
01-11-2005 at 04:21 PM |
|
|
yronium Level: Moderator

 Registered: 14-04-2002 Posts: 907
|
Re: how to share databases
Hello. My two cents:
speaking about install matters, I suggest you to set a system to intercept any "No database found" error. This way, at your first run, you can give user the ability to select an appropriate db, and store the path into an external INI file.
From now on your application can load the db path from the INI file at each startup. You could also give user the feature to select another db everytime he wants, e.g. by a menu voice. This way you can even manually change the path into the INI file, without affecting your app code.
If you dont' want to enable user to choose the db, you can instead include the INI file setting feature - and even the server mapping feature as well - in the setup process. I usually create a small executable that does all these simple tasks, and then launches the real setup file.
Speaking about runtime matters, you can of course read your db from several client machines at the same time, but you should set a lock system to manage the contemporary writing attempts. This because if two or more users try to edit the same record at the same time it can raise an error. You should prevent this by setting the LockType property.
Hope it helps.
____________________________
Real Programmer can count up to 1024 on his fingers
|
|
02-11-2005 at 09:56 AM |
|
|
yronium Level: Moderator

 Registered: 14-04-2002 Posts: 907
|
Re: how to share databases
quote: GeoffS wrote:
Hi,
QUOTE:- only 10 cuncurrent user access is allowed
....
There is NO LIMIT EMPOSED on connections to MSAccess in terms of what is "allowed"....
Hello. I spoke about this many other times. The main leak of Access is its query execution.
Access executes the queries in the local machine, while other db engines execute the queries on the server. So, as the server side method is faster (due to better performances of server machines and a reduced network traffic) other engines are more indicated to multi-user db usage.
There is no limitation on the concurrent users amount, and we can even connect a thousand users together, even with a huge db, and that could have no effect on db performances. The limit is given by the queries frequency.
Each query is slower in Access, but if you execute one at a minute, you can keep connected a lot of users together without any system slowdown. Say, if you have a password authentication archive, you can even keep a thousand users connected together, as it would be hard that everybody will send his authentication request together with another. The maximum concurrent log would be half-a-dozen users in the same millisecond, and this situation won't be frequent. In the school I work in we manage about 1500 users, and their password are stored in an .mdb file on a server. It works fine since eight years, as that server receives an average log request every ten seconds, so it perfectly fits its requirements.
Of course, the other dbs are not .mdb, but they are requested to execute queries much more often.
quote: BUT - it is recommended by Microsoft that if you are going to have much more than 10 connections that you should upgrade to SQLServer or MSDE (now SQLServer Express in the 2005 version).
Now, I agree up to a point: MSDE does have a limitation on five users. It means that the sixth client will be ignored, even if the cable is free of traffic and the server is idle since one hour. I hardly believe that Microsoft itself would suggest to switch to MSDE if you have more than 10 users. No doubt for SQLServer.
quote: A lot depends on how big the database becomes.
Again, it's not the size but queries' frequency that affects performances.
quote: ....if you have the slightest doubt as to whether or not Access will cope then go for MSDE(SQLExpress) - the advantage there is that IF it does get REALLY BIG, then you can upgrade to the full SQLServer without having to re-write the database or your code
Well, it's not hard the conversion from Access to SQLServer too. Access files are fully compliant to SQLServer, just choose "Import" on the database and you can pass your data to the SQLServer by every MSAccess file.
Then, differences will be in the SQL dialect, in administrative tools, in stored procedures, all new things that we have to learn, but the two programs can easily exchange data. The only fail I noticed is on the Keys exportation, but if I remember to check them when importing the tables' structure I hadn't noticed any misworking.
Access or SQLServer? We have to choose according to db accesses' amount we think we'll have. Period. MSAccess is fully usable - and it is largely used in fact - for multi-user purposes, for VB-interfaced applications or for standalone (Access read) archives, or whatever.
It's not my way to take part of MS products, but in this case they did the minimum requested feature to their products: a full compatibility among them (it's not always obvious with MS...)
Hope it helps

____________________________
Real Programmer can count up to 1024 on his fingers
|
|
09-01-2006 at 06:47 PM |
|
|
|
|
 |
 |