The code I presented should still work. The code you are showing is simply creating the database. Once that is accomplished, you should be able to use the code I have shown.
However - I suggest that you simplify things a bit and work on one problem at a time.
Is your database actually being created?
If it is, then make sure you can add data to it.
Once you can do that - it is a very simple matter to use the code I have provided in your application.
Make sure that you import the namespace you need (I failed to show this in the code above). This goes at the top of your file:
Imports System.Data.OleDb
Unless I completely misunderstand your request, the little code sample I have provided will do exactly what you are asking for displaying a list based on what a user enters into a textbox. However, if the user can enter new names into the database, you will need to refresh your datatable each time. Just so you know, it took me about 10 minutes to write that and post it here. It is not bullet proof, but it works as a simple example. I can think of at least 10 other ways to do similar functionality, and there is probably 1000 other ways that others have thought of.
For me, the fastest way to get something done is to do the simplest thing possible: do only one little thing at a time and make it work before going on to the next thing. If your database creation is working, and you can populate it with data, you can move on to the next thing, whatever that is. If those things aren't working - get them working first.
Also, it is best for your code (that is, each method) to do just one little thing as well. For example, your CrNewDB_Click method has about 90 lines of code, and it is doing at least 10 different things. Usually, I try to keep my methods to about 5 or 10 lines of code. One step in donig this is to write a method for anything that represents duplicate or repeated code. You have a lot of repeated code in your example. Another step is to identify "large" things and "small" things, and separate them. For example, making a table is "bigger" than adding a column to the table - in other words: making the table "includes" making the columns. So you can separate making a table into its own method, and then that method can call another method that adds a column... and so on.
Woody Z
http://www.learntoprogramnow.com
How to use a forum to help solve problems