473,385 Members | 1,848 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,385 software developers and data experts.

Make Access db trialware

tuxalot
200 100+
Two phase question. I am looking for some guidance and not necessarily code. I want to learn how to create these functionalities in my db and the pros and cons of different approaches.

FIRST: I would like to distribute my db to a group of beta testers for feedback. The db should run for 30 days then expire with the option of entering a second key to continue the trial. Exeshield looks like a good solution for this but only works on executables.

SECOND: As requested functions are added or bugs squashed, I would like to have the DB check it's version on startup against a web version and prompt the user if/when a newer version exists and then allow it to be downloaded and the older version overwritten.

Thanks in advance for any assistance.
Sep 19 '11 #1
7 1632
jimatqsi
1,271 Expert 1GB
For the versioning, I include a front-end (local to the user) data item with the version ID of the front-end. In the back-end (remote for your case) table I store the current version ID and the minimum version ID. I compare the versions at start-up. That allows me to force updates when needed.

In either case, but especially the first, what if web access is not available? I think you'll have to require web access for the demo to work or one could turn your demo into a permanent copy by blocking your site via a firewall.

Jim
Sep 19 '11 #2
tuxalot
200 100+
Hi Jim. Thanks for the post. My back-end is local. The call to the website will be required to check versioning only. If the user has no web access, then the check would not occur.

For the trialware, something like keyedaccess would be great but the costs are high at $299 for the module. I would like to find a lesser expensive solution if it exists.
Sep 19 '11 #3
neelsfer
547 512MB
I use a very basic method and do not have version checking. If they then buy it, i will send an unlocked version with a 12 month date limit on.
I add a date text field to the startup form, and use something like this.
Expand|Select|Wrap|Line Numbers
  1. If Me.Datefield >= #2/2/2012# Then DoCmd.Quit
Sep 19 '11 #4
Narender Sagar
189 100+
This is a very interested question, and I would like to see some more expert responses on this subject.
Jim: Can you please elaborate or put some more light on maintaining version in FE and BE.
Neelsfer: I would just like add a word to readers that, before putting above code in your database, a backup copy must be taken separately.
Sep 23 '11 #5
jimatqsi
1,271 Expert 1GB
Narender,
I have a local parameter table (tbl_Runtimeparameters) in the front end. In the backend there is a similar parameter table (tbl_GlobalRuntimeparameters).

In the local table I have a parameter for the version of the front end. I update this version before putting a new copy on the distribution volume. I also update the current version in the global parameter table and if there is a reason to force users to a minimum version I plug the minimum version into the global parameters also.

Here is some of the code that runs at startup. Note that the parameter tables are used for many purposes so the columns are generic, to indicate whether they hold date, text or numerics.


Expand|Select|Wrap|Line Numbers
  1.     Dim strVersion As String
  2.  
  3.     Dim rstRunTimeParameters As DAO.Recordset
  4.     Dim rstGlobalRunTimeParameters As DAO.Recordset
  5.     Dim strVersion As String
  6.  
  7.     Set rstRunTimeParameters = dbs.OpenRecordset("tbl_Runtimeparameters", dbOpenSnapshot)
  8.     rstRunTimeParameters.FindFirst ("pt_Parameter='Version'")
  9.  
  10.     Set rstGlobalRunTimeParameters = dbs.OpenRecordset("tbl_GlobalRuntimeparameters", dbOpenSnapshot)
  11.     rstRunTimeParameters.FindFirst ("pt_Parameter='Version'")
  12.          ' require minimum version
  13.     If rstGlobalRunTimeParameters!pt_ValueA2 > rstRunTimeParameters!pt_ValueA Then
  14.         MsgBox "The minimum allowed version is " & rstGlobalRunTimeParameters!pt_ValueA2 & ". Please update"
  15.         rstRunTimeParameters.Close
  16.         rstGlobalRunTimeParameters.Close
  17.         Application.Quit
  18.     End If
  19.       ' let them know they're not running current version
  20.     If rstGlobalRunTimeParameters!pt_ValueA <> rstRunTimeParameters!pt_ValueA Then
  21.         MsgBox "The current version is " & rstGlobalRunTimeParameters!pt_ValueA
  22.     End If
  23.  
Here's the code where I display the version in the title bar
Expand|Select|Wrap|Line Numbers
  1.     ' Displays the current company and user in the caption bar.
  2.     If reg_strUserName <> "" Then
  3.         cswSetStartupProperty "AppTitle", dbText, "Image Accounting Premier: " & rstComp!strCompanyName & " - User: " & reg_strUserName & "  Version " & strVersion
  4.     Else
  5.         cswSetStartupProperty "AppTitle", dbText, "Image Accounting Premier" & " " & strVersion
  6.     End If
  7.     Application.RefreshTitleBar
  8.  
Jim
Sep 23 '11 #6
Narender Sagar
189 100+
Thank you so much Jim,
I'll try it in my database, & will get back for further help.
kind regards,
Narender
Sep 23 '11 #7
NeoPa
32,556 Expert Mod 16PB
Two questions in the original post and a hijack from Narender as well. What a mess. This should probably have been deleted as soon as started but as it wasn't, and some helpful answers have been posted, that is no longer appropriate I believe. As such I will simply lock it to further posting and suggest that if anyone has any further questions related to this, they do it properly with a new thread.
Sep 26 '11 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: MLH | last post by:
I used the following SQL to create a new table in a database on a remote MySQL server by copying one already there. I know the table exists SOMEWHERE in cyberspace. I can read its data, write to...
0
by: Mike MacSween | last post by:
Yes, deliberately untrue and provocative subject line. Sorry. Just that I posted earlier and nobody, apart from Tom, seemed interested. I'm not talking Jet Users & Groups, I may or may not...
3
by: Danny | last post by:
Hello How can I make access import a tab delimited text file that contains a special char u (but with the dots over it like a german spelling). The u shows with the two dots in the text file but...
4
by: MLH | last post by:
Best way to make Access 2.0 code wait 10 seconds before processing the next line??? For i=1 to whatever : next i is just too processor intensive. Isn't there something less taxing I can...
1
by: Marc Eggenberger | last post by:
Hi there .. I have the following scenario. I have a Webservice which is running under Win2003/IIS6 with .Net1.1 The Service itselfs connects to a database which is a SQL 2000 on a Server in...
3
by: jao.sanien | last post by:
Hi I have a access file that need to be made to read only. And the file should be password protected if I want to edit something. So those who doesn't have the password can only read. I don't...
1
by: chaphets | last post by:
access 2003 Need help to export access form into html or xml documents. Advice appreciated, thanks
5
by: Ken OHanlon | last post by:
I know that when using the standard Access wizards your Forms(.RecordSource) and your Combo Boxes(.RowSource) end up constantly connected to your data. That is bad practice in any multi-user...
1
by: Bokac | last post by:
I want to make a simple software in acess. But i could not make menu page
5
by: labmonkey111 | last post by:
I have a table in SQLServer with a varchar field set to NOT NULL, with a default value of the empty string. This table is linked in access, and the field is linked to a text box on a form. When I...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.