473,587 Members | 2,479 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How to identify the creator of the .mbd file?

I teach a class in MS Access 2003 to college students. I've had some
issues with students turning in .mdb files that were created by other
students and then only slightly modified to give some convincing
argument that they didn't cheat. I know about the "Properties " (which
is how I detected the "shared" database in the first place).

What I'd like to know is if there is a way I may personally assign an
identification alphanumeric to each mdb file that I send to a student
so that, when the file is returned to me via eMail or on disc or flash
media, I may check the file and know that Student A didn't turn in a
copy of Student B's file.

I'd prefer not to use the Properties dialog as it is only a matter of
time before someone catches on and alters the data there. I'd like to
find some place in the file (or add some sort of "secret pocket") into
which I may place the personally identifiable data. If I could paste
something in or add a resource only I could view (protected by either a
password or a means that only I would know) that would do it.

I would imagine that password-protecting this file for only the
specific piece of information I would be including would be impossible
as the students will need to have designer access in order to do their
homework.

Suggestions are welcomed. Thanks in advance.

Barry

Dec 18 '06 #1
7 3315
I don't know what, exactly, would be a good way to identify the file that
you give a student to make sure the same file is returned to you. But, so
what if it is?

Students will have to have permissions to create and update the database
objects pertinent to the assignment, even if you applied Access' security
(which, by the way, if you have followed the blogs of the Access development
team at Microsoft, is going to work differently in the ACCDB of Access
2007). They can just import the objects from another student's database, and
that would foil your identification scheme and that's very little more work
than doing the file copy.

But even if you were able to prevent them electronically copying the file,
and prevent them importing the objects, how could you prevent them copying
by cut-and-paste?

Larry Linson
Microsoft Access MVP

<ex********@gma il.comwrote in message
news:11******** **************@ t46g2000cwa.goo glegroups.com.. .
>I teach a class in MS Access 2003 to college students. I've had some
issues with students turning in .mdb files that were created by other
students and then only slightly modified to give some convincing
argument that they didn't cheat. I know about the "Properties " (which
is how I detected the "shared" database in the first place).

What I'd like to know is if there is a way I may personally assign an
identification alphanumeric to each mdb file that I send to a student
so that, when the file is returned to me via eMail or on disc or flash
media, I may check the file and know that Student A didn't turn in a
copy of Student B's file.

I'd prefer not to use the Properties dialog as it is only a matter of
time before someone catches on and alters the data there. I'd like to
find some place in the file (or add some sort of "secret pocket") into
which I may place the personally identifiable data. If I could paste
something in or add a resource only I could view (protected by either a
password or a means that only I would know) that would do it.

I would imagine that password-protecting this file for only the
specific piece of information I would be including would be impossible
as the students will need to have designer access in order to do their
homework.

Suggestions are welcomed. Thanks in advance.

Barry

Dec 18 '06 #2
Tell us about it. Some of that code probably came from here. (:->)

<ex********@gma il.comwrote in message
news:11******** **************@ t46g2000cwa.goo glegroups.com.. .
>I teach a class in MS Access 2003 to college students. I've had some
issues with students turning in .mdb files that were created by other
students and then only slightly modified to give some convincing
argument that they didn't cheat....

Barry


Dec 18 '06 #3
<ex********@gma il.comwrote in message
news:11******** **************@ t46g2000cwa.goo glegroups.com.. .
>I teach a class in MS Access 2003 to college students. I've had some
issues with students turning in .mdb files that were created by other
students and then only slightly modified to give some convincing
argument that they didn't cheat. I know about the "Properties " (which
is how I detected the "shared" database in the first place).

What I'd like to know is if there is a way I may personally assign an
identification alphanumeric to each mdb file that I send to a student
so that, when the file is returned to me via eMail or on disc or flash
media, I may check the file and know that Student A didn't turn in a
copy of Student B's file.

I'd prefer not to use the Properties dialog as it is only a matter of
time before someone catches on and alters the data there. I'd like to
find some place in the file (or add some sort of "secret pocket") into
which I may place the personally identifiable data. If I could paste
something in or add a resource only I could view (protected by either a
password or a means that only I would know) that would do it.

I would imagine that password-protecting this file for only the
specific piece of information I would be including would be impossible
as the students will need to have designer access in order to do their
homework.

Suggestions are welcomed. Thanks in advance.
Hi Barry.

Are you familiar with user-level security? If you are then what you could
do is have a table with your unique data in it. You could then either make
it read-only, deny access to it for your students or even make it hidden.

If you're not familiar with user-level security then perhaps just making the
table hidden might we worth a try.

HTH - Keith.
www.keithwilby.com
Dec 18 '06 #4
Don't know how much of a db you're supplying your students with as "starter"
material for their projects, but I'd think about using the Tag property of
one of the db's forms. You could assign a different Tag to each copy and
check the returned dbs. I'd use an arbitrary ID, i.e one that should a
student spot the Tag won't be an obvious ID; don't use ADAM001 for a student
named Adams for example. Most professional developers never use the Tag
property, and any student that's smart enough to tumble to it are probably
doing their own work anyway!

