Foros del Web » Programando para Internet » ASP Clásico »

Error al hacer UPDATE en access

Estas en el tema de Error al hacer UPDATE en access en el foro de ASP Clásico en Foros del Web. Este es el error que me sale: Tipo de error: Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][Controlador ODBC Microsoft Access] La operación debe ...
  #1 (permalink)  
Antiguo 20/12/2007, 06:39
 
Fecha de Ingreso: mayo-2007
Mensajes: 19
Antigüedad: 16 años, 11 meses
Puntos: 0
Error al hacer UPDATE en access

Este es el error que me sale:
Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Controlador ODBC Microsoft Access] La operación debe usar una consulta actualizable.

Este es el codigo ASP:

Código PHP:
<%
'Creo la conexion y le doy la ubicacion de la data..

Set bdd = Server.CreateObject ("ADODB.Connection")
bdd.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("nombre.mdb")

'
Creo la consulta (respaldo es la tabla)
mysql "Select * from respaldo"

'Ejecuto la consulta
set tabla = bdd.execute(mysql)

'
Aqui busco la fecha que se encuentra en la tabla FECHA si quires creas un if not tabla.eof then
'Para descartar campos nulos pero yo no lo crei necesario
fecha=tabla("fecha")
tabla.close
'
Declaro el dia de hoy con la fecha de hoy
hoy
=date
'compruebo si la fecha que se encontraba en la datra es la de hoy
if fecha=hoy then
else
'
Si no automaticamente la actualizo y le doy el valor a una variable llamada respaldo de si

   mysql2 
"UPDATE respaldo SET fecha = '"&hoy&"'"
   
set mytablabdd.execute(mysql2)
   
respaldo="si"
   
end if
bdd.Close
Set bdd 
nothing

'Compruebo si la variable esta en si para realizar el respaldo

   if respaldo = "si" then
      response.redirect("backup.asp")
   end if

'
Aqui lo que mostrara la pagina
.......

%> 
  #2 (permalink)  
Antiguo 20/12/2007, 06:42
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Error al hacer UPDATE en access

mysql2 = "UPDATE respaldo SET fecha = '"&hoy&"'"
set mytabla= bdd.execute(mysql2) <--- !!!!!

Un update no devuelve un recordset, ni nada. No asignes el valor del execute tal que:

bdd.execute mysql2
__________________
Kelpie
  #3 (permalink)  
Antiguo 20/12/2007, 06:44
 
Fecha de Ingreso: mayo-2007
Mensajes: 19
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Error al hacer UPDATE en access

Entonces como deberia ponerlo?
  #4 (permalink)  
Antiguo 20/12/2007, 06:56
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Error al hacer UPDATE en access

Yo pondría así:

...
mysql2 = "UPDATE respaldo SET fecha = '"&hoy&"'"
bdd.execute(mysql2)
...
__________________
Kelpie
  #5 (permalink)  
Antiguo 20/12/2007, 06:57
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Error al hacer UPDATE en access

O quizá sin los paréntesis...
__________________
Kelpie
  #6 (permalink)  
Antiguo 20/12/2007, 07:03
 
Fecha de Ingreso: mayo-2007
Mensajes: 19
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Error al hacer UPDATE en access

Sigue dando el mismo error, tambien lo he probado sin asignarle el valor a la variable:

bdd.execute "UPDATE respaldo SET fecha = '"&hoy&"'"

Pero sigue dando el mismo error.
  #7 (permalink)  
Antiguo 20/12/2007, 07:16
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Error al hacer UPDATE en access

Solo queda el problema de permisos. Si el usuario web no tiene permisos de escritura en el directorio donde está la base, podrá leer valores pero no cambiarlos.
Comprueba los permisos de la carpeta (lo mejor es crear una carpeta solo para la base, para poder darle permisos con alegría)...
__________________
Kelpie
  #8 (permalink)  
Antiguo 20/12/2007, 07:42
 
Fecha de Ingreso: mayo-2007
Mensajes: 19
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Error al hacer UPDATE en access

Pues al final era un problema de permisos.

Muchas gracias !!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:12.