Hola. Me parece que tienes un problema con lo que es el tema de los arrays o vectores. En tu código nunca creas uno, simplemente biblioteca es lo mismo que libro (y no debería serlo). Esto debe ser lo que quieres:
Código vb:
Ver original'creo el arreglo dinamico
Dim libro as TDUBiblioteca
'Creo una variable del tipo TDU
Dim biblioteca(7) as TDUBiblioteca
Pues en ese caso biblioteca ahora sí es un arreglo que contiene 7 espacios (del 0 al 6) para datos del tipo TDUBiblioteca (que serían libros).
Con respecto a las cajas de texto estás haciendo la asignación al revés. Si quieres asignarle el valor de TituloTxt a un libro de la biblioteca deberías hacer:
Código vb:
Ver originalbiblioteca(0).titulo = TituloTxt.Text
Así que quedaría mas o menos así:
Código vb:
Ver original'Primero defino el TDU
Private Type TDUBiblioteca
ID As Integer
titulo As String
autores As String
editorial As String
ano As Integer
paginas As Integer
comentarios As String
End Type
Private Sub Form_Load()
'creo el arreglo dinamico
Dim libro As TDUBiblioteca
'Creo una variable del tipo TDU
Dim biblioteca(7) As TDUBiblioteca
'y ahora trato de rrecorrerlo y mostrarlo
For i = 0 To 6
biblioteca(i).ID = 1000
biblioteca(i).titulo = "El Alquimista"
' Etc.
Next i
MsgBox (biblioteca(0).titulo)
End Sub
Aunque aún así a ese código le falta trabajo (es que estoy algo apurado).
Espero que te sirva, mira el codigo y avisame a ver cuales son tus dudas!