Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 34
  1. #1

    confrontare valori di un recordset

    di nuovo a farmi illuminare da voi...
    avrei diversi campi di un recordset che vorrei confrontare..tipo:
    valore1:1, 2, 3, 4
    valora2:2, 4, 7, 8, 9
    valore3:4, 6

    sono generati da un database,quindi i valori da confrontare possono essere anche di più o di meno....
    Vorrei poterli confrontare, per sapere se e quale valore hanno in comune. E' tutta la mattina che ci penso, ma non riesco a capire come potrei fare, visto soprattutto che i valori sono variabili i quantità....

  2. #2
    mi splitto con questo codice ogni recordset, ma non capisco come potrei dare dinamicamente un nome diverso per ogni array e quindi confrontarlo dopo...

    codice:
    while not trs.eof
    s=split((trs.Fields.Item("box_app").Value), ", " ,-1, 1) 
    For i = 0 To UBound(s)
    response.write s(i)
    next 
    trs.movenext()
    response.write ("--fine")
    wend
    il "--fine" mi serve solo per visualizzare meglio quando finisce un array e ne comincia un altro...

  3. #3
    scusate.....sto smanettando su quello che avevo scritto e sono quasi giunto a qualcosa ma sono bloccato in maniera stupida a questo punto
    codice:
    <%
    s=split((trs.Fields.Item("box_app").Value), ", " ,-1, 1) 
    For i = 0 To UBound(s)
    'comincia a scorrere il primo array
    response.write "- primo valore di confronto :" & s(i)
    'mi sposta al recordset dopo
    trs.movenext()
    'da recordset dopo fino alla fine
    while not trs.eof
    'mi crea gli array splittati
    q=split((trs.Fields.Item("box_app").Value), ", " ,-1, 1)
    'dall'inizio alla fine del nuovo array
    for ii=0 to ubound(q)
    'se il valore è uguale a quello del primo array
    if s(i)=q(ii) then
    response.write "- valori di confronto: "& q(ii) &(trs.Fields.Item("nome_trs").Value)
    if isnull(valore)then
    valore=q(ii)
    else
    valore=valore&","&q(ii)
    end if
    uty=q(ii)
    'fine se il valore è uguale
    end if
    'scorri il valore successivo nell'array
    next
    'se c'è almeno un valore uguale allora
    if (uty) = s(i) then
    'spostami al record dopo di cui fare l'array splittato
    response.write ("-cambia il record")
    'fine se
    end if
    trs.movenext()
    wend
    trs.requery
    response.write ("-fine
    ")
    next 
    %>
    ad esempio, sto usando 3 recordset:
    rs 1 :2, 4, 5
    rs 2 :3, 5
    rs 3 :4

    uso questi valori perchè non dovrebbe ridarmi nessun valore, anche se invece (giustamente secondo il codice me li ridà),nel senso che non riesco a fargli dire di interrempere lo scorrimento dell'array e a passare al record dopo...

  4. #4
    posso sapere quanti campi ha un singolo record e da dove li prende quei 2,3,4 che usi? che logica dovrebbe avere la cosa?

  5. #5
    Originariamente inviato da santino83_11_04
    posso sapere quanti campi ha un singolo record e da dove li prende quei 2,3,4 che usi? che logica dovrebbe avere la cosa?
    un singolo record ha diversi campi ma ne filtro uno in particolare...2,3,4 sono i valori all'interno del campo box_app.

    la logica è che voglio sapere se e quali valori sono uguali in questo campo
    es
    1:2,3,4
    2:4,5
    3:4

    risultato=4

  6. #6
    ok, io ho N righe di un recordset, in ogni riga c'è il campo box_app con numeri separati da virgole...ora la domanda semplice: chi devo confrontare e con cosa e in base a quale criterio?

  7. #7
    quindi tu vuoi confrontare cosa? facci un esempio

  8. #8
    ho editato il post prima ma:

    la logica è che voglio sapere se e quali valori sono uguali in questo campo
    es
    campo primo recorsdset :2,3,4
    campo secondo recordset2 :4,5
    campo terzo recordset :4

    risultato=4

  9. #9
    Originariamente inviato da santino83_11_04
    ok, io ho N righe di un recordset, in ogni riga c'è il campo box_app con numeri separati da virgole...ora la domanda semplice: chi devo confrontare e con cosa e in base a quale criterio?
    confrontare tutti i campi box_app tra di loro e sapere se ci sono e quali sono i valori uguali

  10. #10
    io farei un array bidimensionale. nel primo ci metterei il valore, nel secondo le occorrenze. puoi mettere in piedi una piccola funzione che cerchi nel primo indice il valore (e se non c'è lo aggiunge), e incrementa il secondo indice corrispondente di uno. alla fine del giro, rileggi l'array: gli elementi con occorrenza maggiore di uno sono ripetuti. tieni presente che con questa logica - che sembra pesante - hai il vantaggio di poter confrontare quanti record vuoi.

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.