--
There's ALWAYS more than one way to skin a cat!

Answers/posts based on Access 2000

Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200612/1

Dec 18 '06 #5
Barry, if you are creating a file for each student, you could include a
custom property that contains the student name.

Use the function below like this:
Call SetPropertyDAO( dbEngine(0)(0), "CreatedFor ", dbText, "Fred Smith")

Later, when checking the student's work, you can then read the property in
the Immediate Window like this:
? dbEngine(0)(0). Properties("Cre atedFor")

Function SetPropertyDAO( obj As Object, strPropertyName As String, intType As
Integer, varValue As Variant, Optional strErrMsg As String) As Boolean
On Error GoTo ErrHandler
'Purpose: Set a property for an object, creating if necessary.
'Arguments: obj = the object whose property should be set.
' strPropertyName = the name of the property to set.
' intType = the type of property (needed for creating)
' varValue = the value to set this property to.
' strErrMsg = string to append any error message to.

If HasProperty(obj , strPropertyName ) Then
obj.Properties( strPropertyName ) = varValue
Else
obj.Properties. Append obj.CreatePrope rty(strProperty Name, intType,
varValue)
End If
SetPropertyDAO = True

ExitHandler:
Exit Function

ErrHandler:
strErrMsg = strErrMsg & obj.Name & "." & strPropertyName & " not set to
" & varValue & ". Error " & Err.Number & " - " & Err.Description & vbCrLf
Resume ExitHandler
End Function

Public Function HasProperty(obj As Object, strPropName As String) As Boolean
'Purpose: Return true if the object has the property.
Dim varDummy As Variant

On Error Resume Next
varDummy = obj.Properties( strPropName)
HasProperty = (Err.Number = 0)
End Function

--
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

<ex********@gma il.comwrote in message
news:11******** **************@ t46g2000cwa.goo glegroups.com.. .
>I teach a class in MS Access 2003 to college students. I've had some
issues with students turning in .mdb files that were created by other
students and then only slightly modified to give some convincing
argument that they didn't cheat. I know about the "Properties " (which
is how I detected the "shared" database in the first place).

What I'd like to know is if there is a way I may personally assign an
identification alphanumeric to each mdb file that I send to a student
so that, when the file is returned to me via eMail or on disc or flash
media, I may check the file and know that Student A didn't turn in a
copy of Student B's file.

I'd prefer not to use the Properties dialog as it is only a matter of
time before someone catches on and alters the data there. I'd like to
find some place in the file (or add some sort of "secret pocket") into
which I may place the personally identifiable data. If I could paste
something in or add a resource only I could view (protected by either a
password or a means that only I would know) that would do it.

I would imagine that password-protecting this file for only the
specific piece of information I would be including would be impossible
as the students will need to have designer access in order to do their
homework.

Suggestions are welcomed. Thanks in advance.

Barry

Dec 18 '06 #6
Pretty much what I was going to suggest but to add to Allen's post, if you
do use this method don't forget to remove the code below from the mdb, as it
might be a bit of a giveaway to the "bright enough to hack" students that
you do have.

Heh, heh, otherwise I can see David Cox being prophetic, as I can see some
of your students coming in here to ask us to explain the code below.
--

Terry Kreft
"Allen Browne" <Al*********@Se eSig.invalidwro te in message
news:45******** *************** @per-qv1-newsreader-01.iinet.net.au ...
Barry, if you are creating a file for each student, you could include a
custom property that contains the student name.

Use the function below like this:
Call SetPropertyDAO( dbEngine(0)(0), "CreatedFor ", dbText, "Fred
Smith")
>
Later, when checking the student's work, you can then read the property in
the Immediate Window like this:
? dbEngine(0)(0). Properties("Cre atedFor")

Function SetPropertyDAO( obj As Object, strPropertyName As String, intType
As
Integer, varValue As Variant, Optional strErrMsg As String) As Boolean
On Error GoTo ErrHandler
'Purpose: Set a property for an object, creating if necessary.
'Arguments: obj = the object whose property should be set.
' strPropertyName = the name of the property to set.
' intType = the type of property (needed for creating)
' varValue = the value to set this property to.
' strErrMsg = string to append any error message to.

If HasProperty(obj , strPropertyName ) Then
obj.Properties( strPropertyName ) = varValue
Else
obj.Properties. Append obj.CreatePrope rty(strProperty Name, intType,
varValue)
End If
SetPropertyDAO = True

ExitHandler:
Exit Function

ErrHandler:
strErrMsg = strErrMsg & obj.Name & "." & strPropertyName & " not set
to
" & varValue & ". Error " & Err.Number & " - " & Err.Description & vbCrLf
Resume ExitHandler
End Function

Public Function HasProperty(obj As Object, strPropName As String) As
Boolean
'Purpose: Return true if the object has the property.
Dim varDummy As Variant

On Error Resume Next
varDummy = obj.Properties( strPropName)
HasProperty = (Err.Number = 0)
End Function

--
Allen Browne - Microsoft MVP. Perth, Western Australia
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

<ex********@gma il.comwrote in message
news:11******** **************@ t46g2000cwa.goo glegroups.com.. .
I teach a class in MS Access 2003 to college students. I've had some
issues with students turning in .mdb files that were created by other
students and then only slightly modified to give some convincing
argument that they didn't cheat. I know about the "Properties " (which
is how I detected the "shared" database in the first place).

