Hi James,
DataSet and DataTable don't actually have any unmanaged resources, so Dispose() doesn't actually do much. The Dispose() methods in DataSet and DataTable exists ONLY because of side effect of inheritance - in other words, it doesn't actually do anything useful in the finalization.
Dispose is for handling the disposal/release of unmanaged resources or other managed resources that have releasable items, such as SqlConnection.
The best way is to use USING:
Private Sub PopulateFilter()
Using Adapter As New OleDbDataAdapter("SELECT Max(ReceiptDate) AS LastReceiptDate FROM tblReceipts", My.Settings.ReceiptsConnectionString)
Dim Data As New DataTable
Adapter.Fill(Data)
Me.ReceiptsBindingNavigatorYear.Tag = Year(Data(0)("LastReceiptDate"))
End Using
Me.ReceiptsBindingNavigatorYear.Text = CStr(Me.ReceiptsBindingNavigatorYear.Tag)
End Sub