+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 3 su 3

Select dentro select

  1. #1
    luca1317 non è in linea Novello
    con questo codice (select nella select) creo un file xml
    '---INIZIO RECUPERA DATI IN CICLO DAL DATABASE------------    
        
    strDataBasePath = "\mdb-database\database.mdb"
    connDATI = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &  Server.MapPath(strDataBasePath) & ";" & "JET OLEDB:Database Password=paperino"
    viewuserSQL = "SELECT * FROM DocumentiUt"
    
    'SQL2
    viewuserSQL2 = "SELECT album FROM DocumentiUt group by album"
    
    'E creo il recordset
    Set recDATI = Server.CreateObject ("ADODB.Recordset")
    recDATI.Open viewuserSQL, connDATI, 3, 3
    
    
    'E creo il recordset2
    Set recDATI2 = Server.CreateObject ("ADODB.Recordset")
    recDATI2.Open viewuserSQL2, connDATI, 3, 3
    
    
    
    'Creo il Documento  XML
    xmlContent = "<?xml version=""1.0"" encoding=""UTF-8""?>"&VbCrLf
    xmlContent = xmlContent & "<gallery>"&VbCrLf
    
    while not recDATI2.eof
    
    album=recDATI2("album")
    
    xmlContent = xmlContent & "<album lgPath=""/"" tnPath=""/"" title=""Porsche"" description="""&album&""" tn=""album1/thumb/1.jpg"">"&VbCrLf
    
    while not recDATI.eof
    
    testo=recDATI("testo")
    PercorsoImg1=recDATI("PercorsoImg1")
    
    xmlContent = xmlContent & "<img src=""" & PercorsoImg1 & """ title="""" caption="""&testo&"""  link="""&PercorsoImg1&""" target=""_blank"" pause="""" />"&VbCrLf
    
    recDATI.movenext
    wend
    
    xmlContent = xmlContent & "</album>"&VbCrLf
    
    recDATI2.movenext
    wend
    
    xmlContent = xmlContent & "</gallery>"
    'Fine Creazione XML
    
    riesco ad avere tutti gli album ma solo il primo esce popolato (e con tutti gli elementi, anche quelli di altri album e non dovrebbe essere così) ecco l'xml che mi crea il codice sopra:
    <?xml version="1.0" encoding="UTF-8"?>
    <gallery>
    
    <album lgPath="/" tnPath="/" title="Porsche" description="album1" tn="album1/thumb/1.jpg">
    <img src="/album1/images/6485_bg.jpg" title="" caption="GIGGIG" link="/album1/images/6485_bg.jpg" target="_blank" pause="" />
    <img src="/album1/images/4979_photo_stripes.png" title="" caption="APPAPPAPPA" link="/public/album1/images/4979_photo_stripes.png" target="_blank" pause="" />
    <img src="/album2/images/4979_photo_stripes.png" title="" caption="fghfg" link="" target="_blank" pause="" />
    <img src="/album4/images/4979_photo_stripes.png" title="" caption="rtryrtryrt" link="" target="_blank" pause="" />
    </album>
    
    <album lgPath="/" tnPath="/" title="Porsche" description="album2" tn="album1/thumb/1.jpg">
    </album>
    
    <album lgPath="/" tnPath="/" title="Porsche" description="album4" tn="album1/thumb/1.jpg">
    </album>
    
    </gallery>
    
    in pratica tra i vari album contrassegnati dai tag <album></album> dovrebbero esserci svariate immagini contrassegnati dai tag <img></img> cosa che riesce (anche se non del tutto) nel primo album.
    Ultima modifica di bottomap; 10-03-2011 10:01 
    ℹ️ Leggi di più su luca1317 ...

  2. #2
    Ferrari_and non è in linea Scolaretto
    Il codice fa esattamente questo non c'è nessun errore di codice ma di logica.

    Scorri la prima query dall'inizio alla fine e crei una voce per ogni record.
    All'interno dello stesso ciclo scorri dall'inizio alla fine la seconda query tutta e inserisci tutti i valori nel campi alla fine del ciclo ti trovi già alla fine dei dati quindi non entra più nel ciclo while.

    Possibili soluzioni o crei un query che estragga tutti i dati che ti interessano in un unico colpo e scorri solo quella.

    Altrimenti prima dei entrare nel secondo while posizioni il puntatore del record al primo posto .movefirt e all'interno del ciclo fai dei controlli if... per vedere se il record è da inserire o meno.

    Ciao

  3. #3
    luca1317 non è in linea Novello
    Lo so, nel codice non c'è nessun errore, volevo un aiuto proprio per la logica..ma cmq ho risolto...ho fatto una select nella select con un group by e un where


    grazie lo stesso
    ℹ️ Leggi di più su luca1317 ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Popolare select tramite altro select
    Da anto16 nel forum PHP
    Risposte: 1
    Ultimo Post: 28-02-2015, 17:55
  2. [VBA] excel select case dentro ciclo if
    Da L4P_81 nel forum Microsoft Excel
    Risposte: 6
    Ultimo Post: 26-11-2011, 17:03
  3. [PHP] Select che apre un'altra select
    Da Red77 nel forum PHP
    Risposte: 3
    Ultimo Post: 02-12-2010, 11:24
  4. Risposte: 1
    Ultimo Post: 05-12-2009, 09:20
  5. [Javascript]Popolare select tramite altro select
    Da Eugene nel forum HTML, CSS e JavaScript
    Risposte: 4
    Ultimo Post: 26-03-2008, 00:36