What I'd like to know is if there is a way I may personally assign an
identification alphanumeric to each mdb file that I send to a student
so that, when the file is returned to me via eMail or on disc or flash
media, I may check the file and know that Student A didn't turn in a
copy of Student B's file.

I'd prefer not to use the Properties dialog as it is only a matter of
time before someone catches on and alters the data there. I'd like to
find some place in the file (or add some sort of "secret pocket") into
which I may place the personally identifiable data. If I could paste
something in or add a resource only I could view (protected by either a
password or a means that only I would know) that would do it.

I would imagine that password-protecting this file for only the
specific piece of information I would be including would be impossible
as the students will need to have designer access in order to do their
homework.

Suggestions are welcomed. Thanks in advance.

Barry


Dec 18 '06 #7
Larry (and the others who have been kind enough to reply),

I think you've hit the nail on the head. I won't be able to prevent
copy/paste so my plan simply will not work unless I do -not- tell them
about copy/paste. If they don't know that already, they probably don't
know about the Properties dialog either. Maybe I'll just tell them
about these two things at the very end of the course...nahhh, bad idea.

I think I'll just have to stress that if I catch them cheating, they're
tossed out of the class and will receive an F. I'll also have to
eliminate the take-home test. Too bad for them, eh?

Thanks to everyone!
Barry

Larry Linson wrote:
{snip} But even if you were able to prevent them electronically copying the file,
and prevent them importing the objects, how could you prevent them copying
by cut-and-paste?
Dec 18 '06 #8

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

Similar topics

1
3419
by: Stefan Ram | last post by:
Some style guides suggest to repeat a DC.creator meta-element for multiple authors, but doesn't this contradict its specification? "An entity primarily responsible for making the content of the resource." http://dublincore.org/documents/dcmi-terms/ "primarily (...) in the first place" http://www.m-w.com
1
6730
by: Gorilla | last post by:
I bound my package with EXPLAIN(YES), and it's got the following static SQL in it: EXEC SQL SELECT CARDF, RECLENGTH INTO :CARDF,:RECLENGTH FROM SYSIBM.SYSTABLES WHERE NAME = :TBNAME AND CREATOR = :TBCREATOR The explain shows that it does a *full table scan* on SYSIBM.SYSTABLES!
5
2604
by: Bonj | last post by:
Hi Is there a free installer / msi / setup creator available , that is capable of installing assemblies into the GAC folder, the same way that the setup project wizard in VS.NET does? only free.
4
1936
by: Eric | last post by:
Hi, I need to find a way to identify between a few different file formats WITHOUT looking at the file extension. Very often our customers will name file incorrectly. For example, they'll send us a file that's named 'filename.xls', but it's actually a tab delimited or comma delimited file. The possible formats that I need to identify are: HTML, tab delimited, comma delimited or Excel.
3
3593
by: Shilpa | last post by:
Hi All, I want to write C# code to identify a file type and open the file in the associated editor. For example, text files should be identified and opened in notepad, html should be opened in internet explorer/netscape/mozilla. At design time, I do not know if internet explorer/netscape is installed on the client machine. The C# code should identify that and open.
0
1464
by: Roshan | last post by:
Hi, I am trying to programatically add a FileSystemAccessRule for CREATOR OWNER to the filesystemsecurity obj of a folder whose creator and owner is a user account say 'SomeUser'. The rule gets created and added without errors. After I have set the security descriptor I notice that 2 ACEs have been added. One for CREATOR OWNER with the specified rights and apply to set to 'Subfolder and files' and another for 'Administrators' with the...
6
2485
by: Pieter | last post by:
Hi, For some procedures that throws exceptions, I would like to show different messages to the user depending on what type of exception he's getting. For instance this one: when the file is locked, I want a messagebox to tell that the user has to close the file first. Is there a way to identify an exception by some kind of unique number or something like this? I don't want to identify it on the Exception Message because some users are...
13
2414
by: alive84 | last post by:
Hi there, I have a two problems concerning option button values on a report and data report creator reports. The situation: I have three option value boxes two have 3 option and one has only two option buttons. They have values 1, 2, 3. Everything is standard. Now when I create the report, I have only the number for each record on the report, which is kind of ugly and not user-friendly. Is there a chance to turn this values into actual...
3
2202
by: alan | last post by:
Hello all, I'd like to know if there is a nice method of defining a functor creator which accepts an N-ary function and returns a functor based on that function. For example I have a function: template<class X, class Y, class Z> X function(Y, Z); Passing it to the functor creator will give a functor equivalent to: template<class X, class Y, class Z>
0
7923
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, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8216
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8349
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
7974
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
5395
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
3882
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2364
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1455
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
1192
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.