Ver Mensaje Individual
  #4 (permalink)  
Antiguo 08/07/2011, 12:51
Avatar de pcarvajal
pcarvajal
 
Fecha de Ingreso: enero-2002
Mensajes: 701
Antigüedad: 24 años, 10 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 columnas, las seis primeras van al aprimer arreglo, las 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 mostrar, rescatamos 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!