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

Mostrar resultado en dos tablas mediante una sola tabla de access

Estas en el tema de Mostrar resultado en dos tablas mediante una sola tabla de access en el foro de ASP Clásico en Foros del Web. Que tal amigos una ayudadita, me he quebrado la cabeza con lo siguiente: tengo un buscador de palabras, que hace una consulta a una tabla ...
  #1 (permalink)  
Antiguo 21/06/2011, 18:00
 
Fecha de Ingreso: noviembre-2005
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
Mostrar resultado en dos tablas mediante una sola tabla de access

Que tal amigos una ayudadita, me he quebrado la cabeza con lo siguiente:
tengo un buscador de palabras, que hace una consulta a una tabla de access y que contiene 12 columnas. y dichas columnas de la tabla las quiero mostrar en una pagina pero son demaciadas columas. aqui es lo que quiero, mostrar esas 12 columnas en 2 tablas distintas una seguida de la otra hacia abajo, para que no se vea muchos datos en una sola fila. espero me puedan ayudar.

saludos.

aqui pongo mi codigo:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("bd_consulta.mdb") & ""

cdatos=request.form("tabla_consul")
set rs=createobject("ADODB.Recordset")
sqltxt="select dato1,dato2,dato3,dato4,dato5,dato6,dato7,dato8,da to9,dato10,dato11,dato12 from tabla_consul where dato1 like '%"&cdatos&"%'"
rs.ActiveConnection = conn
rs.open sqltxt,conn
%>


<%if rs.eof then%>
<h3 align="center"><font face="Arial, Helvetica, sans-serif" size="+0" color="#003366">No hay datos que coincidan con su petición</font></h3>
<%else%><p>

<table width="700" border="0" align="center">
<tr>
<th width="33%" valign="middle" align="center" bgcolor="#FFCC00">
<font color="#000000">dato1</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF9900">
<font color="#000000">dato2</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF6600">
<font color="#000000">dato3</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FFCC00">
<font color="#000000">dato4</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF9900">
<font color="#000000">dato5</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF6600">
<font color="#000000">dato6</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF9900">
<font color="#000000">dato7</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF6600">
<font color="#000000">dato8</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FFCC00">
<font color="#000000">dato9</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF9900">
<font color="#000000">dato10</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF6600">
<font color="#000000">dato11</font></th>
<th width="33%" valign="middle" align="center" bgcolor="#FF6600">
<font color="#000000">dato12</font></th>
</tr>
<%do while not rs.eof%>
<tr>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato1")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato2")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato3")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato4")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato5")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato6")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato7")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato8")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato9")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato10")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato11")%></font></td>
<td width="33%" valign="middle" align="center" bgcolor="#CCCCCC">
<font color="#000000"><%=rs("dato12")%></font></td>
</tr>
<%rs.movenext
loop
rs.close
end if%>
</table>
  #2 (permalink)  
Antiguo 29/06/2011, 10:31
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 8
Respuesta: Mostrar resultado en dos tablas mediante una sola tabla de access

a ver si te entendí...
quieres mostrar las doce columnas en dos tablas de 6 columnas cada una???
eso????

dato1-dato2-dato3-dato4-dato5-dato6
.
.
.
.
dato7-dato8-dato9-dato10-dato11-dato12
.
.
.
.
  #3 (permalink)  
Antiguo 08/07/2011, 11:11
 
Fecha de Ingreso: noviembre-2005
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: Mostrar resultado en dos tablas mediante una sola tabla de access

Asi es, lo que pasa que son demaciadas columnas a mostrar y pense en dividirlas en dos tablas cada una con 6 columnas. pero no se si es posible hacer eso, gracias de antemano.
  #4 (permalink)  
Antiguo 08/07/2011, 12:51
Avatar de pcarvajal  
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 22 años, 2 meses
Puntos: 8
Respuesta: Mostrar resultado en dos tablas mediante una sola tabla de access

Bueno, es solo una idea, quizás no la más optima para algunos, pero ojala te sirva.

Código PHP:

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" server.MapPath("bd_consulta.mdb") & ""

cdatos=request.form("tabla_consul")
set rs=createobject("ADODB.Recordset")
sqltxt="select dato1,dato2,dato3,dato4,dato5,dato6,dato7,dato8,da to9,dato10,dato11,dato12 from tabla_consul where dato1 like '%"&cdatos&"%'"
rs.ActiveConnection conn
rs
.open sqltxt,conn
%>

<%if 
rs.eof then%>
<
h3 align="center"><font face="Arial, Helvetica, sans-serif" size="+0" color="#003366">No hay datos que coincidan con su petición</h3>
<%else%>
<%
'--declaramos dos arreglos de largo 1000 suponiendo que la cantidad de datos es menor o igual que ese numero
Dim ArrayUnoSeis(1000,1000) 
Dim ArraySieteDoce(1000,1000)
Dim contador, i,j
contador = 0
i = 0
j = 0
do while not rs.eof
    i = i + 1 
    '
--discriminamos por nombres de columnaslas seis primeras van al aprimer arreglolas seis siguientes al segundo
    
if rs.fields(1).name  "dato1"  then ArrayUnoSeis(i,rs("dato1")) 
    if 
rs.fields(2).name  "dato2"  then ArrayUnoSeis(i,rs("dato2")) 
    if 
rs.fields(3).name  "dato3"  then ArrayUnoSeis(i,rs("dato3")) 
    if 
rs.fields(4).name  "dato4"  then ArrayUnoSeis(i,rs("dato4")) 
    if 
