creating trial version of database

  • Thread starter Richard Harison
  • Start date
R

Richard Harison

I have a database which a government agency is interested in. They require a
sample copy, so that users can get familiar with it. Obviously I want the
database to cease being operational after so many sessions. I could build in a
VB function that shuts it down after a certain date, but then someone could
reset a computer's date, use the program, and then reset the date back again. I
also thought of a VB routine to keep track of the number of uses of the
database, but I can't get it to work without using a table--which the user could
alter. I don't want to get involved with permissions-- or anything along that
route.
Any ideas would be appreciated!
 
E

e.mel

maybe convert it to an .mde file, this would obscure the code, also
make them agree to a EULA, so you can sue 'em if they keep using it ;)

there isn't much you can do to make it absoultely hack-proof, but if
they not Access experts maybe hiding a form or module is enough. Also
it could perminently disable itself, by deleting part or all of itself.

just some random ideas . . .
 
J

Jesper

I have a database which a government agency is interested in. They require
a sample copy, so that users can get familiar with it. Obviously I want
the database to cease being operational after so many sessions. I could
build in a VB function that shuts it down after a certain date, but then
someone could reset a computer's date, use the program, and then reset the
date back again. I also thought of a VB routine to keep track of the
number of uses of the database, but I can't get it to work without using a
table--which the user could alter. I don't want to get involved with
permissions-- or anything along that route.
Any ideas would be appreciated!

I insert this in ny startup function:

If Date > #9/1/2007# Then
DoCmd.DeleteObject acForm, "nameofmainform"
DoCmd.DeleteObject acForm, "nameofotherimportantform"
MsgBox "The demo has expired." & vbCrLf & vbCrLf & _
"Please contact:" & vbCrLf & "Developers name" & vbCrLf & "Phone
55555555555" & vbCrLf & "Email: [email protected]" & _
vbCrLf & vbCrLf & "to get a new version of the database.",
vbCritical + vbOKOnly, "Demo expired"
DoCmd.Quit acQuitSaveAll
End If

to delete the principal forms in the db, which renders it useless. They
won't see it coming and can't prepare for it. Resetting the system date
won't help since the forms are gone. The data however are intact. You can
help them get the data into the new version you send them.


Jesper
 
R

Richard Harison

If I can get my VB counter=counter+1 routine to work by adding a table...I will
try hiding it, as you suggest. They are neither Access experts nor inherently
dishonest. They will already have it as .MDE, but as you know tables are not
affected by that
Thanks

--
All the Best
Richard Harison
e.mel said:
maybe convert it to an .mde file, this would obscure the code, also
make them agree to a EULA, so you can sue 'em if they keep using it ;)

there isn't much you can do to make it absoultely hack-proof, but if
they not Access experts maybe hiding a form or module is enough. Also
it could perminently disable itself, by deleting part or all of itself.

just some random ideas . . .
 
R

Richard Harison

Very nice suggestion! I know your solution is based on "they won't see it
coming" scenario. But what, in fairness, could I say in an opening screen that
would warn them that there is a time limit, but still use your suggestion? Most
trial downloads do this--but I suspect their *time bomb* resides in the Windows
Registry
 
J

Jesper

Very nice suggestion! I know your solution is based on "they won't see it
coming" scenario. But what, in fairness, could I say in an opening screen
that would warn them that there is a time limit, but still use your
suggestion? Most trial downloads do this--but I suspect their *time bomb*
resides in the Windows Registry

I second Douglas suggestion to check out Tony Toews website.

I always inform people that the demo is time limited and that it'll work for
3 months for example.
Other than that I don't really warn them. But I have close contact with my
customers so if the demo expires and they're still evaluating I'll send the
another one - perhaps after incorporation the data they've already entered.
I'll also sometimes limit the use of the db - for example not allowing the
customer to create more than a certain number of records in an important
table.
A message could be something along the lines of "There's a time limit on
this demo version of the database. Don't use it for anything other than
testing purposes and not to store real data." or something like that.

Jesper
 
R

Richard Harison

How exactly would one limit the number of records a customer might enter before
the demo expires?
 
J

Jesper

How exactly would one limit the number of records a customer might enter
before the demo expires?

In a database of customers and orders there might be a table "tblCustomers".
To limit the amount of records in this table I'll use this in the procedure
that would normally add a customer record to the db:

If dcount("[customerID]","tblCustomers")>=20 Then
Msgbox "The demo version af the db only allows.. etc",vbOkOnly
Exit sub
End if

which will prevent the user from creating any more records in the customer
table.
I simply remove this code snippet in the real version.


Jesper
 
R

Richard Harison

I would like to thank all of your for your input & help. The problem is solved
and I learned much in the process.
Thank you again!!!
 
Top