devxlogo

Hard-Lock a Table

Hard-Lock a Table

In many applications, I want to make absolutely sure that the data in a Jet table doesn’t get modified under any circumstances. I hard-lock the table in addition to using any system-level security to protect it. Also, this hard lock stays with the MDB if it is issued with an application.Place the expression True=False into the ValidationRule property of the table to lock it. The Jet evaluates this expression to False and blocks updates to the table:

 'DeclarationsPublic MyDB As DatabaseDim Dummy As Integer'Sample callsDummy = HardLockTable("UnLock", "TestTable")Dummy = HardLockTable("Lock", "TestTable")Function HardLockTable_	(ByVal whichAction As String, _	ByVal aTable As String) As IntegerOn Error GoTo HardLockTableError'Default returnHardLockTable = TrueSelect Case whichActionCase "Lock"	MyDB.TableDefs(aTable).ValidationRule = "True=False"	MyDB.TableDefs(aTable).ValidationText = _		"This table locked via " & _		"ValidationRule on " & NowCase "UnLock"	MyDB.TableDefs(aTable).ValidationRule = ""	MyDB.TableDefs(aTable).ValidationText = ""Case "TestThenUnLock"	If MyDB.TableDefs(aTable)._		ValidationRule = "True=False" Then			MyDB.TableDefs(aTable).ValidationRule = ""			MyDB.TableDefs(aTable).ValidationText = ""	End IfEnd SelectHardLockTableErrorExit:		'subFlushDBEngine		'optional, see next suggestionExit FunctionHardLockTableError:		HardLockTable = False		MsgBox Error$ & " error " & _			"in HardLockTable trying " & _			"to " & whichAction & " " & _			aTable		Resume HardLockTableErrorExitEnd Function
See also  Does It Make Sense to Splurge on a Laptop?
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist