El problema es q hay q diferenciar entre un tipo de dato y otro:
* TextBox1.Text te admite un string como argumento a esa propiedad.
* rs.Open, o cualquier otro modo de ejecución del comando SELECT a una base de datos te regresará una fila (Row) q pertenece a una tabla (Table) y q puedes vincular o asociar con otras tablas en una colección de ellas (DataSet)...
Por lo tanto el valor q mandas como argumento a la propiedad .Text del TextBox, no coincide en TIPOS de dato con el regresado por tu consulta
Adolfiten te dió una buena idea de como vincular los datos q obtienes de tu consulta a un DataSet y luego ingresar a esos valores para poder hacer uso de ellos en los controles q te proporciona el IDE de .NET
Podrias usar algo como esto tambien:
Código:
'vinculas el resultado de tu consulta a un DataTable
Dim dtTemporal as DataTable = rs.Open("select max(codigo)from miTabla", cnn)
'Accesas a la Primer fila de tu DataTable, en su primer columna y asignas el valor a la variable
TextBox1.Text = dtTemporal.Rows(0)(0).ToString()
Cuestión q juegues con los valores dentro del DataTable, Rows, o incluso Columns, y recuerda q los valores q asignas a variables o propiedades de controles deben coincidir en tipo de datos
Espero te Sirva