Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Assegnare proprietà a oggetti caricati!

    Ciao! Questa volta mi sa che è veramente tosta la questione!

    Allora...io carico una serie di oggetti (textbox) col metodo "load" e tutto funge...

    ES:

    codice:
    load textbox(2)
    textbox(2).move 12,12,10,10
    textbox(2).visible=true
    Il problema è che io devo popolarle con dei campi di un database access al quale mi collego con ADO.... alchè faccio:

    codice:
    set textbox(2).Datasource=mioRecord
    textbox(2).datafield="mioCampo"
    Non mi sembra ci siano errori....solo che non mi ci carica proprio nulla.....sembra quasi che setti una delle 2 proprietà...(datasource o datafield)....che succede? E' risolvibile la cosa?

    Grazie a tutti ancora una volta!
    BACI!

  2. #2
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    in effetti il codice sembra corretto... ma è sicuro che il campo che cerchi di passare come DataField sia corretto?

    Boolean

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Si...anche perchè se no mi darebbe l'errore di runtime....tra l'altro ho visto che se provo a inserire testo nelle suddette caselle appena mi sposo cancella quello che ho scritto (segno che il collegamento effettivamente c'è,....) solo che non ci carica nulla!

  4. #4
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    come apri recordset e connessione?

    Boolean

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    la connessione la apro con ado come ho detto su:

    codice:
    Public connConnection As New ADODB.Connection
    Public rsRecordset As New ADODB.Recordset
    Public Sub connessione()
    Dim strConnect As String
    Dim strProvider As String
    Dim strDataSource As String
    Dim strDataBaseName As String
    strProvider = "Provider= Microsoft.Jet.OLEDB.4.0;"
    strDataSource = App.Path
    strDataBaseName = "/dati/bolle.mdb"
    strDataSource = "Data Source=" & strDataSource & strDataBaseName
    strConnect = strProvider & strDataSource
    connConnection.CursorLocation = adUseClient
    connConnection.Open strConnect
    rsRecordset.CursorType = adOpenStatic
    rsRecordset.CursorLocation = adUseClient
    rsRecordset.LockType = adLockPessimistic
    End Sub
    Mentre il mio record lo apro con:

    codice:
     rsrecordset.Source= "Select * froma MiaTabella"
        rsRecordset.ActiveConnection = connConnection
        rsRecordset.Open
    Non mi ha mai dato questo problema me lo da solo con questi textbox che ho caricato in fase di esecuzione da una matrice..

  6. #6
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    ho utilizzato il tuo codice, con una matrice di textbox generata a run-time... e il problema non si è posto minimamente...

    ti riporto il codice che ho provato su un nuovo progetto con solo un form e un textbox con indice = 0 disposto sul form e un command button:

    codice:
    Public connConnection As New ADODB.Connection
    Public rsRecordset As New ADODB.Recordset
    
    Public Sub connessione()
    Dim strConnect As String
    Dim strProvider As String
    Dim strDataSource As String
    Dim strDataBaseName As String
    strProvider = "Provider= Microsoft.Jet.OLEDB.4.0;"
    strDataSource = App.Path
    strDataBaseName = "\TuaCartella\TuoDB.mdb"
    strDataSource = "Data Source=" & strDataSource & strDataBaseName
    strConnect = strProvider & strDataSource
    connConnection.CursorLocation = adUseClient
    connConnection.Open strConnect
    rsRecordset.CursorType = adOpenStatic
    rsRecordset.CursorLocation = adUseClient
    rsRecordset.LockType = adLockPessimistic
    End Sub
    
    Private Sub Command1_Click()
    
        connessione
        
        rsRecordset.Source = "SELECT * FROM TuaTabella"
        rsRecordset.ActiveConnection = connConnection
        rsRecordset.Open
        
        For K = 1 To 3
            Load txt(K)
            txt(K).Move txt(0).Left, txt(0).Top + (300 * K)
            txt(K).Visible = True
        Next
    
        For K = 0 To 3
            Set txt(K).DataSource = rsRecordset
            txt(K).DataField = rsRecordset(K).Name
        Next
    
    End Sub
    Boolean

  7. #7
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    che è questo? O.O
    codice:
    txt(K).DataField = rsRecordset(K).Name
    non devo metter la stringa col nome del campo li?

  8. #8
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758
    è proprio il nome del campo!

    rsRecordset(K).Name

    restituisce una stringa con il nome del campo identificato dall'indice K passato come argomento.

    sarebbe come scrivere:

    rsRecordset.Fields(K).Name

    siccome ho inserito l'istruzione in un ciclo, ho trovato più comodo identificare il campo attraverso il suo indice, ricavandone il nome tramite la proprietà Name, passandola alla DataField del TextBox... tutto qui...

    Boolean

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.