ASP Y EXCEL

18/12/2007 - 06:15 por Franz | Informe spam
hola chicos mirentoy trantando de adjuntar un arcghivo excel mediante una
pagina .asp y no se por que no me sale esta codigo , me sale errores q no
puedo examinar , espero que me puedan ayudar les agredeceria



<%

Path=Server.MapPath("libro1.xls")

Set ConexionBD = Server.CreateObject("ADODB.Connection")

ConexionBD.Open "DRIVER={Microsoft Excel DRIVER (*.xls)};DBQ=" & Path

Set rsVac = Server.CreateObject("ADODB.Recordset")

rsVac.Open "Select * From A1:C3 ", ConexionBD,3,3

rsVac.MoveFirst

Response.Write "<table>"

Response.Write "<th>" & rsVac.Fields.Item(0).Name & "</th>" & vbCrLf

Response.Write "<th>" & rsVac.Fields.Item(1).Name & "</th>" & vbCrLf

Response.Write "<th>" & rsVac.Fields.Item(2).Name & "</th>" & vbCrLf

Set ConexionDBSql = Server.CreateObject("ADODB.Connection")

ConexionDBSql.Open "DRIVER={SQL
Server};Server=PCINF12;SOURCE=lista;UID=sa;PWD="

Set sql = Server.CreateObject("ADODB.command")

sql.ActiveConnection = ConexionDBSql

Do While Not rsVac.EOF

Response.Write "<tr>" & vbCrLf

'Response.Write "<td>" & rsVac(0) & "</td>"

'Response.Write "<td>" & rsVac(1) & "</td>"

'Response.Write "<td>" & rsVac(2) & "</td>"


sql.CommandText = "INSERT INTO
ConexionDBSql.relacion(nombre,direccion,correo) VALUES (" & rsVac(0) & "," &
rsVac(1) & "," & rsVac(2) & ")"

sql.execute

Response.Write "</tr>" & vbCrLf

rsVac.MoveNext

Loop

Response.Write "</table>"

ConexionBD.Close

ConexionDBSql.Close

Set ConexionBD = Nothing

Set ConexionDBSql = Nothing

%>

Preguntas similare

Leer las respuestas

#6 Ing Charpentier
20/12/2007 - 19:14 | Informe spam
GRACIAS CHICOS POR DARME ALGUNA PAUTAS PERO EH EXAMINADO ALGUNOS CODIGOS Y
HECHO ESTO:

<%

Set ConexionDBSql = Server.CreateObject("ADODB.Connection")
ConexionDBSql.Open "DRIVER={SQL
Server};Server=PCINF12;Database=lista;UID=sa;PWD="
Set sql = Server.CreateObject("ADODB.command")
sql.ActiveConnection = ConexionDBSql

sql.CommandText= "INSERT INTO relacion$(nombre,direccion,correo) SELECT *
FROM " & _
"OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _
"'Excel 8.0;Database=\Libro1.xls', " & _
"[relacion$])"
sql.execute
ConexionDBSql.Close
Set ConexionDBSql = Nothing
%>
Y ME SALE ESTE ERROR:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]El proveedor OLE DB
'Microsoft.Jet.OLEDB.4.0' no contiene la tabla 'relacion$'. La tabla no
existe o bien el usuario actual no tiene permisos para ella.
/Prueba/subir_archivo.asp, línea 30


"~ jose ~" escribió en el mensaje
news:
Hola, que hay?
además de lo que comenta Héctor, creo que también puedes probar con
esta modificación que expongo.
de:-> Path=Server.MapPath("libro1.xls")
a: -> Path=Server.MapPath("\libro1.xls")

Un saludo,
jose
Respuesta Responder a este mensaje
#7 Ing Charpentier
20/12/2007 - 19:46 | Informe spam
AMIGOS YA ME SALIO PERO SABES TENGO UNA DUDA MAS, EN EL SELECT AHI TOY
DIRECCIONANDO A UN RANGO ESPECIFICO DE MI HOJA DE EXCEL , POR QUE CUANDO
INGRESO MAS REGISTROS NO ME LOS ESTA LEYENDO,

<%
Path=Server.MapPath("Libro1.xls")
Set ConexionBD = Server.CreateObject("ADODB.Connection")
ConexionBD.Open "DRIVER={Microsoft Excel DRIVER (*.xls)};DBQ=" & Path
Set rsVac = Server.CreateObject("ADODB.Recordset")
rsVac.Open "Select * From A1:C3 ", ConexionBD,3,3

Set ConexionDBSql = Server.CreateObject("ADODB.Connection")
ConexionDBSql.Open "DRIVER={SQL
Server};Server=PCINF12;Database=lista;UID=sa;PWD="
Set sql = Server.CreateObject("ADODB.command")
sql.ActiveConnection = ConexionDBSql

rsVac.MoveFirst
Do While Not rsVac.EOF

sql.CommandText = "INSERT INTO relacion$ VALUES ('" & rsVac(0) & "','" &
rsVac(1) & "','" & rsVac(2) & "')"
sql.execute

rsVac.MoveNext
Loop
ConexionBD.Close
ConexionDBSql.Close
Set ConexionBD = Nothing
Set ConexionDBSql = Nothing
%>


"Ing Charpentier" escribió en el mensaje
news:%
GRACIAS CHICOS POR DARME ALGUNA PAUTAS PERO EH EXAMINADO ALGUNOS CODIGOS Y
HECHO ESTO:

<%

Set ConexionDBSql = Server.CreateObject("ADODB.Connection")
ConexionDBSql.Open "DRIVER={SQL
Server};Server=PCINF12;Database=lista;UID=sa;PWD="
Set sql = Server.CreateObject("ADODB.command")
sql.ActiveConnection = ConexionDBSql

sql.CommandText= "INSERT INTO relacion$(nombre,direccion,correo) SELECT *
FROM " & _
"OPENROWSET('Microsoft.Jet.OLEDB.4.0', " & _
"'Excel 8.0;Database=\Libro1.xls', " & _
"[relacion$])"
sql.execute
ConexionDBSql.Close
Set ConexionDBSql = Nothing
%>
Y ME SALE ESTE ERROR:

Tipo de error:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC SQL Server Driver][SQL Server]El proveedor OLE DB
'Microsoft.Jet.OLEDB.4.0' no contiene la tabla 'relacion$'. La tabla no
existe o bien el usuario actual no tiene permisos para ella.
/Prueba/subir_archivo.asp, línea 30


"~ jose ~" escribió en el mensaje
news:
Hola, que hay?
además de lo que comenta Héctor, creo que también puedes probar con
esta modificación que expongo.
de:-> Path=Server.MapPath("libro1.xls")
a: -> Path=Server.MapPath("\libro1.xls")

Un saludo,
jose

Respuesta Responder a este mensaje
#8 Héctor Miguel
21/12/2007 - 05:01 | Informe spam
hola, Franz !

... TENGO UNA DUDA MAS, EN EL SELECT AHI TOY DIRECCIONANDO A UN RANGO ESPECIFICO ...
POR QUE CUANDO INGRESO MAS REGISTROS NO ME LOS ESTA LEYENDO



(supongo que) se debera precisamente a que estas direccionando a un rango "especifco" (cuando haces el)...
-> rsVac.Open "Select * From A1:C3 ",ConexionBD,3,3

si no estas seguro de hasta que fila existen datos, prueba cambiando esa instruccion +/- a...
-> rsVac.Open "Select * From A:C ",ConexionBD,3,3

saludos,
hector.

__ el codigo expuesto __
<%
Path=Server.MapPath("Libro1.xls")
Set ConexionBD = Server.CreateObject("ADODB.Connection")
ConexionBD.Open "DRIVER={Microsoft Excel DRIVER (*.xls)};DBQ=" & Path
Set rsVac = Server.CreateObject("ADODB.Recordset")
rsVac.Open "Select * From A1:C3 ", ConexionBD,3,3
Set ConexionDBSql = Server.CreateObject("ADODB.Connection")
ConexionDBSql.Open "DRIVER={SQL Server};Server=PCINF12;Database=lista;UID=sa;PWD="
Set sql = Server.CreateObject("ADODB.command")
sql.ActiveConnection = ConexionDBSql
rsVac.MoveFirst
Do While Not rsVac.EOF
sql.CommandText = "INSERT INTO relacion$ VALUES ('" & rsVac(0) & "','" & rsVac(1) & "','" & rsVac(2) & "')"
sql.execute
rsVac.MoveNext
Loop
ConexionBD.Close
ConexionDBSql.Close
Set ConexionBD = Nothing
Set ConexionDBSql = Nothing
%>
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida