Tema: Order By
Ver Mensaje Individual
  #8 (permalink)  
Antiguo 02/03/2004, 11:33
knarfy
 
Fecha de Ingreso: julio-2003
Mensajes: 116
Antigüedad: 21 años, 10 meses
Puntos: 0
Por favor, me urge muchísimo, ya nadie me responde y necesito vuestra ayuda. Voy a poner el código entero a ver si sale la consulta:
Código PHP:
  <%
f="<font size=1 face=Verdana,Helvetica,Arial><strong>"
f1="</strong></font>"
c="<font size=2 face=Arial color=#cc0000><strong>"
c1="</strong></font>"
e="<font size=2 face=Arial color=#000099><strong>"
e1="</strong></font>"
b="<font size=2 face=Arial color=990000><strong>"
b1="</strong></font>"
a="<strong><font size=2 face=Arial>"
a1="</strong></font>"

Dim mostrar
Dim cant_paginas
Dim pagina_actual
Dim registro_mostrado
Dim I

mostrar 
20

If Request.QueryString("page") = "" Then
pagina_actual 
1
Else
pagina_actual CInt(Request.QueryString("page"))
End If

'Aqui es donde no sé que poner, las strsql
'
strsql "SELECT * from [pedidos-productos] ORDER BY [pedido número],[código producto] ASC"
strsql "SELECT [pedidos-principal].cliente,[pedidos-productos].[pedido número],[pedidos-productos].[código producto] ORDER BY [pedidos-principal].cliente,[pedidos-productos].[pedido número],[pedidos-productos].[código producto]"

Set oConn Server.CreateObject("ADODB.Connection")
Set conn Server.CreateObject("ADODB.Connection")

oConn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" Server.MapPath("\databases\db1.mdb")

Set RS Server.CreateObject("ADODB.Recordset")
Set RS3 Server.CreateObject("ADODB.Recordset")
Set RS5 Server.CreateObject("ADODB.Recordset")

RS.PageSize mostrar
RS
.CacheSize mostrar

RS
.Open strSQLoConn,3,1

cant_paginas 
RS.PageCount


If pagina_actual cant_paginas Then pagina_actual cant_paginas
If pagina_actual 1 Then pagina_actual 1


If cant_paginas 0 Then
Response
.Write a&"No hay registros..."&a1
Else

RS.AbsolutePage pagina_actual

%>
  <
font face="Verdana, Arial, Helvetica, sans-serif" size="+1">Página <b><%= pagina_actual %></bde <b><%= cant_paginas %></b></font><br><br>
  <%

SQLp="Select * from productos"
set rs4=oConn.execute(SQLp)

SQL3="Select * from [pedidos-principal]" 
set rs3=oConn.execute(SQL3)


registro_mostrado 0
dim 
var()
i=1

Do While registro_mostrado mostrar And Not RS.EOF
if i=1 then
 redim 
var(i)
else
 
redim preserve var(i)
end if

response.write "<table width=""100%"" border=1 colspan=5>"
if rs.fields("pedido número")<>var(i-1) and var(i)<>1 then
response
.write "<hr>"
response.write b&"Pedido número: "&b1&e&rs.fields("pedido número")&e1

pedido
=CStr(rs.fields("pedido número"))
rs3.movefirst
    
do until rs3.eof
        pedido2
=CStr(rs3.fields("pedido número"))
            if 
pedido=pedido2 then
                cliente
=rs3.fields("Cliente")                
                exit do
            
end if
        
rs3.movenext
    loop
    
response
.write "<tr><td><a href=printout.asp?nume="&rs.fields("pedido número")&">"&a&"Imprimir pedido</a></td></tr>"
response.write "<tr><td colspan=6 align=left>"&a&"Cliente: "&a1&e&cliente&e1&"</td></tr>"
response.write "<tr><td align=center>"&a&"CÓDIGO PRODUCTO</td><td align=center>"&a&"CANTIDAD</td><td align=center>"&a&"DENOMINACIÓN</td></tr>"
response.write "<hr>"
end if
codigo=rs.fields("código producto")
rs4.movefirst
    
do until rs4.eof
        codigo2
=rs4.fields("código")
            if 
codigo=codigo2 then
                denom
=rs4.fields("denominación")
                
            
end if
        
rs4.movenext
    loop
response
.write "<tr><td align=center width=""10%"">"&e&rs.fields("código producto")&e1&"</td><td align=center width=""10%"">"&e&rs.fields("cantidad")&e1&"</td><td align=center width=""40%"">"&e&denom&e1&"</td></tr>"


var(i)=rs.fields("pedido número")
i=i+1

rs
.movenext

'----------------------------------------------------------------------------------------------------------
registro_mostrado=registro_mostrado+1
loop 
response.write "</table>"






End If


RS.Close
Set RS = Nothing
oConn.Close
Set oConn = Nothing

Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
If 
pagina_actual 1 Then
%>
  <
a href="./v5pd.asp?page=<%= pagina_actual - 1 %>"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><strong>[<< Anterior]</strong></font></a>
<%
End If

' mostramos la paginacion por numeros de página
For I = 1 To cant_paginas
If I = pagina_actual Then
%>
  <%response.write "<font face=verdana size=1>Página "&I&"</font>" %>
  <%
Else
%>
  <a href="./v5pd.asp?page=<%= I %>"><%= I %></a>
  <%
End If
Next '
I

If pagina_actual cant_paginas Then
%>
  <
a href="./v5pd.asp?page=<%= pagina_actual + 1 %>"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><strong>[Próximo >>]</strong></font></a>
  <%
End If
Fin...
%> 
A ver si podeis solucionarme que la consulta SQL se ordene primero por clientes, luego por pedido número y finalmente por código producto. O sea, el resultado que quiero es algo así:

Pedido número:12990903
Cliente: Antonio
----------------------------------------------
Caramelos: código 1000 : cantidad 1
Cerezas: código 1001: cantidad 29
etc
.
.
.

Gracias

Última edición por knarfy; 03/03/2004 a las 03:04