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

Alguien que me ayude con este script?

Estas en el tema de Alguien que me ayude con este script? en el foro de ASP Clásico en Foros del Web. Para algún iluminado que me pueda ayudar con esto. Aquí va lo que necesito hacer pero no se como. Tengo una SQL que carga los ...
  #1 (permalink)  
Antiguo 26/10/2003, 00:44
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Alguien que me ayude con este script?

Para algún iluminado que me pueda ayudar con esto. Aquí va lo que necesito hacer pero no se como.
Tengo una SQL que carga los datos de un formulario en varias tablas de Access, pero una de las tablas la primera tiene su campo principal como Autonumérico y las otras tablas no, lo que yo quiero hacer, es que despues que la 1er SQL cargue los datos en la primera tabla (la que tiene el campo autonumerico), se extraiga de esa tabla el ultimo valor del campo autonumérico (osea el que acaba de ingresar), y lo pase como una variable a las siguientes SQL que cargan los otros datos que vienen del formulario y así ingresar ese valor que se extrajo en las otras tablas en su respectivo campo, aqui les paso el script para que se les aclare el panorama, a ver quien lo puede hacer que yo no puedo:
<%
Dim ObjDB
Dim ObjRS
Dim Sql
Dim Variable (este campo variable sería el numero que tengo que extraer de la primer tabla)

strConnection = "aca iria la conexion con la base de datos access"
Set ObjDB = Server.CreateObject("ADODB.Connection")
ObjDB.Open strConnection

'Esta es la tabla que tiene el campo autonumerico y de la cual tengo que extraer el valor que
les digo que ya se ingreso con el Insert de la SQL.

Sql = "Insert Into Nombre Tabla (NOMBRE,APELLIDO) values ('"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("apellido")&"');"
Set ObjRS = ObjDB.Execute(Sql)

'Lo que no se como hacer es que extraiga el valor del campo (supongamos) ID de la primer tabla (que se genreo solo por el autonumerico),
'pero despues que ya lo cargo con la SQL anterior y lo pase como variable para que las siguientes SQL
'(que serían las de abajo) lo carguen en el lugar que va.

'Estas serían las otras SQL que ingresan los datos en las otras tablas.
Sql = "Insert Into La otra tabla (ID,NOMBRE,EMAIL) values ('"
Sql = Sql&Variable&"','"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("email")&"');"
Set ObjRS = ObjDB.Execute(Sql)

Sql = "Insert Into La otra tabla (ID,NOMBRE,DIRECCION,) values ('"
Sql = Sql&Variable&"','"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("direccion")&"');"
Set ObjRS = ObjDB.Execute(Sql)
%>
Lo felicito por anticipado al que pueda porque yo hace tres días que lucho con esto y no me sale. Al que sepa como hacerlo y si puede que postee el script que les paso pero como quedaría.

Gracias anticipadas
  #2 (permalink)  
Antiguo 26/10/2003, 07:11
Avatar de JuraSSik  
Fecha de Ingreso: octubre-2003
Ubicación: Barcelona
Mensajes: 29
Antigüedad: 20 años, 8 meses
Puntos: 0
Para extraer el último valor de un campo, utiliza:

SELECT Max(Id) AS VALOR FROM tabla

donde valor es la variable que contendría el valor del ultimo registro ID, de la tabla.


Saludos.
  #3 (permalink)  
Antiguo 26/10/2003, 14:10
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
No me anda, puedes fijarte que paso

Amigo copio la linea que tu me dices pero no me anda y no se que pasa, puedes fijarte y corregirlo? Aqui te paso como lo agregue yo en el codigo a lo que tu me pasaste.

<%
Dim ObjDB
Dim ObjRS
Dim Sql
Dim Variable (este campo variable sería el numero que tengo que extraer de la primer tabla)

strConnection = "aca iria la conexion con la base de datos access"
Set ObjDB = Server.CreateObject("ADODB.Connection")
ObjDB.Open strConnection

'Esta es la tabla que tiene el campo autonumerico y de la cual tengo que extraer el valor que
les digo que ya se ingreso con el Insert de la SQL.

Sql = "Insert Into Nombre Tabla (NOMBRE,APELLIDO) values ('"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("apellido")&"');"
Set ObjRS = ObjDB.Execute(Sql)

sql= "SELECT Max(ID) AS Variable FROM Nombre Tabla;"
Set ObjRS = ObjDB.Execute(Sql)

'Estas serían las otras SQL que ingresan los datos en las otras tablas.
Sql = "Insert Into La otra tabla (ID,NOMBRE,EMAIL) values ('"
Sql = Sql&Variable&"','"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("email")&"');"
Set ObjRS = ObjDB.Execute(Sql)

Sql = "Insert Into La otra tabla (ID,NOMBRE,DIRECCION,) values ('"
Sql = Sql&Variable&"','"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("direccion")&"');"
Set ObjRS = ObjDB.Execute(Sql)
%>

No se que pasa que no anda.
El error que me tira es en la linea que te marque con negrilla. Y no carga ningun dato en esa tabla.
Agradecería muchisimo que postes el codigo que te paso con la linea como tu dices que iria.
  #4 (permalink)  
Antiguo 27/10/2003, 11:45
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 4 meses
Puntos: 50
Cita:
sql= "SELECT Max(ID) AS Variable FROM Nombre Tabla;"
Set ObjRS = ObjDB.Execute(Sql)

'Estas serían las otras SQL que ingresan los datos en las otras tablas.
Sql = "Insert Into La otra tabla (ID,NOMBRE,EMAIL) values ('"
Sql = Sql&Variable&"','"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("email")&"');"
Set ObjRS = ObjDB.Execute(Sql)
Hola.. creo que en Variable no estas guardando el valor del
recordset.. solo lo estás usando como alias en tu consulta.

Te podría quedar así:

Cita:
sql= "SELECT Max(ID) AS Variable FROM Nombre Tabla;"
Set ObjRS = ObjDB.Execute(Sql)
Variable = ObjRS("Variable")
objRS.Close

'Estas serían las otras SQL que ingresan los datos en las otras tablas.
Sql = "Insert Into La otra tabla (ID,NOMBRE,EMAIL) values ('"
Sql = Sql&Variable&"','"
Sql = Sql&request.Form("nombre")&"','"
Sql = Sql&request.Form("email")&"');"
Set ObjRS = ObjDB.Execute(Sql)
Y recuerda cerrar tus recodsets y conexiones

Saludos y suerte
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #5 (permalink)  
Antiguo 28/10/2003, 10:47
 
Fecha de Ingreso: abril-2002
Mensajes: 127
Antigüedad: 22 años, 2 meses
Puntos: 0
Gracias por la ayuda amigos!!

Gracias por la ayuda amigos, la verdad que no se que haría sin la gente del foro.

RootK tenías razón me había olvidado del guardar el valor del recordset ahora me funciono perfectamente.

Gracias nuevamente a los que respondieron a mi problema.

Y un por saber tanto.
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 20:44.