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

Modificar una tabla de access con asp

Estas en el tema de Modificar una tabla de access con asp en el foro de ASP Clásico en Foros del Web. Hola: A ver si podéis ayudar a un inexperto. Tengo una página en asp (principal.asp) donde se visualiza una tabla (8x9)que coge los datos de ...
  #1 (permalink)  
Antiguo 09/01/2007, 11:13
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Modificar una tabla de access con asp

Hola:
A ver si podéis ayudar a un inexperto.

Tengo una página en asp (principal.asp) donde se visualiza una tabla (8x9)que coge los datos de una tabla de access.
La idea es crear una página en asp (modificar.asp) donde se muestren 4 columnas enteras de la tabla general, y en solo 2 de ellas se puedan modificar los datos. Despues, al pinchar en el botón actualizar ya se podrán ver estos datos nuevos en principal.asp.
¿Alguién me puede ayudar? Tengo el código de principal.asp ya hecho, pero no sé el de modificar.asp

Gracias.
  #2 (permalink)  
Antiguo 09/01/2007, 11:26
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Que tal.

Puedes publicar parte de tu código de principal.asp, donde imprimes la tabla. De esta manera quizá alguiñen se ayude a animarte ( quizé decir: alguién se animé a ayudarte jajaja).

Saludos y suerte!!

Última edición por daniel00; 12/01/2007 a las 10:41 Razón: error de dislexía.
  #3 (permalink)  
Antiguo 09/01/2007, 13:13
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Hola:

Pues aquí va el código de principal.asp
Para ver la tabla:
gacetaragon.com/liga/ligas2.asp

Saludos.

<%
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../db/DHcadete/DHcadete.mdb") & ";"
db.Open DB_CONNECTIONSTRING
set rsActual = Server.CreateObject("ADODB.Recordset")
SQLActual = "SELECT JornadaA, FechaA, LocalA, GolesLA, VisitanteA, GolesVA FROM Portada"
rsActual.Open SQLActual,DB_CONNECTIONSTRING
%>

<html>
<head>
</head>
<body>
<div align="center">
<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#003366">
<% do while not rsActual.EOF %>
<tr>
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("LocalA")% ></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesLA")%></p></td>
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("Visitante A")%></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesVA")%></p></td>
</tr>
<% rsActual.movenext
loop %>
</table>
</div>
</body>
</html>
  #4 (permalink)  
Antiguo 12/01/2007, 10:40
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Que tal Gacetaragon.

Cambiaré sólo un poco de tu código para tener la página de modificar.asp.

Tu escribiste:
Código:
<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#003366">
<% do while not rsActual.EOF %>
<tr> 
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("LocalA")% ></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesLA")%></p></td>
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("Visitante A")%></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesVA")%></p></td>
</tr>
<% rsActual.movenext
loop %>
</table>
Ahora tendremos (lo marcado en rojo es el código nuevo):
Código:
<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#003366">
<% 
   Dim i

do while not rsActual.EOF 
   i = i + 1
%>
<tr> 
<INPUT Type=hidden Id='txtId" & i & "' Name='txtId" & i & "'  value='" & JornadaA & "' >
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("LocalA")% ></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesLA")%></p></td>
<td bgcolor="#FFFFFF"> 
	<INPUT TYPE=text Id='txtGolesLA" & i & "' Name='txtGolesLA" &  i & "' VALUE='<%=rsActual.Fields("GolesLA")%>' >   
</td>
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("Visitante A")%></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesVA")%></p></td>
<td bgcolor="#FFFFFF"> 
	<INPUT TYPE=text Id='txtGolesVA" & i & "' Name='txtGolesVA" &  i & "' VALUE='<%=rsActual.Fields("GolesVA")%>' >   
</td>

</tr>
<% rsActual.movenext
loop %>
<INPUT Type=hidden Id='txtRows' Name='txtRows'  value='" & i & "' >
</table>
entonces ya tenemos la página de captura, ahora solo nos falta la de actualizar.. pero para eso hay que tener esto listo... así que quedo en espera de tus comentarios.

saludos y suerte!!
  #5 (permalink)  
Antiguo 12/01/2007, 11:25
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Muchísimas gracias, estoy en ello.

Saludos.
  #6 (permalink)  
Antiguo 12/01/2007, 11:46
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Re: Modificar una tabla de access con asp

Libera memoria del servidor, cerrando al final, los objetos y limpiándolos...

Código:
rsActual.close
db.close
set rsActual = nothing
set db = nothing
Salu2
  #7 (permalink)  
Antiguo 13/01/2007, 20:29
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Gracias 3pies.
  #8 (permalink)  
Antiguo 15/01/2007, 16:23
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Que tal Gacetaragon.

Continuando con tu caso.

1.- A la página modificar.asp, hay que agregarle lo siguiente junto a los tags
que ya tienes, faltaba agregarle un formulario, un botón de guardar y el script que nos manda a la página de actualizar. El código es el siguiente:
Código:
<BODY >
<form NAME="frmForm" METHOD="post">
....
.....   ....   Código para mostrar la tabla de edición.
....
<INPUT Type=Button onclick='mGuardar();' value='Guardar Cambios' id=cmdGuardar >
.....

</form>
</BODY>
</HTML>
<script language="JavaScript">
<!--
	function mGuardar()
	{
		document.frmForm.action =  'Actualizar.asp';
		document.frmForm.submit();
	}
-->
</script>
2.-Depués hay que crear una págian llamada actualizar.asp, la cual tendrá puro codigo VBScript, como el siguiente:
Código:
<%
Dim i
Dim j

If  trim(Request("txtRows")) <> "" Then
	j= cint(Request("txtRows"))
Else
	j = 0 
End If

'Abrimos la conexión a la base de datos.
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../db/DHcadete/DHcadete.mdb") & ";"
db.Open DB_CONNECTIONSTRING 

For i=1 to j    'Para todos los renglones.
	strGolesLA = trim(Request("txtGolesLA" & i))
	strGolesVA = trim(Request("txtGolesVA" & i )) 
	strJornada = trim(Request("txtId" & i )) 
	If strGolesLA  <> "" AND strGolesVA  <> "" Then
	-- Si hay cantidad en Goles, insertar registro.
		StrSQL = "UPDATE Portada SET GolesLA=" & strGolesLA  & " , GolesVA= " & strGolesVA 
		strSQL = strSQL " WHERE JornadaA= " strJornada
		'Actualizamos el registro.
		db.Execute strSQL
	End If
Next

'Cerramos y liberamos la conexión 
db.Close
Set db = Nothing

'Redireccionamos a la página principal.
Reponse.redirect "principal.asp"

%>
El código anterior va renglón por renglón para actualizar cada registro en la base de datos.

Varias cosas no estan válidadas, como que lo que introdujo el usuario sea númerico u otro tipo.

Pero creo que tiene la funcionalidad que necesitas.

Caulquier duda por aquí andamos.

Saludos y suerte!!
  #9 (permalink)  
Antiguo 17/01/2007, 07:15
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Hola:

He hecho los pasos y me sale error en :

strSQL = strSQL " WHERE JornadaA= " strJornada

He cambiado JornadaA por Jornada
y me sigue saliendo error.

Gracias.
  #10 (permalink)  
Antiguo 18/01/2007, 10:28
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Me falto el operador para concatenar & .

La línea queda así:
Código:
strSQL = strSQL & " WHERE JornadaA= " & strJornada
saludos y suerte!
  #11 (permalink)  
Antiguo 19/01/2007, 00:20
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Muchas gracias.

Ya no me da error en esa línea, pero ahora sale en la línea:

Type mismatch: 'cint'
j= cint(Request("txtRows"))

Saludos.
  #12 (permalink)  
Antiguo 19/01/2007, 10:22
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Que tal.

Tuve varios errores en el código que te puse arriba(modificar.asp), aquí esta la corrección:
Código:
<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#003366">
<% 
   Dim i
   i=0
do while not rsActual.EOF 
   i = i + 1
%>
<tr> 
<INPUT Type=hidden Id='txtId<%=i%>' Name='txtId<%=i%>'  value='<%=  JornadaA %>' >
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("LocalA")% ></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesLA")%></p></td>
<td bgcolor="#FFFFFF"> 
	<INPUT TYPE=text Id='txtGolesLA<%=i%>' Name='txtGolesLA<%=i%>' VALUE='<%=rsActual.Fields("GolesLA")%>' >   
</td>
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("Visitante A")%></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesVA")%></p></td>
<td bgcolor="#FFFFFF"> 
	<INPUT TYPE=text Id='txtGolesVA<%=i%>' Name='txtGolesVA<%=i%>' VALUE='<%=rsActual.Fields("GolesVA")%>' >   
</td>

</tr>
<% rsActual.movenext
loop %>
<INPUT Type=hidden Id='txtRows' Name='txtRows'  value='<%=i%>' >
</table>
Es díficil escribir código fuera del visual studio, mala costumbre.. mala costumbre.

Espero que con esto quede solucionado.

Saludos!
  #13 (permalink)  
Antiguo 19/01/2007, 10:59
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Hola:
He corregido algún espacio en blanco que daba error del Codigo modificar.asp, además de lo que tú ya habías corregido.

Queda así:

<%
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../db/DHcadete/DHcadete.mdb") & ";"
db.Open DB_CONNECTIONSTRING
set rsActual = Server.CreateObject("ADODB.Recordset")
SQLActual = "SELECT JornadaA, FechaA, LocalA, GolesLA, VisitanteA, GolesVA FROM Portada"
rsActual.Open SQLActual,DB_CONNECTIONSTRING
%>

<html>
<head>
</head>
<body>
<form NAME="frmForm" METHOD="post">
<div align="center">
<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#003366">
<%
Dim i
i=0
do while not rsActual.EOF
i = i + 1
%>
<tr>
<INPUT Type=hidden Id='txtId<%=i%>' Name='txtId<%=i%>' value='<%= JornadaA %>' >
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("LocalA")% ></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesLA")%></p></td>
<td bgcolor="#FFFFFF">
<INPUT TYPE=text Id='txtGolesLA<%=i%>' Name='txtGolesLA<%=i%>' VALUE='<%=rsActual.Fields("GolesLA")%>' >
</td>
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("Visitante A")%></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesVA")%></p></td>
<td bgcolor="#FFFFFF">
<INPUT TYPE=text Id='txtGolesVA<%=i%>' Name='txtGolesVA<%=i%>' VALUE='<%=rsActual.Fields("GolesVA")%>' >
</td>

</tr>
<% rsActual.movenext
loop %>
<INPUT Type=hidden Id='txtRows' Name='txtRows' value='<%=i%>' >
</table>
</div>

<p>
<% rsActual.close
db.close
set rsActual = nothing
set db = nothing %>
</p>
<p><INPUT Type=Button onclick='mGuardar();' value='Guardar Cambios' id=cmdGuardar >
&nbsp; </p>
<p>&nbsp;</p>
</body>
</html>

<script language="JavaScript">
<!--
function mGuardar()
{
document.frmForm.action = 'Actualizar.asp';
document.frmForm.submit();
}
-->
</script>

Gracias.
  #14 (permalink)  
Antiguo 19/01/2007, 11:00
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

El código de actualizar.asp queda así:

<%
Dim i
Dim j

If trim(Request("txtRows")) <> "" Then
j= cint(Request("txtRows"))
Else
j = 0
End If

'Abrimos la conexión a la base de datos.
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../db/DHcadete/DHcadete.mdb") & ";"
db.Open DB_CONNECTIONSTRING

For i=1 to j 'Para todos los renglones.
strGolesLA = trim(Request("txtGolesLA" & i))
strGolesVA = trim(Request("txtGolesVA" & i ))
strJornada = trim(Request("txtId" & i ))
If strGolesLA <> "" AND strGolesVA <> "" Then
'Si hay cantidad en Goles, insertar registro.
StrSQL = "UPDATE Portada SET GolesLA=" & strGolesLA & " , GolesVA= " & strGolesVA
strSQL = strSQL & " WHERE JornadaA= " & strJornada
'Actualizamos el registro.
db.Execute strSQL
End If
Next

'Cerramos y liberamos la conexión
db.Close
Set db = Nothing

'Redireccionamos a la página principal.
Reponse.redirect "ligas2.asp"

%>
  #15 (permalink)  
Antiguo 19/01/2007, 11:01
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Hola Daniel00:

Ahora el error sale en :

Microsoft VBScript runtime error '800a01a8'

Object required: 'db'

Actualizar.asp, line 14

Gracias por tu esfuerzo en conseguirlo.
  #16 (permalink)  
Antiguo 19/01/2007, 11:09
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Que tal.

De las líneas que ya tienes:
Código:
....
'Abrimos la conexión a la base de datos.
Dim DB_CONNECTIONSTRING
...
En medio de esas dos líneas hay que agregar una línea para crear un objeto conection, para tener:

Código:
....
'Abrimos la conexión a la base de datos.
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
...
Saludos y suerte!
  #17 (permalink)  
Antiguo 19/01/2007, 11:44
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Hola:

Ya he puesto esa frase, pero el error sale ahora en:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'JornadaA='.

Actualizar.asp, line 26


Este es la parte del código implicada:

For i=1 to j 'Para todos los renglones.
strGolesLA = trim(Request("txtGolesLA" & i))
strGolesVA = trim(Request("txtGolesVA" & i ))
strJornada = trim(Request("txtId" & i ))
If strGolesLA <> "" AND strGolesVA <> "" Then
'Si hay cantidad en Goles, insertar registro.
StrSQL = "UPDATE Portada SET GolesLA=" & strGolesLA & " , GolesVA= " & strGolesVA
strSQL = strSQL & " WHERE JornadaA= " & strJornada
'Actualizamos el registro.
db.Execute strSQL
End If
Next


Muchas gracias.
  #18 (permalink)  
Antiguo 19/01/2007, 12:16
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Hola!

Esperemos que con esta mopdificacíón ya quede resuelto.

En el archivo modificar.asp, hay una línea que dice:
Código:
<INPUT Type=hidden Id='txtId<%=i%>' Name='txtId<%=i%>'  value='<%=  JornadaA %>'
Debe de decir:
Código:
<INPUT Type=hidden Id='txtId<%=i%>' Name='txtId<%=i%>'  value='<%=rsActual.Fields("JornadaA")%>'
Ahora bien estoy suponiendo que el campo JornadaA de la tabla Portada, es tu llave primaria, es decir, ese campo no se repite en varios registros, o bién, cada valor de ese campo es diferente en cada registro.

También hay que considerar que:
1.- Si el campo JornadaA es de tipo númerico con ese cambio bastará.
2.- Si es campo JornadaA es de tipo cadena(texto), hay que cambiar la siguiente línea del archivo actualizar.asp
Donde dice:
Código:
strSQL = strSQL " WHERE JornadaA= " strJornada
Debe decir:
Código:
strSQL = strSQL " WHERE JornadaA= '" & strJornada & "'"
-- Lo que esta en color naranja es un apostrofe.

Saludos.
  #19 (permalink)  
Antiguo 20/01/2007, 04:27
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Hola:

Me sigue dando error probando de todas formas que me comentas.

Los campos de la base de datos son (por orden):
Partido, JornadaA, FechaA, JornadaA, LocalA, GolesLA, VisitanteA, GolesVA, JornadaS, JornadaS, FechaS, LocalS, GolesLS, VisitanteS, GolesVS.

Son todos de texto, y ninguna es clave principal.
Los únicos que quiero actualizar son GolesLA y GolesVA, pero también en modificar.asp deben verse LocalA y VisitanteA.

He probado a quitar las líneas del código donde aparece JornadaA y srtJornada y no sale error en compilación, pero actualiza erróneamente las casillas con todo ceros, cuando había puesto otros números en modificar.asp .

Gracias por la atención. Siento no saber explicar mas por mis pocos conocimientos de programación.

Si quieres, te envio la base de datos para que le eches un vistazo.
Saludos.
  #20 (permalink)  
Antiguo 20/01/2007, 09:40
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Modificar una tabla de access con asp

Cita:
Iniciado por Gacetaragon Ver Mensaje
Son todos de texto, y ninguna es clave principal.

Ese es el principal error de tu sistema, daniel00 lo explica perfectamente.

