• Domingo 22 de Diciembre de 2024, 23:02

Autor Tema:  Re: Consulta SQL  (Leído 1198 veces)

MiguelPG

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: Consulta SQL
« en: Domingo 18 de Mayo de 2003, 21:14 »
0
Hola a todos.
Tengo un problema en la apertura de un recordset mediante una consulta SQL que no acabo de entender.
Lo que ocurre es lo siguiente:
Hago la consulta cuyo código reproduzco abajo y todo va muy bien, menos al intentar actualizar o añadir nuevos registros ya que incomporensiblemente, al menos para mi, me dice que NO SE PUEDE ACTUALIZAR PORQUE EL OBJETO ES DE SOLO LECTURA.

    cSQl = "SELECT Volumenes.idVolumen, Volumenes.Titulo, Volumenes.idAutor, Volumenes.idDirector, Volumenes.idInterprete, "
    cSQl = cSQl + "Volumenes.idTipoMusica , Volumenes.Anyo, Volumenes.Soporte, Volumenes.Caratula, Volumenes.Prestado, "
    cSQl = cSQl + "Volumenes.Dejado, Volumenes.Devuelto, Volumenes.Telefono, Volumenes.Movil, Volumenes.Notas, "
    cSQl = cSQl + "Autores.Nombre, Autores.Apellidos, "
    cSQl = cSQl + "Directores.Nombre , Directores.Apellidos, "
    cSQl = cSQl + "Interpretes.Nombre, Interpretes.Apellidos, "
    cSQl = cSQl + "TipoMusica.TipoMusica "
    cSQl = cSQl + "FROM ((Directores INNER JOIN (Autores INNER JOIN Volumenes ON Autores.idAutor = Volumenes.idAutor) "
    cSQl = cSQl + "ON Directores.idDirector = Volumenes.idDirector) INNER JOIN Interpretes "
    cSQl = cSQl + "ON Volumenes.idInterprete = Interpretes.idInterprete) INNER JOIN TipoMusica "
    cSQl = cSQl + "ON Volumenes.idTipoMusica = TipoMusica.idTipoMusica"
       
    Set rstVolumen = dbMusica.OpenRecordset(cSQl & " ORDER BY format(idvolumen,'0000')", dbOpenDynaset)

Por favor, si alguien ve la causa le agradeceré que me lo haga saber. Me trae loco.
:jumpie:

J.M.Movilla

  • Miembro MUY activo
  • ***
  • Mensajes: 427
    • Ver Perfil
Re: Consulta SQL
« Respuesta #1 en: Domingo 18 de Mayo de 2003, 21:54 »
0
Hola, Miguel:

Yo no veo nada sospechoso en tu forma de abrir los ficheros... Unicamente cabe aceptar que, por mor de las meigas..., tu bd haya tomado la propiedad de "Sólo lectura"... Esto me trajo por la calle de la Amargura en una ocasión, hasta que me enteré de que haciendo un trasvase de ficheros de un equipo a otro por medio de un CD, en el equipo-destino me los definía como de sólo lectura (característica que aplica automáticamente en algunas grabaciones en CD)...  No sea que a ti te esté jugando alguna mala pasada de este tipo...

Saludos y que te dure poco el sarampión...

angelescj

  • Miembro MUY activo
  • ***
  • Mensajes: 154
    • Ver Perfil
Re: Consulta SQL
« Respuesta #2 en: Lunes 19 de Mayo de 2003, 08:45 »
0
¿Cómo abres la Base de Datos?, el problema puede estar ahí.
:suerte:

MiguelPG

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: Consulta SQL
« Respuesta #3 en: Lunes 19 de Mayo de 2003, 09:47 »
0
Hola Angeles.
Gracias por responder a mi pregunta.
La base de datos la abro así:
Set dbMusica=OpendDatabase("MiPathMusica.mdb")
Yo pienso que el problema debe de estar en la SQL, pués cuando abro el recordset utilizando menos tablas relacionadas, me permite editar y actualizar sin problemas.
Saludos.

MiguelPG

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Consulta SQL
« Respuesta #4 en: Lunes 19 de Mayo de 2003, 13:06 »
0
Por fín lo encontré.
Os digo lo que era por si a alguno le ocurriera lo mismo.
El error estaba en que en algunas de las tablas que componen la SQL no había definido un campo clave principal y, por lo tanto, la SQL no "sabía" como relacionar adecuadamente las tablas.
Gracias a todos por vuestra ayuda.:jumpie: