Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 41
  1. #1

    [vb6] frequenza

    ciao ragazzi, come da me piu' volte esposto, lavoro su un archivio LOTTO

    spero che mi possiate dare una mano...

    devo rintracciare il numero o i numeri con frequenza maggiore

    leggo i numeri nell'archivio ( ACCESS)


    pero' la mia dificolta è quella di memorizzare quindi contare le presenze di quel determinato numero...
    da dove parto???


    grazie
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  2. #2
    Com'è la struttura della tabella nel database? Potresti risolvere tutto anche con una semplice query... Nella peggiore delle ipotesi, invece, crei un array di 90 interi, poi passi tutti i record uno alla volta ed incrementi di uno l'indice di array relativo, una roba tipo questa:

    codice:
    Dim conteggio(90) As Integer
    
    Do Until rs.EOF
        conteggio(rs("Numero1")) = conteggio(rs("Numero1")) + 1
        conteggio(rs("Numero2")) = conteggio(rs("Numero2")) + 1
        conteggio(rs("Numero3")) = conteggio(rs("Numero3")) + 1
        conteggio(rs("Numero4")) = conteggio(rs("Numero4")) + 1
        conteggio(rs("Numero5")) = conteggio(rs("Numero5")) + 1
        conteggio(rs("Numero6")) = conteggio(rs("Numero6")) + 1
        rs.MoveNext
    Loop
    Chi non cerca trova.

  3. #3
    l'archivio è composto da 52 campi
    i primi due sono ID E DATA , gli altri sono gli estratti


    ecco come copare



    scusa la mia inesperienza

    potresti essere + chiaro?
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  4. #4
    La struttura dei dati è come temevo, quindi credo sia meglio fare come nell'esempio di prima. Per essere più precisi:

    codice:
    Dim conteggio(90) As Integer
    
    Do Until rs.EOF
        conteggio(rs("BA1")) = conteggio(rs("BA1")) + 1
        conteggio(rs("BA2")) = conteggio(rs("BA2")) + 1
        conteggio(rs("BA3")) = conteggio(rs("BA3")) + 1
        conteggio(rs("BA4")) = conteggio(rs("BA4")) + 1
        conteggio(rs("BA5")) = conteggio(rs("BA5")) + 1
        conteggio(rs("CA1")) = conteggio(rs("CA1")) + 1
        conteggio(rs("CA2")) = conteggio(rs("CA2")) + 1
        conteggio(rs("CA3")) = conteggio(rs("CA3")) + 1
        'eccetera
    
        rs.MoveNext
    Loop
    Al termine del ciclo ti ritrovi un array (conteggio) contenente quante volte sono apparsi i vari numeri, per esempio per sapere quante volte è stato estratto il numero 33 basta guardare il valore di conteggio(33)
    Chi non cerca trova.

  5. #5
    domanda:

    BA1 è un campo


    se faccio come riportato sopra mi trova i piu' frequenti del campo BA1, quindi solo del 1° estratto in tal caso che è quello di BARI?
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Che vuoi dire? Ci sono tutti i campi (anche se non li ha mostrati tutti) ...

    In ogni caso consiglierei un ciclo for per i campi al posto di elencarli tutti ...

    In realta' si dovrebbe ripensare il database ...

  7. #7
    codice:
    rs.Open "select ID,Data,BA1,BA2,BA3,BA4,BA5,CA1,CA2,CA3,CA4,CA5,FI1,FI2,FI3,FI4,FI5,GE1,GE2,GE3,GE4,GE5,MI1,MI2,MI3,MI4,MI5,NA1,NA2,NA3,NA4,NA5,PA1,PA2,PA3,PA4,PA5,RO1,RO2,RO3,RO4,RO5,TO1,TO2,TO3,TO4,TO5,VE1,VE2,VE3,VE4,VE5 from archivio", cn, 3, 3
    
    Do Until rs.EOF
        conteggio(rs("BA1")) = conteggio(rs("BA1")) + 1
        conteggio(rs("BA2")) = conteggio(rs("BA2")) + 1
        conteggio(rs("BA3")) = conteggio(rs("BA3")) + 1
        conteggio(rs("BA4")) = conteggio(rs("BA4")) + 1
        conteggio(rs("BA5")) = conteggio(rs("BA5")) + 1
        
        conteggio(rs("CA1")) = conteggio(rs("CA1")) + 1
        conteggio(rs("CA2")) = conteggio(rs("CA2")) + 1
        conteggio(rs("CA3")) = conteggio(rs("CA3")) + 1 
        conteggio(rs("CA4")) = conteggio(rs("CA4")) + 1
        conteggio(rs("CA5")) = conteggio(rs("CA5")) + 1
        
        conteggio(rs("FI1")) = conteggio(rs("FI1")) + 1
        conteggio(rs("FI2")) = conteggio(rs("FI2")) + 1
        conteggio(rs("FI3")) = conteggio(rs("FI3")) + 1
        conteggio(rs("FI4")) = conteggio(rs("FI4")) + 1
        conteggio(rs("FI5")) = conteggio(rs("FI5")) + 1
        
        conteggio(rs("GE1")) = conteggio(rs("GE1")) + 1
        conteggio(rs("GE2")) = conteggio(rs("GE2")) + 1
        conteggio(rs("GE3")) = conteggio(rs("GE3")) + 1
        conteggio(rs("GE4")) = conteggio(rs("GE4")) + 1
        conteggio(rs("GE5")) = conteggio(rs("GE5")) + 1
        
        conteggio(rs("MI1")) = conteggio(rs("MI1")) + 1
        conteggio(rs("MI2")) = conteggio(rs("MI2")) + 1
        conteggio(rs("MI3")) = conteggio(rs("MI3")) + 1
        conteggio(rs("MI4")) = conteggio(rs("MI4")) + 1
        conteggio(rs("MI5")) = conteggio(rs("MI5")) + 1
    
        conteggio(rs("NA1")) = conteggio(rs("NA1")) + 1
        conteggio(rs("NA2")) = conteggio(rs("NA2")) + 1
        conteggio(rs("NA3")) = conteggio(rs("NA3")) + 1
        conteggio(rs("NA4")) = conteggio(rs("NA4")) + 1
        conteggio(rs("NA5")) = conteggio(rs("NA5")) + 1
        
        conteggio(rs("PA1")) = conteggio(rs("PA1")) + 1
        conteggio(rs("PA2")) = conteggio(rs("PA2")) + 1
        conteggio(rs("PA3")) = conteggio(rs("PA3")) + 1
        conteggio(rs("PA4")) = conteggio(rs("PA4")) + 1
        conteggio(rs("PA5")) = conteggio(rs("PA5")) + 1
        
        conteggio(rs("RO1")) = conteggio(rs("RO1")) + 1
        conteggio(rs("RO2")) = conteggio(rs("RO2")) + 1
        conteggio(rs("RO3")) = conteggio(rs("RO3")) + 1
        conteggio(rs("RO4")) = conteggio(rs("RO4")) + 1
        conteggio(rs("RO5")) = conteggio(rs("RO5")) + 1
        
        
        conteggio(rs("TO1")) = conteggio(rs("TO1")) + 1
        conteggio(rs("TO2")) = conteggio(rs("TO2")) + 1
        conteggio(rs("TO3")) = conteggio(rs("TO3")) + 1
        conteggio(rs("TO4")) = conteggio(rs("TO4")) + 1
        conteggio(rs("TO5")) = conteggio(rs("TO5")) + 1
        
        conteggio(rs("VE1")) = conteggio(rs("VE1")) + 1
        conteggio(rs("VE2")) = conteggio(rs("VE2")) + 1
        conteggio(rs("VE3")) = conteggio(rs("VE3")) + 1
        conteggio(rs("VE4")) = conteggio(rs("VE4")) + 1
        conteggio(rs("VE5")) = conteggio(rs("VE5")) + 1
    
        rs.MoveNext
    Loop
    List3.AddItem conteggio(rs("BA1"))
    End Sub
    tutto in una sub_command

    ho apeto una nuova connessione..
    pero' clikkando il tasto mi da errore di OVERFLOW
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  8. #8
    per non andare incotro al' overflow

    ho fatto cosi :

    conteggio(rs("BA1")) = conteggio(rs("BA1")) + 1
    conteggio(rs("BA2")) = conteggio(rs("BA2")) + 1
    conteggio(rs("BA3")) = conteggio(rs("BA3")) + 1
    conteggio(rs("BA4")) = conteggio(rs("BA4")) + 1
    conteggio(rs("BA5")) = conteggio(rs("BA5")) + 1
    List3.AddItem rs("BA1") & " " & conteggio(rs("BA1"))

    rs.MoveNext

    nella lista
    mi scrive
    68 447
    34 430
    55 393
    42 419
    66 454
    36 412
    5 436
    4 451
    45 387
    15 428
    79 379
    5 437
    37 445
    87 416
    77 374
    76 427
    12 463
    84 439
    82 396
    35 439
    42 422
    80 380
    64 381
    31 410
    63 431
    22 454
    51 424
    28 416
    88 445
    81 435
    52 392
    cioè il numero rintracciato con la sua frequenza
    giusto?
    l'ultimo dato

    52 392

    52 numero in archivio
    392 frequenza storica di uscita solo nel campo BA1
    giusto?

    un'altra cosa, con la funzione TOP 10 controlla solo i primi 10

    se dovessi fare gli ultimi 10 ?
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    L'overflow lo hai perche' hai dichiarato l'array come integer. Scrivi questo

    Dim conteggio(90) As Long

    Per il resto, stai facendo confusione ...

    NON devi mettere la linea

    List3.AddItem rs("BA1") & " " & conteggio(rs("BA1"))

    nel loop di conteggio perche' non ha senso.

    Semmai DOPO il loop, scrivi una For ... Next che elenca nella Listbox tutte le frequenze ...
    NON devi usare come indice i valori di rs("...") perche' non ha senso ... devi usare i valori da 1 a 90. Esempio

    For ix=1 To 90
    List3.AddItem ix & " : " & conteggio(ix)
    Next ix

  10. #10
    ok provo subito
    i miei post sono RIFERITI TUTTI A VISUAL BASIC 6
    MSN MESSENGER : magicolotto@hotmail.it

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.