Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23

Listbox vs ADODB

  1. #1
    L'avatar di muttley005
    muttley005 non  in linea Topo di biblioteca
    Ciao,
    una cosa che non capisco...
    ho una form non associata con una Casella di Riepilogo (mioElenco) che voglio popolare con un recordset ADODB filtrato ed ordinato in base a criteri ricavati da altri controlli.
    Per quale motivo se metto questo codice
        rsADO.Filter = mioFiltro
        MsgBox rsADO.RecordCount               ----> N variabile
        rsADO.Sort = mioOrdine
        MsgBox rsADO.RecordCount               ----> N variabile
        Set Me.mioElenco.Recordset = rsPrest
        MsgBox Me.mioElenco.ListCount        ----> 100 sempre (se N>100)
    
    qualsiasi numero di record siano nel recordset ADODB quando setto la list ne prende solo 100
    se passo da un secondo ADODB.recordset clone del primo allora lo popola bene.
    ... ma perch?!

  2. #2
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    Set Me.mioElenco.Recordset = rsPrest
    Io non mastico Access, ma rsPrest cosa c'azzecca con rsADO ?
    ℹ️ Leggi di pi su gibra ...

  3. #3
    Ferrari_and non  in linea Scolaretto
    Ma rsPrest come si collega a rsAdo

  4. #4
    L'avatar di muttley005
    muttley005 non  in linea Topo di biblioteca
    ehehe hai ragione
    in realt si chiama rsPrest ma avevo pensato di rinominarlo per il forum a rsADO perch fosse pi evidente che trattasi di ADODB.recordset ... peccato che mi sia dimenticato una sostituzione

    quindi l'ultima istruzione doveva essere
    Set Me.mioElenco.Recordset = rsADO
    
    a quell'istruzione nell'elenco ne appaiono sempre al massimo 100 anche se magari dovrebbero essere 500 come da rsADO filtrato

  5. #5
    L'avatar di gibra
    gibra non  in linea Very Important Person
    Quote Originariamente inviato da muttley005 Visualizza il messaggio
    ADODB.recordset
    Mostra come apri la connessione ed il recordset rsADO.
    ℹ️ Leggi di pi su gibra ...

  6. #6
    L'avatar di muttley005
    muttley005 non  in linea Topo di biblioteca
        
        Set rsADO = New ADODB.Recordset
        With rsADO 
            .Fields.Append "campo1", adInteger
            .Fields.Append "campo2", adVarChar, 255
    ...
            .Fields.Append "campoN", adVarChar, 1, adFldMayBeNull
            .Open , , adOpenDynamic, adLockOptimistic
        End With
    

  7. #7
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Io ho fatto questo Test stupido, 2 ListBox una FULL [lstFull] ed una usata per Applicare e rimuovere il Filtro... [lstFilter], e 2 cmdButton uno per applicare il Filtro alla 2 list ed uno per Rimuoverlo... credo non sia complicato riconoscere quanto descritto nelle 2 righette di codice...!

    Su caricamento popolo la FULL di tutti gli 11 Records, mentre poi filtro la seconda List con il rs filtrato e

    Option Compare Database
    Option Explicit
    
    Private rsADO   As ADODB.Recordset
    
    Private Sub Form_Load()
        Dim i   As Integer
        Set rsADO = New ADODB.Recordset
        With rsADO
            .Fields.Append "campo1", adInteger
            .Fields.Append "campo2", adVarChar, 255
            .Open , , adOpenDynamic, adLockOptimistic
            For i = 0 To 10
                .AddNew
                .Fields("Campo1") = i
                .Fields("Campo2") = "A-" & i
            Next
            
        End With
        Set Me.lstFull.Recordset = rsADO
        Debug.Print "1) PRE-FILTER N=" & rsADO.RecordCount & " - ListCount=" & Me.lstFull.ListCount
        
        rsADO.Filter = "Campo1 = 1"
        Set Me.lstFilter.Recordset = rsADO
        Debug.Print "1) POST-FILTER N=" & rsADO.RecordCount & " - ListCount=" & Me.lstFilter.ListCount
    
    End Sub
    
    Private Sub cmdRemoveFilter_Click()
        rsADO.Filter = vbNullString
        Set Me.lstFilter.Recordset = rsADO
        Debug.Print "2) POST-FILTER N=" & rsADO.RecordCount & " - ListCount=" & Me.lstFilter.ListCount
    End Sub
    
    Private Sub cmdFilter_Click()
        rsADO.Filter = "Campo1 = 1"
        Set Me.lstFilter.Recordset = rsADO
        Debug.Print "3) POST-FILTER N=" & rsADO.RecordCount & " - ListCount=" & Me.lstFilter.ListCount
    End Sub
    
    Il risultato discorda con quello che dici...
    1) PRE-FILTER N=11 - ListCount=11
    1) POST-FILTER N=1 - ListCount=1
    2) POST-FILTER N=11 - ListCount=11
    3) POST-FILTER N=1 - ListCount=1
    
    Da quanto vedo la seconda ListBox [lstFilter] aggiorna la ListCount in base al RecordCount reale...!

    Devo pensare di non aver colto il tuo dubbio o di non essere riuscito a replicarlo.
    ℹ️ Leggi di pi su @Alex ...

  8. #8
    L'avatar di muttley005
    muttley005 non  in linea Topo di biblioteca
    un mini demo prova.zip
    si apre in automatico la form statistiche che quella "chiamante" quella di selezione, tu prova a cliccare il pulsante col binocolo.
    Si apre la form che d l'anomalia (almeno per me lo ad oggi ... poi magari imparo che ho sbagliato).
    Se scorri l'elenco senza filtrare nulla ti accorgi che gli esami/prestazioni si fermano al centesimo record mentre ne ho 1000+

    M.
    File allegati File allegati

  9. #9
    L'avatar di gibra
    gibra non  in linea Very Important Person
    A me da errore qui:
            Set rs = DBEngine(0)(0).OpenRecordset( _
                "SELECT id_esame, des_esame, cod_dm, flag_cessato, tipo_esame " & _
                "FROM dbo_D_ESAMI;", dbOpenSnapshot, dbReadOnly)
    
    perch ovviamente la tabella collegata dbo_D_ESAMI non esiste sul mio pc

    Ma non si parlava di ADODB ?
    ℹ️ Leggi di pi su gibra ...

  10. #10
    L'avatar di muttley005
    muttley005 non  in linea Topo di biblioteca
    che rinco che sono ... non ho convertito la linked table
    ri-eccolo
    prova.zip

    ehm... s, carica su un ADODB.recordset

+ Rispondi al messaggio
Pagina 1 di 3 123 ultimoultimo

Potrebbero interessarti anche ...

  1. [VB5] Connessione con ADODB
    Da vrclaudio nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 25-05-2006, 22:31
  2. adodb.connection
    Da rikka78 nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 10-03-2006, 15:57
  3. ADODB.Recordset (0x800A0BCD)
    Da delfinista nel forum ASP 3, ASP .Net
    Risposte: 1
    Ultimo Post: 15-06-2005, 10:09
  4. Connessione ADODB
    Da matthew85 nel forum Microsoft Word
    Risposte: 5
    Ultimo Post: 01-04-2005, 20:55
  5. Connessione ADODB
    Da matthew85 nel forum Microsoft Word
    Risposte: 5
    Ultimo Post: 21-02-2005, 18:10