Newsgroup: it.comp.appl.access
Titolo: Requery casella combinata

Ciao a tutti
Ho una casella combinata con impostazione Solo in elenco a "si"
origine dati una query basata su una sola tabella con 3.275.000 record
Il mio problema è che se il dato digitato nella casella non esiste,
mi compare giustamente il messaggio "codice non in elenco" , poi però
compare la clessidra come se stesse facendo una requery e dura
anche 20/30 secondi  ,nel codice sottostante della maschera e della casella
non c'è nussuna istruzione di requery ,
Vorrei se possibile eliminare questo tempo di attesa  come posso fare.
Giuseppe

 ha scritto nel messaggio
news:tTRjc.160465$rM4.6...@news4.tin.it...

Fondamentalmente è ASSURDO che l'utente si debba scorrere in una
COMBO 3.275.000 dati......!
Non lo ritengo il metodo corretto, questo a logica personale, poi se non
ricordo male il NUM_MAX=65535
Ciao.
@Alex.


Non bisogna scorrere  tremilioni di record  ma semplicemente digitare
un numero di telaio , se il numero č presente in circa 4 secondi viene data
risposta
altrimenti compare immediatamente il messaggio non in lista.
Non mi sembra cosě ASSURDO o  sbaglio ?
Ciao Giuseppe

 Non mi sembra così ASSURDO o  sbaglio ?
E come lo sa se è presente? Se li ricorda o scorre
tutti e 3milioni di record?
MAssimiliano

 Ciao Giuseppe
Non conosco lo sviluppo del problema, quindi non saprei, però
come ti dicevo la COMBO/LIST hanno un limite fisico di 65535
ROW se ne devi cercare 3.750.000 non è la soluzione adatta.
Inoltre il fatto di usare la COMBO è solo una Comodità(tua) in realtà
non utile.
Una TextBox non associata che lancia una Query di Ricerca sul
numero di Telaio è decisamente più efficiente, riduce il traffico
dei DATI in rete ed è più veloce.
Vedi tu.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


Io ho solo bisogno di risolvere la lentezza  quando il codice digitato
non viene trovato e  il messaggio mi avvisa del record  non trovato, dopo
l' OK sul messaggio la clessidra rimane troppo tempo ,e non so perchè.
IL resto mi va benissimo, comunque per trovare il record desiderato ho
sull'evento dopo aggiornamento questa istruzione , con relativa barra
di avanzamento
Private Sub ELENCO_ARTICOLI_AfterUpdate()
    'Trova il record corrispondente al controllo
    Dim rs As Object
    Dim intmassimo As Integer
    Dim lngCodiceErrore As Long
    Dim sngPercento As Single
    Set rs = Me.Recordset.Clone
    intmassimo = 500
    DoCmd.Hourglass True
    Me.OcxAvanzamento.Visible = True
    Me.OcxAvanzamento.Min = 1
    Me.OcxAvanzamento.Max = intmassimo
    Me.Percentuale_Eseguita.Caption = "Ricerca numero telaio"
    rs.FindFirst "[NumeroTelaio] = '" & Me![ELENCO ARTICOLI] & "'"
   Me.Bookmark = rs.Bookmark
   For lngCodiceErrore = 1 To intmassimo
   Me.OcxAvanzamento.Object.Value = lngCodiceErrore
   sngPercento = lngCodiceErrore / intmassimo
   Me.Percentuale_Eseguita.Caption = "Percentuale realizzata:" &
Format$(sngPercento, "0.00%")
    Next
           DoCmd.Hourglass False
End Sub
Giuseppe

 l' OK sul messaggio la clessidra rimane troppo tempo ,e non so perchč.

Hai messo una barra d'avanzamento che non serve a nulla se non fare della
scena.
TOGLILA e vedi la lentezza.
Ti ripeto che no č il modo corretto di gestire le Ricerche che devono essere
VELOCI ed INTUITIVE.
TextBox non associata e Query SELECT con la valutazione del Parziale
inserimento.
Ciao.
@Alex.

 ha scritto nel messaggio
news:c6rasn$rrj$1...@lacerta.tiscalinet.it...

Grazie del consiglio