Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697

    [vb6] classe data source

    Sto cercando di creare una classe data source in modo da usare il binding di ado, ma non riesco ad associarla ai vari controlli del for ecco il listato mi dite dove sbaglio?!?

    codice:
     Option Explicit
    Private rs As ADODB.Recordset
    
    Sub principale()
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open App.Path & "\rs.db", , adOpenKeyset, adLockBatchOptimistic, adCmdFile
    DataMemberChanged = ""
    End Sub
    
    Private Sub Class_GetDataMember(DataMember As String, Data As Object)
    Set Data = Recordset
    End Sub

  2. #2
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    Ho modificato la classe in questo modo, ma non riesco ad agganciare nessun componente.


    codice:
    Option Explicit
    Private rs As ADODB.Recordset
    
    Private Sub Class_GetDataMember(DataMember As String, Data As Object)
    Set Data = rs
    End Sub
    
    Private Sub Class_Initialize()
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open "rs.db", , adOpenKeyset, adLockBatchOptimistic, adCmdFile
    DataMemberChanged = ""
    End Sub

  3. #3
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    sono riuscito ad interfacciare il controllo alla classe, ma ancora questa non si comporta come un data component cosa devo aggiungere?

    ecco il codice della classe:

    codice:
    Option Explicit
    
    Private WithEvents rs As ADODB.Recordset
    
    Private Sub Class_GetDataMember(DataMember As String, Data As Object)
    Set Data = rs
    End Sub
    
    Private Sub Class_Initialize()
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
    rs.Open App.Path & "\rs.db", , adOpenKeyset, adLockBatchOptimistic, adCmdFile
    End Sub
    
    Sub MoveNext()
    rs.MoveNext
    End Sub
    ed ecco il codice principale:

    codice:
    Option Explicit
    Dim clsclienti As New clsclienti
    
    Private Sub Command1_Click()
    clsclienti.MoveNext
    End Sub
    
    Private Sub Form_Load()
    Set Text1.DataSource = clsclienti
    Text1.DataField = "nome"
    End Sub
    Con il pulsante riesco a spostarmi avanti nel recordset, ma questo non viene modificato xkè?


    tnx!!!

  4. #4
    Utente di HTML.it L'avatar di Beziel
    Registrato dal
    Oct 2002
    Messaggi
    697
    Funziona tutto o quasi.
    Dal momento che il recordset viene caricato da un file ho notato che questo non viene aggiornato, mentre il recorset in memoria si.
    Come posso aggiornare il file a run-time, come accade se invece faccio una connessione diretta con il 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.