Cita:
También hay que considerar que:
1.- Si el campo JornadaA es de tipo númerico con ese cambio bastará.
2.- Si es campo JornadaA es de tipo cadena(texto), hay que cambiar la siguiente línea del archivo actualizar.asp
Finalmente, si analizas tu sentencia UPDATE, busca actualizar un registro DONDE un campo sea igual a un valor, por lo tanto lo ideal es que tengas un valor numerico no repetitivo para cada uno de tus registros, y lo conviertas en tu campo llave.
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #21 (permalink)  
Antiguo 24/01/2007, 16:21
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Que tal.

Ya tenía rato que no le daba seguimiento a tu caso.

Cita:
He probado a quitar las líneas del código donde aparece JornadaA y srtJornada y no sale error en compilación, pero actualiza erróneamente las casillas con todo ceros, cuando había puesto otros números en modificar.asp .
Te actualiza todos iguales pues haz quitado los criterios de actualización. ( WHERE ). Yo use el campo Jornada, pues es el que ponias en tu consulta.

Cita:
Los campos de la base de datos son (por orden):
Partido, JornadaA, FechaA, JornadaA, LocalA, GolesLA, VisitanteA, GolesVA, JornadaS, JornadaS, FechaS, LocalS, GolesLS, VisitanteS, GolesVS.

Son todos de texto, y ninguna es clave principal.
Los únicos que quiero actualizar son GolesLA y GolesVA, pero también en modificar.asp deben verse LocalA y VisitanteA.
Bien, entonces usemos el campo Partido , como llave primaria, y esperemos que funcione.

Para lo cual hay que cambiar la siguientes líneas:

En modificar.asp...
Donde dice:
SQLActual = "SELECT JornadaA, FechaA, LocalA, GolesLA, VisitanteA, GolesVA FROM Portada"
Debe decir:
Código:
SQLActual = "SELECT Partido, FechaA, LocalA, GolesLA, VisitanteA, GolesVA FROM Portada"
Donde dice:
<INPUT Type=hidden Id='txtId<%=i%>' Name='txtId<%=i%>' value='<%= JornadaA %>' >
Debe decir:
Código:
<INPUT Type=hidden Id='txtPartido<%=i%>' Name='txtPartido<%=i%>' value='<%= Partido %>' >
En actualizar.asp...
Donde dice:
strJornada = trim(Request("txtId" & i ))
Debedecir:
Código:
strPartido = trim(Request("txtPartido" & i ))
Donde dice:
StrSQL = "UPDATE Portada SET GolesLA=" & strGolesLA & " , GolesVA= " & strGolesVA
strSQL = strSQL & " WHERE JornadaA= " & strJornada
Debe decir:
StrSQL = "UPDATE Portada SET GolesLA='" & strGolesLA & "' , GolesVA= '" & strGolesVA & "'"
strSQL = strSQL & " WHERE Partido= " & strPartido & "'"

Saludos y suerte!!
  #22 (permalink)  
Antiguo 25/01/2007, 09:40
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

Hola:

Ya no dá error, pero no actualizan ningún nuevo dato que se quiere insertar. La tabla se queda igual que estaba.

Estos son los códigos como han quedado ahora con tus correcciones.
Muchas gracias.


He puesto una comilla que faltaba en
strSQL = strSQL & " WHERE Partido= " & strPartido & "'"
por:
strSQL = strSQL & " WHERE Partido= '" & strPartido & "'"



modificar.asp

<%
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../db/DHcadete/DHcadete.mdb") & ";"
db.Open DB_CONNECTIONSTRING
set rsActual = Server.CreateObject("ADODB.Recordset")
SQLActual = "SELECT Partido, FechaA, LocalA, GolesLA, VisitanteA, GolesVA FROM Portada"
rsActual.Open SQLActual,DB_CONNECTIONSTRING
%>

<html>
<head>
</head>
<body>
<form NAME="frmForm" METHOD="post">
<div align="center">
<table width="100%" cellpadding="0" cellspacing="1" bgcolor="#003366">
<%
Dim i
i=0
do while not rsActual.EOF
i = i + 1
%>
<tr>
<INPUT Type=hidden Id='txtPartido<%=i%>' Name='txtPartido<%=i%>' value='<%= Partido %>' >
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("LocalA")% ></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesLA")%></p></td>
<td bgcolor="#FFFFFF">
<INPUT TYPE=text Id='txtGolesLA<%=i%>' Name='txtGolesLA<%=i%>' VALUE='<%=rsActual.Fields("GolesLA")%>' >
</td>
<td bgcolor="#FFFFFF"><p><%=rsActual.Fields("Visitante A")%></p></td>
<td bgcolor="#FFFFFF"><p align="center"><%=rsActual.Fields("GolesVA")%></p></td>
<td bgcolor="#FFFFFF">
<INPUT TYPE=text Id='txtGolesVA<%=i%>' Name='txtGolesVA<%=i%>' VALUE='<%=rsActual.Fields("GolesVA")%>' >
</td>

</tr>
<% rsActual.movenext
loop %>
<INPUT Type=hidden Id='txtRows' Name='txtRows' value='<%=i%>' >
</table>
</div>

<p>
<% rsActual.close
db.close
set rsActual = nothing
set db = nothing %>
</p>
<p><INPUT Type=Button onclick='mGuardar();' value='Guardar Cambios' id=cmdGuardar >
&nbsp; </p>
<p>&nbsp;</p>
</body>
</html>

<script language="JavaScript">
<!--
function mGuardar()
{
document.frmForm.action = 'Actualizar.asp';
document.frmForm.submit();
}
-->
</script>




actualizar.asp

<%
Dim i
Dim j

If trim(Request("txtRows")) <> "" Then
j= cint(Request("txtRows"))
Else
j = 0
End If

'Abrimos la conexión a la base de datos.
Set db = Server.CreateObject("ADODB.Connection")
Dim DB_CONNECTIONSTRING
DB_CONNECTIONSTRING = "Driver={Microsoft Access Driver (*.mdb)};Dbq=" & Server.MapPath("../db/DHcadete/DHcadete.mdb") & ";"
db.Open DB_CONNECTIONSTRING

For i=1 to j 'Para todos los renglones.
strGolesLA = trim(Request("txtGolesLA" & i ))
strGolesVA = trim(Request("txtGolesVA" & i ))
strPartido = trim(Request("txtPartido" & i ))
If strGolesLA <> "" AND strGolesVA <> "" Then
'Si hay cantidad en Goles, insertar registro.
StrSQL = "UPDATE Portada SET GolesLA='" & strGolesLA & "' , GolesVA= '" & strGolesVA & "'"
strSQL = strSQL & " WHERE Partido= '" & strPartido & "'"

'Actualizamos el registro.
db.Execute strSQL
End If
Next

'Cerramos y liberamos la conexión
db.Close
Set db = Nothing

'Redireccionamos a la página principal.
Response.redirect "ligas2.asp"

%>
  #23 (permalink)  
Antiguo 25/01/2007, 10:02
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Que tal.

En el archivo modificar.asp:

La línea que dice
<INPUT Type=hidden Id='txtPartido<%=i%>' Name='txtPartido<%=i%>' value='<%= Partido %>' >

Debe decir:
Código:
<INPUT Type=hidden Id='txtId<%=i%>' Name='txtId<%=i%>'  value='<%=rsActual.Fields("Partido")%>'
Saludos!
  #24 (permalink)  
Antiguo 25/01/2007, 11:04
 
Fecha de Ingreso: agosto-2004
Mensajes: 50
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Modificar una tabla de access con asp

¡FUNCIONA!

Daniel00, eres un mostruo!!!
Ahora voy a echar mas pruebas para asegurarme de la perfección.

Muchísimas gracias.
  #25 (permalink)  
Antiguo 25/01/2007, 11:27
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 7 meses
Puntos: 8
Re: Modificar una tabla de access con asp

Me agrada ese mensaje, enhorabuena.

Cualquier otra duda por aquí andamos.

Saludos!
  #26 (permalink)  
Antiguo 25/01/2007, 12:00
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Re: Modificar una tabla de access con asp

Es un monstruo y no lo hagas enojar porque te come

Saludos
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #27 (permalink)  
Antiguo 09/02/2007, 04:00
Avatar de alamarcheta  
Fecha de Ingreso: mayo-2005
Ubicación: Isla Mêlée
Mensajes: 503
Antigüedad: 19 años, 1 mes
Puntos: 1
Muy bueno este post. Voy a ver si lo puedo acoplar a mi Web

Saludos y 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 21:30.