Ver en datalist los autores de un isbn(libro)

Usando la base de datos biblio ubicada en
Archivos de programa\Microsoft Visual Studio\VB98\Biblio.mdb, tengo que crear un formulario que permita dado las tablas title author y authors mostrar el isbn de title author y mostrar el nombre del autor o autores de ese isbn en un datalist ya que pueden ser varios, es decir en el grid deben aparecer dos columnas, la de la izquierda tiene el isbn que pueden estar repetidos ya que en la columna de la derecha aparecen los autores
Eje.
Isbn au_id(opcional) author
0-0230081-2-1 659 Reenskaug, Trygve
0-0230081-2-1 1304 Mansfield, Kenneth C.
Esto lo logre con la siguiente consulta
Data1.RecordSource = "select isbn, [title author].au_id,author from [title author],authors where [title author].au_id=authors.au_id order by isbn"
Tengo un text asociado al campo isbn de la tabla authors y según ese isbn que valla viendo en el text tengo que en un data list mostrar todos los autores respectivos de ese isbn, las tablas title author y authors están relacionadas por el campo au_id, la tabla title autor es una tabla compuesta que tiene 2 capos au_id e isbn y la tabla authors tiene 3 campos au_id, autor y year born,
El text4 es el que tengo asociado al campo isbn de la tabla authors.
Trato de realizar esta consulta para que en el datalist me salgan todos los autores que se ven el isbn del text4 pero me dice no coinciden los tipos de datos en la expresión de criterios
Data2.RecordSource = "select author from authors where authors.au_id=" & "'" & Text4 & "'"
¿Cómo puedo mostrar en el datalist todos los autores del campo autor de la tabla authors según el isbn de title autor, siendo que estas dos tablas se relacionan por el campo Au_id?

3 respuestas

Respuesta
1
Fíjate que tienes que sacarle las comillas al select cuando concatenas el contenido de text4 ya que el campo au_id es numérico.
select author from authors where authors.au_id=" & Text4
Respuesta
1
Se que esa base de datos
Se que esa base de datos viene como ejemplo con Visual Basic, pero yo hace mucho que la borré.
Si te da un error de tipos no coincidentes en:
Data2.RecordSource = "select author from authors where authors.au_id=" & "'" & Text4 & "'"
Quiere decir que authors.au_id no es un campo texto y por lo tanto no lo puedes igualar al contenido de una variable de cadena como estás haciendo.
Mirate de que tipo es ese dato y asigna un valor en consecuencia
Suerte :-)
Respuesta
1
la sintaxis de Inner join.
Creo que te valdria:
SELECT Titles.Title, Titles.ISBN, Authors.Author FROM Publishers INNER JOIN (Authors INNER JOIN ([title author] INNER JOIN Titles ON [title author].ISBN = Titles.ISBN) ON Authors.Au_ID = [title author].Au_ID) ON Publishers.PubID = Titles.PubID
WHERE Titles.ISBN = (Aqui va tu isbn!)
En la BIBLIO.MDB que yo tengo ya están relacionadas Titleautor y autors en el campo Au_id.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas