Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 45
  1. #1
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975

    Condizioni e loro impostazioni

    Buenas noches a todos!

    Ho un problema con l'impostazione di alcune condizioni:

    - Verifico una prima condizione (if... end if)che se è vera restituisce A;

    - Verifico una serie di condizioni (if... end if) che se vere restituiscono B-C-D-E

    Il problema è che tenendo tutte le condizioni tra "if... end if" mi crea un caos nell'estrazione dei records (ne ho 2000 effettivi, ne registra 2700) perchè probabilmente vengono verificate più serie di
    condizioni dello stesso record.

    Ho provato con "if... elseif... end if" ma verifica sempre vera la prima condizione.

    Suggerimenti?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  2. #2
    depende... posta un po' di codice

  3. #3
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Ciao Opt bentrovato! Auguri, Buone Feste!!!!
    ecco il code da sistemare; in sostanza da quello che ho potuto notare si verificano per alcune variabili più condizioni simultaneamente ed i records aumentano di numero, perchè qualcuno ricade in più condizioni e viene automaticamente duplicato:
    codice:
    'primo confronto generale tra le variabili
    IF strVAR1 < strVAR2 or strVAR3 < strVAR4 or strVAR5 < strVAR6 then
    response.write "case A
    "
    
    'inserisco risultato in database con una query
    SQL = ------
    set rs2 = Conn.execute(sql) 
    end if
    
    'inizio la serie di confronti dettagliati tra le variabili
    IF strVAR1 < 0.1 AND strVAR2 < 0.2 then
    response.write "case B
    "
    
    'inserisco risultato in database con una query
    SQL = ------
    set rs3 = Conn.execute(sql) 
    end if
    
    IF strVAR3 > 0.6 AND strVAR4 < 2.5 AND strVAR5 > 0.1 then
    response.write "case C
    "
    
    'inserisco risultato in database con una query
    SQL = ------
    set rs4 = Conn.execute(sql)
    
    else
    
    IF strVAR3 > 1 AND strVAR5 > 0.1 AND strVAR4 < 0.5 AND strVAR1 > 1 then
    response.write "case D
    "
    
    'inserisco risultato in database con una query
    SQL = ------
    set rs4 = Conn.execute(sql) 
    end if
    end if
    
    IF strVAR5 > 1 AND strVAR2 < 1 then
    response.write "case E
    "
    
    'inserisco risultato in database con unaquery
    SQL = ------
    set rs5 = Conn.execute(sql)
    end if
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  4. #4
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    proprio no trovo la soluzione...
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  5. #5
    non funzionerà mai così perchè molte condizioni si possono verificare contemporaneamente


    devi pensare ad un'altra soluzione...oppure devi trovare il modo di strutturare quell'if.....il problema che è estremamente complesso come if, perchè sono dodicimila condizioni

    mi spiace

  6. #6
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Grazie per rispondere... tu come faresti per esempio?
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  7. #7
    un suggerimento: nel primo IF che fai dovresti trovare il modo di togliere gli OR, altrimenti diventa complesso nidificare gli if.....magari prova a spiegare un pò che logica dovrebbe seguire lo script, così vediamo se ci sono strade alternative


  8. #8
    sai che potresti fare? potresti mettere il tutto in una funzione e poi usare la procedura di escape della funzione per fermare lo script....il fatto è che così facendo la prima IF (quella con gli or) sarà molto spesso vera e quindi le altre non te le controllerà quasi mai

  9. #9
    Utente di HTML.it L'avatar di Luis33
    Registrato dal
    May 2003
    Messaggi
    975
    Grazie.
    La logica dello script è la seguente:

    -Ho circa 3000 record in una tabella di access;
    -Ognuno dei records ha dei valori che vanno confrontati fra loro;
    -Secondo l'esito di questo confronto tra valori il record va catalogato secondo una lettera che potrà essere A,B,C,D,E;
    -In teoria se è verificata una delle condizioni previste le altre non dovrebbero essere vere; ad esempio un record "rientra" nel caso A non dovrebbe assolutamente rientrare in nessuna degli altri casi.

    In pratica i fatti mi hanno clamorosamente smentito.
    ... Sono graditi codes, esempi pratici, suggerimenti, consigli e critiche...
    "Ai posteri l'ardua sentenza..."
    Tante grazie
    Saluti
    Luis 33

  10. #10
    forse così?

    codice:
    //inserisco N variabili per sapere quali eventi bengono fuori dai controlli
    
    primocontrollo=false
    secondocontrollo=false
    terzocontrollo=false
    quartocontrollo=false
    quintocontrollo=false
    
    'primo confronto generale tra le variabili
    IF strVAR1 < strVAR2 or strVAR3 < strVAR4 or strVAR5 < strVAR6 then
    
    primocontrollo=true
    
    end if
    
    'inizio la serie di confronti dettagliati tra le variabili
    IF strVAR1 < 0.1 AND strVAR2 < 0.2 then
    
    secondocontrollo=true
    
    end if
    
    IF strVAR3 > 0.6 AND strVAR4 < 2.5 AND strVAR5 > 0.1 then
    
    terzocontrollo=true
    
    else
    
    IF strVAR3 > 1 AND strVAR5 > 0.1 AND strVAR4 < 0.5 AND strVAR1 > 1 then
    
    quartocontrollo=true
    
    end if
    
    IF strVAR5 > 1 AND strVAR2 < 1 then
    
    quintocontrollo=true
    
    end if
    ora fai un livello di importanza tra i 5 controlli e vedi a seconda di quale è settato a true che record devi inserire

    spero di esserti un pò di aiuto

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.