devxlogo

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

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Seven Service Boundary Mistakes That Create Technical Debt

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.