rs.fields(5).name  "dato5"  then ArrayUnoSeis(i,rs("dato5")) 
    if 
rs.fields(6).name  "dato6"  then ArrayUnoSeis(i,rs("dato6")) 
    if 
rs.fields(7).name  "dato7"  then ArraySieteDoce(i,rs("dato7")) 
    if 
rs.fields(8).name  "dato8"  then ArraySieteDoce(i,rs("dato8")) 
    if 
rs.fields(9).name  "dato9"  then ArraySieteDoce(i,rs("dato9")) 
    if 
rs.fields(10).name "dato10" then ArraySieteDoce(i,rs("dato10")) 
    if 
rs.fields(11).name "dato11" then ArraySieteDoce(i,rs("dato11")) 
    if 
rs.fields(12).name "dato12" then ArraySieteDoce(i,rs("dato12")) 
rs.movenext
loop
rs
.close
end 
if
%>

<%
para mostrarrescatamos desde los arreglos atraves de un for%>
<
table>
<
tr>
<
th>dato1</th>
<
th>dato2</th>
<
th>dato3</th>
<
th>dato4</th>
<
th>dato5</th>
<
th>dato6</th>
</
tr>
<%for 
i=1 to 1000%>
<%if 
ArrayUnoSeis(i,1)="" then i=1000%> 
<
tr>
<
td><%=ArrayUnoSeis(i,1)%></td>
<
td><%=ArrayUnoSeis(i,2)%></td>
<
td><%=ArrayUnoSeis(i,3)%></td>
<
td><%=ArrayUnoSeis(i,4)%></td>
<
td><%=ArrayUnoSeis(i,5)%></td>
<
td><%=ArrayUnoSeis(i,6)%></td>
</
tr>
<%
next%>
</
table>

<
table>
<
th>dato7</th>
<
th>dato8</th>
<
th>dato9</th>
<
th>dato10</th>
<
th>dato11</th>
<
th>dato12</th>
</
tr>
<%for 
i=1 to 1000%>
<%if 
ArrayUnoSieteDoce(i,1)="" then i=1000%>
<
tr>
<
td><%=ArraySieteDoce(i,7)%></td>
<
td><%=ArraySieteDoce(i,8)%></td>
<
td><%=ArraySieteDoce(i,9)%></td>
<
td><%=ArraySieteDoce(i,10)%></td>
<
td><%=ArraySieteDoce(i,11)%></td>
<
td><%=ArraySieteDoce(i,12)%></td>
</
tr>
<%
next%>
</
table
Saludos!
  #5 (permalink)  
Antiguo 09/07/2011, 03:06
Avatar de Joch_pa  
Fecha de Ingreso: octubre-2009
Ubicación: Pachuca De Soto, Hidalgo, Mexico, Mexico
Mensajes: 122
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Mostrar resultado en dos tablas mediante una sola tabla de access

no seria mejor:

Código ASP:
Ver original
  1. set conn=Server.CreateObject("ADODB.Connection")
  2. conn.Provider="Microsoft.Jet.OLEDB.4.0"
  3. conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & server.MapPath("bd_consulta.mdb") & ""
  4. conn.CursorLocation = 3
  5.  
  6. cdatos=request.form("tabla_consul")
  7. set rs=createobject("ADODB.Recordset")
  8. sqltxt="select dato1,dato2,dato3,dato4,dato5,dato6,dato7,dato8,da to9,dato10,dato11,dato12 from tabla_consul where dato1 like '%"&cdatos&"%'"
  9. rs.ActiveConnection = conn
  10. rs.open sqltxt , conn , 3
  11.  
  12. 'Imprimir las primeras columnas
  13.     response.Write "<table>"
  14.     response.Write "<tr>"
  15.     For i = 0 To 5
  16.         response.Write "<th>" & server.HTMLEncode(ucase(rs.Fields(i).Name)) & "</th>"
  17.     next       
  18.     response.Write "</tr>"
  19.     do While not rs.EOF
  20.         response.Write "<tr valign=""middle"">"
  21.         For i = 0 To 5
  22.             valorTD =  rs.Fields(i).Value
  23.             response.write "<td>" &valorTD & "</td>"
  24.         next
  25.         response.Write "</tr>"
  26.         rs.MoveNext
  27.         response.Flush
  28.     loop
  29.     response.Write "</table><br>"
  30.     rs.movefirst
  31. 'Imprimir las ultimas columnas
  32.     response.Write "<table>"
  33.     response.Write "<tr>"
  34.     'Imprimir la columna del ID o identificador que liga con la primera tabla
  35.         response.Write "<th>" & server.HTMLEncode(ucase(rs.Fields(0).Name)) & "</th>"
  36.  
  37.     For i = 6 To rs.Fields.count-1
  38.         response.Write "<th>" & server.HTMLEncode(ucase(rs.Fields(i).Name)) & "</th>"
  39.     next       
  40.     response.Write "</tr>"
  41.     do While not rs.EOF
  42.         response.Write "<tr valign=""middle"">"
  43.         'Imprimir el valor identificador que se liga
  44.             response.Write "<th>" & server.HTMLEncode(ucase(rs.Fields(0).value)) & "</th>"
  45.         For i = 6 To rs.Fields.count-1
  46.             valorTD =  rs.Fields(i).Value
  47.             response.write "<td>" &valorTD & "</td>"
  48.         next
  49.         response.Write "</tr>"
  50.         rs.MoveNext
  51.         response.Flush
  52.     loop
  53.     response.Write "</table><br>"

Etiquetas: access, mediante, tabla, tablas, resultados
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 04:58.