Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103

    [VB6] Popolare ComboBox con record tabella database

    Ciao a tutti!
    E' possibile popolare una ComboBox utilizzando i record di una tabella di un database Sql Server 2005?
    In rete e sul mio manuale di VB6 non ho trovato niente in merito...
    Pensavo di contare i record della tabella (supponiamo siano N record), eseguire un ciclo FOR (da 1 a N), leggere il record N-esimo ed inserirne la stringa nella ComboBox...
    E' fattibile?
    Grazie in anticipo!

  2. #2

    Moderazione

    Benvenuta sul forum! Ti ricordo che le discussioni relative a VB6 non sono trattate qui, ma nella sezione Visual Basic e .Net Framework.

    Ora provvedo a spostare entrambi i thread, in futuro imposta correttamente la discussione fin da subito; nel frattempo ti consiglio di dare un'occhiata al regolamento.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ovviamente è possibile, devi eseguire una query, ottenere un recordset e utilizzarlo per riempire la combo
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    Grazie per la risposta.
    Ecco il mio codice a riguardo:

    codice:
    Private Sub Form_Load()
    
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    Dim NumRecord1 As Integer
    Dim NumRecord2 As Integer
    Dim n As Integer
    
    conn.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=PROVA_ELENA;Data Source=ELENA-PC\SQLEXPRESS"
    
    'Popolo la ComboBox cboLotto
    rs.Open "select CODICE_LOTTO from LOTTI", conn, adOpenStatic
    If rs.RecordCount > 0 Then
    NumRecord1 = rs.RecordCount
    'MsgBox NumRecord1
        For N = 1 To NumRecord1 Step 1
        'Leggo un record e lo inserisco nella ComboBox
        cboLotto.AddItem "stringa"
        Next
    Else
    MsgBox "Nessun record"
    End If
    
    End Sub
    La parte in grassetto è quella che non so fare...mi puoi aiutare con il codice?

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    A MItaly
    Grazie e scusa!

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quale valore ottieni in NumRecord1 ?

    Se ottieni il corretto numero di record dovresti scrivere

    cboLotto.AddItem rs(0)


    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    In NumRecord1 ottengo 4 (infatti i record in quella tabella ora sono 4).
    Perchè devo scrivere cboLotto.AddItem rs(0) e non cboLotto.AddItem rs(N)?
    Scusa la mia ignoranza! Comunque adesso provo!
    Grazie ancora!

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    Inserendo nel ciclo for l'istruzione cboLotto.AddItem rs(0) mi inserisce 4 volte la stessa stringa!

    Se inserisco cboLotto.AddItem rs(N) mi dà errore...

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Scusa, ma come fai a scrivere codice senza avere l'idea di quello che scrivi? Non è una critica ma mi sembra una cosa poco sensata ... basta un buon libro di base e un minimo di applicazione ...

    rs(0)

    indica il valore del primo "campo" del tuo record (sai cosa è un campo e cosa un record?).

    Ti restituisce sempre lo stesso perché prima della

    Next

    dovresti scrivere

    rs.MoveNext

    per passare al prossimo record del recordset che stai esplorando.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    103
    So che cos'è un campo e cos'è un record...ho qualche lacuna in vb6!!
    Ho un manuale di vb6 di 1000 pagine...vado a leggere in qua e in là quando ho bisogno di qualcosa...
    Comunque grazie mille!

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.