Visualizzazione dei risultati da 1 a 3 su 3

Discussione: VB6 - combobox

  1. #1

    VB6 - combobox

    Salve a tutti, sono nuovo nell'ambiente della programmazione orientata agli oggetti e del forum, cerco una licenza professional di vb5 o vb6...se potete aiutarmi....
    Veniamo al mio primo inghippo:
    Avendo due tabelle, una principale che contiene tutti i clienti ed un'altra che contiene le varie professioni,
    come faccio a far comaprire nel combobox la lista delle descrizioni delle professioni e dopo la selezione ad inserire la chiave della professione selezionata nella tabella Clienti? Premetto la connessione tramite codice e con ADO, non amo molto i controlli ADOData.
    Ciao a tutti e grazie.

  2. #2
    Intanto se fai da codice ti consiglio di usare l'ADODB
    Progetto > Riferimenti > Microsoft ActiveX Data Object Library 2.8(o minori)

    Cosi' l'IDE ti fornisce i metodi e le proprietà di quello che stai usando

    Questo è un pezzo di codice che ti fa caricare su una "Combo1" tutte le professioni

    codice:
    Dim objConn As ADODB.Connection
        Dim objRs As ADODB.Recordset
        objConn.Open "STRINGA DATABASE"
        objRs.Open "SELECT * FROM Professioni", objConn
        Do While Not objRs.EOF
            Me.Combo1.AddItem objRs("nomeProfessione")
            objRs.MoveNext
        Loop
        objRs.Close
        Set objRs = Nothing
        objConn.Close
        Set objConn = Nothing
    Questo invece è quando tu hai selezionato la professione

    codice:
    Private Sub Combo1_Click()
        Dim valore As Long
        Dim objConn As ADODB.Connection
        Dim objRs As ADODB.Recordset
        objConn.Open "STRINGA DATABASE"
        'SELEZIONO la chiave
        objRs.Open "SELECT * FROM Professioni WHERE nomeProfessione='" & Combo1.Text & "'", objConn
        If Not objRs.EOF Then
            valore = objRs("IDChiave")
        End If
        objRs.Close
        
        'Aggiorno la tabella clienti
        objRs.Open "SELECT * FROM Clienti WHERE nomeCliente='Pinco Pallino'", objConn, 3, 3
        objRs.AddNew
        objRs("ProfessioneID") = valore
        objRs.Update
        objRs.Close
        
        Set objRs = Nothing
        objConn.Close
        Set objConn = Nothing
    End Sub

  3. #3
    grazie per l'aiuto trigunxxx,
    1) Nella dichiarazione degli oggetti recordset e connection ho usato
    il suffisso New. E' sbagliato farlo?
    2) Nell'aggiornamento della tabella clienti perchè mi hai scritto di utilizzare il metodo addnew se si tratta solo di un aggiornamento del recodset?
    Scusa, probabilmente ti sto facendo delle domande stupite, ma ancora
    sono nella fase di apprendimento base.

    Usare il controllo DataCombo può migliorarmi la vita secondo te,
    considerando che preferisco scrivere codice che usare controlli che fanno tutto da se? Ho provato ad usarlo e non è stato un gran successo direi. Volevo agganciarlo ad un recorset e non ad un dataenvironment. Hai un pò di codice al riguardo per istruirmi e comprendere meglio le sue proprietà dati?

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.