Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2005
    Messaggi
    305

    Funzione ricorsiva in VBSCRIPT

    Ho scritto il seguente codice in VBSCRIPT:

    funzione ricorsiva
    sub storia(tot,lis,ver,fam,pp,tab)
    for i=0 to tot
    if ((lis(1,i)=ver) and (lis(2,i)=fam) and (lis(3,i)=pp)) then
    tab = tab & lis(5,i) & lis(6,i) & lis(7,i) & "
    "
    ver_ = lis(5,i)
    fam_ = lis(6,i)
    pp_ = lis(7,i)
    call storia(tot,lis,ver_,fam_,pp_,tab)
    end if
    next
    end sub

    dati iniziali
    versione = "1"
    famiglia = "1"
    pp = "1"

    estrazione dati da tabella ACCESS
    sql = "select * from ALL_C where ANNO='" &anno& "'"
    set rs = server.createObject("ADODB.Recordset")
    rs.open sql, connobj, 1, 3

    creazione della lista con i dati estratti
    if not rs.eof then
    lista = rs.getrows()
    end if

    chiamata della funzione ricorsiva che pone il risultato della ricerca nella variabile tabella
    totale = 0
    tabella = ""
    if IsArray(lista) then
    totale = Ubound(lista,2)
    call storia(totale,lista,versione,famiglia,pp,tabella)
    end if

    chiusura del recordset
    rs.close
    set rs = nothing

    ... ma con i seguenti dati

    x000x666x
    x011x222x
    x011x333x
    x012x444x
    x012x555x
    x111x011x
    x111x012x
    x666x777x

    dove con x indico le posizioni di lista che non mi interessano, e cioè 0, 4 e 8

    dà erroneamente il risultato

    011
    222
    012
    444

    invece di

    011
    222
    333
    012
    444
    555

    In pratica discende solo sui rami sinistri e non su quelli destri.
    Qualcuno mi sà aiutare ???

    Grazie.

    Vincenzo

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il vbscript utilizzato lato server e' trattato nel forum ASP
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.