Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Select.. ottengo id da riutilizzare

    Come si può fare 2 select ottenendo
    una serie di record e successivamente farne un'altra ed ottenere dei risultati in base a quelli precedetni ?


    nomeid -> qui dovrebbe starci un valore variabile in

    <%
    Set datiprod = Server.CreateObject("ADODB.Recordset")
    prodotto = "SELECT * FROM prodotti WHERE productid="& nomeid
    datiprod.Open prodotto, conn,3,3

    Set daticliente = Server.CreateObject("ADODB.Recordset")
    cliente = "SELECT * FROM orders WHERE orderidcont="& orderid
    daticliente.Open cliente, conn,3,3
    '--------------------------------------------------------------
    %>

    http://www.adottauntetto.com

  2. #2
    scusate la confusione:
    (come faccio ad andare in contemporanea al ciclo DO WHILE una select che si basa sul risultato di un'altra?)

    <%
    do while not Mostra.EOF
    %>

    <%
    Set datiprod = Server.CreateObject("ADODB.Recordset")
    prodotto = "SELECT * FROM products WHERE productid="& nomeid
    datiprod.Open prodotto, conn,3,3
    %>

    <tr bgcolor="#EEEEEE">
    <td></td>
    <td align="left"><%=Mostra("productid")%></td>
    <td><%=datiprod("codart")%></td>

    http://www.adottauntetto.com

  3. #3

    http://www.adottauntetto.com

  4. #4
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Cosa usi nella seconda query della prima query? L'id?

    Roby

  5. #5
    GRAZIE

    HO RISOLTO USANDO UNA INNER JOINT (vedere: anagrafica_articolo)
    HO SOLO DEI LEGGERISSIMI PROBLEMI DI VISUALIZZAZIONE
    IL LOOP NON FUNZIONA COME DOVREBBE (LA SELECT L'HO PROVATA IN ACCESS E FUNZIONA CORRETTAMENTE)
    MI STAMPA A VIDEO UNA INFINITA' DI RECORD (SEMPRE LO STESSO, CHE SAREBBE IL PRIMO DELLA LISTA)

    IL CODICE E' QUI SOTTO (SCUSATE CI POTREBEE ESSERE ERRORE STUPIDO) MA NON SONO UN ASPISTA

    <%
    '---------------------------------------------------------------
    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open "tabac"

    Set anagart = Server.CreateObject("ADODB.Recordset")
    anagrafica_articolo = "SELECT products.name, products.codart, products.description, orderitems.productid, orderitems.qty AS quantita, orderitems.priceperunit AS prezzocadauno FROM orders INNER JOIN (orderitems INNER JOIN products ON orderitems.productid =products.productid) ON orders.orderidcont = orderitems.orderid WHERE (((orders.orderidcont)="& orderid &"))"
    anagart.Open anagrafica_articolo,conn,3,3

    Set daticliente = Server.CreateObject("ADODB.Recordset")
    cliente = "SELECT * FROM orders WHERE orderidcont="& orderid
    daticliente.Open cliente, conn,3,3
    '--------------------------------------------------------------
    %>
    <table align="center" width="740" cellpadding="1" cellspacing="0" style="border: Solid 1px #999999;">
    <tr><td colspan="7" bgcolor="#cccccc"><font color="#333333">Anagrafica Cliente</font></td></tr>
    <tr bgcolor="#EEEEEE"><td></td><td align="left">Data - Ora ordine:


    <%
    Dim data
    data = daticliente("datamia")
    %>
    <%
    Dim itData
    itData = ItDate(data)
    %>
    <%=itData%>
    </td>
    <td>Ditta:

    <%=daticliente("dlname")%></td>
    <td>Referente:

    <%=daticliente("dlname")%></td>
    <td>E-mail:

    <%=daticliente("email")%></td>
    <td>Indirizzo:

    <%=daticliente("daddress1")%> - <%=daticliente("dcity")%></td>
    <td></td></tr>

    <tr><td bgcolor="White" colspan="7">
    Eventuale indirizzo per la spedizione: <%=daticliente("spedirea")%>

    Note: <%=daticliente("comunicazioni")%>
    </td></tr>

    <table align="center" width="740" cellpadding="1" cellspacing="0" style="border: Solid 1px #999999;">
    <tr><td colspan="7" bgcolor="#cccccc"><font color="#333333">Riepilogo ORDINE n° <%= orderid%></font></td></tr>
    <tr bgcolor="#E1F0FF">
    <td></td>
    <td>ID</td>
    <td>Codice</td>
    <td>Nome articolo</td>
    <td>Quantità</td>
    <td>Prezzo unitario</td>
    <td align="right">Prezzo totale</td>
    </tr>
    <%
    do while not anagart.EOF
    %>

    <tr bgcolor="#EEEEEE">
    <td></td>
    <td align="left"><%=anagart("productid")%></td>
    <td><%=anagart("codart")%></td>
    <td><%=anagart("name")%></td>
    <td><%=anagart("quantita")%></td>
    <td><%= formatnumber(anagart("prezzocadauno"),3,,,0)%></td>
    <%
    prezzo_unitario = anagart("prezzocadauno")
    quantita = anagart("quantita")

    Set Tot = Server.CreateObject("ADODB.Recordset")
    SQLTOT = "SELECT sum(qty * priceperunit) as totaleassoluto FROM orderitems WHERE orderid="& orderid
    Tot.Open SQLTOT, conn,3,3
    %>
    <td align="right">
    <% prezzxqta= formatnumber(prezzo_unitario) * quantita%>
    <%= cursymbol & formatnumber(prezzxqta,3,,,0)%>


    </td></tr><tr><td height="1" bgcolor="White" colspan="7"></td></tr>
    <%
    anagart.MoveNext
    loop
    %>
    <tr><td height="2" bgcolor="White" colspan="7"></td></tr><tr>
    <td></td> <td></td> <td></td> <td></td> <td></td> <td align="right">tot. :</td>
    <td>
    <%= cursymbol & formatnumber (Tot("totaleassoluto"))%>
    </td></tr>
    <%
    anagart.close
    Set anagart = nothing
    %>
    </table>
    <%Conn.Close()%>

    http://www.adottauntetto.com

  6. #6
    pleeeeeeeeease!

    http://www.adottauntetto.com

  7. #7
    asp non c'entra, penso ci sia un problema di logica...

    tu selezioni sempre in base all'orderid che viene passato in testa. anche se cicli il primo recordset, ad ogni giro rifai la query sulle tabelle secondarie (che poi non cicli) ed ovviamente ti restituisce sempre il primo record delle n query che fai.

  8. #8
    Ora pare funzionare...(vedi codice..ci sono anomalie?)

    Se insericsco la select:

    Set Tot = Server.CreateObject("ADODB.Recordset")
    SQLTOT = "SELECT sum(qty * priceperunit) as totaleassoluto FROM orderitems WHERE 'orderid="& orderid
    Tot.Open SQLTOT, conn,3,3


    Però si incasina, come la fareste e soprattutto, dove la inserireste?
    Prima o dopo del "Do while"

    (grazie mille OPTIME)



    codice:
    <%
    Set Conn = Server.CreateObject("ADODB.Connection")
    Set Mostra = Server.CreateObject("ADODB.Recordset")
    SQL33 = "SELECT * FROM orderitems WHERE orderid=" & orderid 
    Conn.Open "tabac"
    Mostra.Open SQL33, conn,3,3
    
    Set anagart = Server.CreateObject("ADODB.Recordset")
    anagrafica_articolo = "SELECT products.name, products.codart, products.description, orderitems.productid, orderitems.qty AS quantita, orderitems.priceperunit AS prezzocadauno FROM orders INNER JOIN (orderitems INNER JOIN products ON orderitems.productid =products.productid) ON orders.orderidcont = orderitems.orderid WHERE (((orders.orderidcont)="& orderid &"))"
    anagart.Open anagrafica_articolo,conn,3,3
    
    
    Set daticliente = Server.CreateObject("ADODB.Recordset")
    cliente = "SELECT * FROM orders WHERE orderidcont="& orderid 	
    daticliente.Open cliente, conn,3,3
    %>
    [ html ]
    
    <%
    do while not anagart.EOF 
    %>
    
    <tr bgcolor="#EEEEEE">
    <td></td>
    <td align="left"><%=anagart("productid")%></td>
    <td><%=anagart("codart")%></td>
    <td><%=anagart("name")%></td>
    <td><%=anagart("quantita")%></td>
    <td><%= formatnumber(anagart("prezzocadauno"),3,,,0)%></td>
    <%
    prezzo_unitario = anagart("prezzocadauno")
    quantita = anagart("quantita")
    %>
    
    
    <td align="right">
    <% prezzxqta= formatnumber(prezzo_unitario) * quantita%>
    <%= cursymbol & formatnumber(prezzxqta,3,,,0)%>
    
    </td></tr><tr><td height="1" bgcolor="White" colspan="7"></td></tr>
    <%
    anagart.MoveNext
    loop
    %>
    <tr><td height="2" bgcolor="White" colspan="7"></td></tr><tr>
    <td></td> <td></td> <td></td> <td></td> <td></td> <td align="right">tot. :</td>
    <td>
    
    <%= cursymbol & formatnumber (Tot("totaleassoluto"))%>
    </td></tr>
    <%
    anagart.close
    Set anagart = nothing
    %>
    </table>
    <%Conn.Close()%>

    http://www.adottauntetto.com

  9. #9

    http://www.adottauntetto.com

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.