en si... estas tratando de cambiar excel por la base de datos, pero que mantenga el historial por usuario???
se puede intentar crear las tablas en SQL, igual como lo tienes en excel, logicamente columnas(excel)-campo(tabla)
ahora,
leer la tabla de excel, lo podrias consultar con esta pagina, lo que hace es..... crea la conexion a excel, lee un rango que ya habias determinado(vienen los pasos en la pagina), hace un Update en el mismo archivo y nuevamente lee los datos
si te das cuenta, podrias modificar la parte de UPDATE, y poner un INSERT INTO, para la base de datos en SQL, y podrias pasar tus datos sin problemas...
ahora respecto a la relacion entre tablas, solo debes considerar que en la tabla llamadas anexaras el ID_key de viajes como un campo mas
asi cuando realizes la consulta, buscarias con un inner join los datos
el codigo de la pagina, lo pondremos aki para que lo miren
Código HTML:
<!-- Begin ASP Source Code -->
<%@ LANGUAGE="VBSCRIPT" %>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "ADOExcel"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.ActiveConnection = objConn
objRS.CursorType = 3 'Static cursor.
objRS.LockType = 2 'Pessimistic Lock.
objRS.Source = "Select * from myRange1"
objRS.Open
%>
<br>
<%
Response.Write("Original Data")
'Printing out original spreadsheet headings and values.
'Imprimiendo la hoja original con encabezados y valores
'Note that the first recordset does not have a "value" property
'just a "name" property. This will spit out the column headings.
'Notemos que el primer registro, no contiene la propiedad "valor"
'solo la propiedad "nombre. esto traera los encabezados"
Response.Write("<TABLE><TR>")
For X = 0 To objRS.Fields.Count - 1
Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
Next
Response.Write("</TR>")
objRS.MoveFirst
While Not objRS.EOF
Response.Write("<TR>")
For X = 0 To objRS.Fields.Count - 1
Response.write("<TD>" & objRS.Fields.Item(X).Value)
Next
objRS.MoveNext
Response.Write("</TR>")
Wend
Response.Write("</TABLE>")
'The update is made here
'La actualizacion la haremos en esta parte
objRS.MoveFirst
objRS.Fields(0).Value = "change"
objRS.Fields(1).Value = "look"
objRS.Fields(2).Value = "30"
objRS.Update
'Printing out spreadsheet headings and values after update.
'Imprimiendo la hoja con encabezados y valores despues de la actualizacion
Response.Write("<br>Data after the update")
Response.Write("<TABLE><TR>")
For X = 0 To objRS.Fields.Count - 1
Response.Write("<TD>" & objRS.Fields.Item(X).Name & "</TD>")
Next
Response.Write("</TR>")
objRS.MoveFirst
While Not objRS.EOF
Response.Write("<TR>")
For X = 0 To objRS.Fields.Count - 1
Response.write("<TD>" & objRS.Fields.Item(X).Value)
Next
objRS.MoveNext
Response.Write("</TR>")
Wend
Response.Write("</TABLE>")
'ADO Object clean up.
'Limpiando Objetos
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
<!-- End ASP Source Code -->
Bueno, ahora en esta parte
Cita: objRS.MoveFirst
objRS.Fields(0).Value = "change"
objRS.Fields(1).Value = "look"
objRS.Fields(2).Value = "30"
objRS.Update
en lugar de actualizar al excel, lo cambiamos por SQL
Código HTML:
valores=""
campos=""
For X = 0 To objRS.Fields.Count - 1
if x=0 then
Campos = objRS.Fields.Item(X).Name
Valores = objRS.Fields.Item(X).Value
else
Campos = Campos & "," & objRS.Fields.Item(X).Name
Valores = valores & "," & objRS.Fields.Item(X).Value
end if
Next
SQL_insertar = "insert into tabla(" & campos & ") Values(" & Valores & ");"
conexion.execute(SQL_insertar)
if Err=0 then
response.Write "insercion exitosa"
else
response.Write "Error en la insercion <br />" & Err
end if
conexion debera estar definida para conectarse a la tabla en SQL
bueno es solo una idea

no se me habra sobrecalentado el pensamiento, funcionara????