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

    [vb6] funzione cerca in archivio access

    Ciao ragazzi vorrei porvi un quesito....

    devo fare una ricerca con VB6 in un archivio access...

    ho tutto impostato pero' non funziona sicuro sbaglio in qualcosa

    nell'archivio ho queste
    N1 = adoPrimaryRS(1)
    N2 = adoPrimaryRS(2)
    N3 = adoPrimaryRS(3)
    N4 = adoPrimaryRS(4)
    N5 = adoPrimaryRS(5)

    quindi da n1 to n5 ho il risultato delle tabelle dell'archivio tramite le varie query

    devo fare una ricerca su di esse
    ed ho continuato in questo modo
    codice:
    Dim N(5)
    N(1) = N1
    
    N(2) = N2
    
    N(3) = N3
    
    N(4) = N4
    
    N(5) = N5
    
    For i = 0 To 5
    N(i) = i + 1
    If N(i) = 72 Then
    Prv.Text = N(i) 
    Prv.Refresh
    End If
    Next
    pero' nella texbox di nome Prv NON MI VISUALIZZA NULLA
    ovvio il 72 di N è presente


    mi aiutate??
    grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Primo: perche' il ciclo da 0 a 5 se i valori sono negli elementi da 1 a 5 ?

    Secondo: se tu scrivi N(i) = i + 1 stai modificando il contenuto degli elementi del vettore e quindi il 72 non c'e' piu' ...

    Terzo: perche' non lavori direttamente con il vettore ?

    In pratica ...

    codice:
    Dim N(1 To 5) As Integer
    Dim i as Integer
    
    For i = 1 To 5
       N(i) = adoPrimaryRS(i)
       If N(i) = 72 Then
         Prv.Text = N(i) 
       End If
    Next

  3. #3
    hai ragione , sto cercando di imparare VB6, sono autodidatta evoi siete l'unica forma per imparar con dei professionisti che ringrazio ancora una volta

    provo e ti faccio sapere

  4. #4
    ok facendo come mi hai detto funziona alla grande

    pero' se io dei primi 5 valori dell'archi ne ricavo altri 10

    cioè :
    DIST1
    DIST2
    DIST3
    DIST4
    DIST5
    DIST6
    DIST7
    DIST8
    DIST9
    DIST10

    A QUESTO PUNTO DEVO sapere quale di questi valori è a 30 (esempio)

    ed ho aggito in questo modo :

    Dim DIST(1 To 10) As Integer
    Dim Y As Integer
    For Y = 1 To 10
    DIST(Y) = DIST(Y)
    If DIST(Y) = 30 Then
    Prv.Text = DIST(Y)
    End If

    come mi hai detto, pero non va sbaglio sicuro in qualcosa

  5. #5
    OK RISOLTO HO FATTO COSI

    codice:
    Dim DIST(10)
    DIST(1) = DIST1
    DIST(2) = DIST2
    DIST(3) = DIST3
    DIST(4) = DIST4
    DIST(5) = DIST5
    DIST(6) = DIST6
    DIST(7) = DIST7
    DIST(8) = DIST8
    DIST(9) = DIST9
    DIST(10) = DIST10
    
    'Dim DIST(1 To 10) As Integer
    Dim Y As Integer
    For Y = 1 To 10
    DIST(Y) = DIST(Y)
    If DIST(Y) = 30 Then
    Prv.Text = Y
    End If
    
     Next
    nella textboxt Prv mi risulta scritto y
    quando avvio l'elaborazione mi risulta scritto la 5° DIST(5)

    PERO' non mi scrivi la DIST(1) CH è ANCHE UGUALE A 30....
    PERCHE????

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Magicolotto
    OK RISOLTO HO FATTO COSI

    [CODE]Dim DIST(10)
    DIST(1) = DIST1
    DIST(2) = DIST2
    DIST(3) = DIST3
    DIST(4) = DIST4
    DIST(5) = DIST5
    DIST(6) = DIST6
    DIST(7) = DIST7
    DIST(8) = DIST8
    DIST(9) = DIST9
    DIST(10) = DIST10
    Anche in questo caso, se i dati provengono da un recordset, allora tutte le variabili

    DIST1 ... DIST2 ....

    non servono perche' puoi leggere direttamente in DIST(y)

    Dim DIST(1 To 10) As Integer
    Perche' hai eliminato questa dichiarazione ... e' utile inserirla e prima di utilizzare un qualsiasi elemento del vettore ...

    DIST(Y) = DIST(Y)
    Questa istruzione, se la leggi bene, non ha alcun senso ...
    Stai dicendo di conservare in un elemento del vettore il valore dello stesso elemento ... ovvero non stai facendo nulla ...
    Se hai compreso il fatto che non ha alcuna utilità, capirai bene che devi eliminare questa istruzione ...

    nella textboxt Prv mi risulta scritto y
    quando avvio l'elaborazione mi risulta scritto la 5° DIST(5)
    PERO' non mi scrivi la DIST(1) CH è ANCHE UGUALE A 30....
    PERCHE????
    Cosa è un ciclo? E' la ripetizione di un gruppo di istruzioni.
    Quindi il confronto viene effettuato sia per l'elemento 1 sia per l'elemento 5 ... ma nella textbox puoi visualizzare *un solo* valore e quindi viene visualizzato l'ultimo.

    Puoi visualizzare nella textbox più valori ma la scelta migliore è utilizzare un altro controllo più adatto, ad esempio una listbox.

  7. #7
    ok sto cercando di migliorare

    come creo una listbox??

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E' un controllo ... lo trovi tra i controlli a sinistra ...

  9. #9
    si ho visto, ma mi risolverebbe la non visualizzazione di piu'ritrovameti? essendo che visualizza solo l'ultima?



    chiedo scusa per il doppio post

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Eh?

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.