Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di Artemio
    Registrato dal
    Jan 2006
    Messaggi
    178

    [VB6] Caricamento DataBase

    Ciao, ho un database in access con tutti i comuni italiani, e per "usarlo" in vb uso un controllo Data (ho usato il primo che ho trovato... non so se sia il metodo migliore) e questo controllo Data e posizionato su Form2. Quando avvio il programma si avvia per primo il Form1 e, alla pressione di un tasto su quest'ultimo, si apre il Form2 ma con un leggero ritarto (2-3 secondi) visto che deve caricare il database.
    Non so se fin qui mi sono spiegato... cmq vorrei che questo "ritardo" si verificcasse all'avvio del Form1, in modo che l'apertura del Form2 risultasse immediata o più fluida.
    Come posso fare?

    Forse vi puo servire sapere come funziona il Form2... in pratica inserisco un comune in una textbox e se lo trova nel database, in un'altra textbox (dove DataSource è impostato su "Data1" e DataField su "COMU_PROV") visualizza la provincia e su un'altra (dove DataSource è impostato su "Data1" e DataField su "COMU_COD") il codice fiscale del comune.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    156
    puoi spostare la routine di caricamento db su un oggetto timer

    Dalla form1 apri la form2 e sulla load della form2 abiliti il timer
    (timer1.interval=1)
    sotto l'oggetto timer1 metti la routine che sta sotto la form2.load

  3. #3
    Utente di HTML.it L'avatar di Artemio
    Registrato dal
    Jan 2006
    Messaggi
    178
    non ho ben capito... ma in questo modo quando apro il Form2 c'e ancora il ritardo del caricamento del Database

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    156
    il ritardo ci sara' pero se lasci la routine di caricamento db sulla load della form avrai ritardo tra il comando di apri form e l'apertura della stessa.
    Se scarichi l'apertura del db su un oggetti timer ,la form si aprira' subito.

  5. #5
    Utente di HTML.it L'avatar di Artemio
    Registrato dal
    Jan 2006
    Messaggi
    178
    a... capisco... potrebbe andare bene cosi... ma non sarebbe possibile caricare il db all'avvio del form1?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    156
    non ho capito se il ritardo e' dovuto alla visualizzazione dei record su una list o altro.
    Altrimenti prova ad usare l'accesso con Micro... dao e avviare la connessione subito all'avvio del programma.

  7. #7
    Utente di HTML.it L'avatar di Artemio
    Registrato dal
    Jan 2006
    Messaggi
    178
    @multijet no, i dati non vengono visualizzati su una list o altro... credo che il ritardo sia dovuto al fatto che il database contenga 15000 righe.

    Altrimenti prova ad usare l'accesso con Micro... dao e avviare la connessione subito all'avvio del programma.
    per quanto riguardo quello che hai scritto sopra... il problema e che non lo so fare

  8. #8
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151

    Re: [VB6] Caricamento DataBase

    Originariamente inviato da Artemio
    ....
    Forse vi puo servire sapere come funziona il Form2... in pratica inserisco un comune in una textbox e se lo trova nel database, in un'altra textbox (dove DataSource è impostato su "Data1" e DataField su "COMU_PROV") visualizza la provincia e su un'altra (dove DataSource è impostato su "Data1" e DataField su "COMU_COD") il codice fiscale del comune.
    Ciao, premesso che, se tu carichi un'intera tabella, il tempo di attesa cresce in base alla quantità dei record che contiene..
    Se a te non interessa vedere tutti i comuni, ti conviene non caricare tutto subito, ma selezionare i record che ti interessano con una query e la clausola WHERE.
    Ipotesi, inserisci il nome del comune in una textBox e poi fai un'interrogazione sulla tabella: select * from comuni where nomeComune='" & textBox.text & "';"
    Se invece vuoi fare una ricerca di tutti i comuni che iniziano con la parola messa nella textBox, allora usi la clausolo LIKE.
    Jupy

  9. #9

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    156
    Potresti fare cosi':
    Global DB As New ADODB.Connection
    Global Rs As New ADODB.Recordset '

    Db e' il tuo database
    Rs e' la tua tabella
    Quando apri la form lanci le connessioni

    Set DB = New ADODB.Connection
    DB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" & "Data Source=" & "percorso dove c'e' il database incluso il file mdb es:c:\Pippo\pippo.mdb"
    DB.Open

    Inserisci il nome del comune che vuoi ricercare nella text1.text
    dichiara la variabile dim a as string
    a=text1.text

    Set Rs = New ADODB.Recordset
    Rs.Open "Select * from [Tabella ] where NomeCampoTabella=" & a , DB, adOpenStatic, adLockOptimistic


    Il risultato lo visualizzi dove hai necessita
    es. text2.text=rs!NomeCampoTabella

    Devi pero' inserire nei riferimenti del progetto Microsoft Dao 3.6 altrimenti non accedi al db.

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.