You don't need to loop through the tabledefs collection, only through the 00_TABLE_NAMES recordset.
Code:
Private Sub cmdRenameTable_Click()
On Error Resume Next
Set dbs = CurrentDb
Dim rs As DAO.Recordset
Dim n As Integer
Set rs = CurrentDb.OpenRecordset("SELECT * FROM 00_TABLE_NAMES")
'Check to see if the recordset contains records
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
Do Until rs.EOF = True
'Rename table(s) name based on [00_TABLE_NAMES]
'For Each tdf In dbs.TableDefs
'If tdf.Name Like "LK_*" Then
'Stores table names in TEMP fields
'Me.txtOld = rs!TABLE_NAME_OLD
'Me.txtNew = rs!TABLE_NAME_NEW
'Execute renaming of table(s)
'tdf.Name = Me.txtNew
n = n + 1
'End If
'Next
CurrentDb.TableDefs(rs("TABLE_NAME_OLD")).Name = rs("TABLE_NAME_NEW")
'Move to the next record
rs.MoveNext
Loop
Else
MsgBox "There are no records in the recordset.", vbInformation, "Status"
End If
MsgBox n & " LK tables have been renamed!", vbInformation, "Status"
rs.Close 'Close the recordset
Set rs = Nothing 'Clean up
'Refresh navigation pane
RefreshDatabaseWindow
End Sub
Cheers,