[VB NET] problemi con Combobox e database access
-
giovedì 5 gennaio 2012 11:06
Salve ho un problema che non riesco proprio a risolvere. Ho due tabelle access Agenti e Commissioni. La prima è formata da IDAgente, Nome e Cognome; la seconda tabella è formata da IDComm, IDAgente ec...... Le tabelle sono relazionate su access a 1 a molti ovvero ogni commissione può avere un solo agente e un agente può avere più commissioni.
ora ho creato un form Commissione dove andrò ad impostare l'applicazione per la creazione delle commissione. Ho eseguito la connessione guidata del database e da origine dati sposto sul form i vari campi tra cui la combobox IDAgenti.
Problema.
Vorrei che nella combobox comparissero il cognome dell'agente e non id.
ho fatto varie prove con problemi diversi che non sto a dirvi perchè vari e si farebbe confusione
il problema più frequente è quello che una volta impostato il displaymember e il valuemember , avviando il debug nel momento che vado a scegliere il cognome dalla combo l'applicazione si blocca lasciando il testo della combo evidenziato in blu e non mi permette di fare altro
La mia domanda è qual'è la giusta procedura da fare nel mio caso
Grazie
IDagenteComboBox.DisplayMember = "Cognome" IDagenteComboBox.ValueMember = "IDAgente" IDagenteComboBox.DataSource = DB_EasyCommDataSet.Agenti IDagenteComboBox.DataBindings.Add("SelectedValue", DB_EasyCommDataSet.Commissione, "IDagente")
- Modificato KestrelITA giovedì 5 gennaio 2012 11:08
Tutte le risposte
-
giovedì 5 gennaio 2012 11:49
A titolo di prova, puoi provare a commentare l'istruzione
IDagenteComboBox.DataBindings.Add("SelectedValue", DB_EasyCommDataSet.Commissione, "IDagente")
E verificare se anche così l'applicazione si blocca?
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
giovedì 5 gennaio 2012 16:19
Scusa ma non ho capito cosa vuoi dire.A titolo di prova, puoi provare a commentare l'istruzione
IDagenteComboBox.DataBindings.Add("SelectedValue", DB_EasyCommDataSet.Commissione, "IDagente")
E verificare se anche così l'applicazione si blocca?
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
giovedì 5 gennaio 2012 18:18
Hai detto che quando selezioni un cognome nella Combo, l'applicazione si blocca... Ti dicevo di provare a commentare l'istruzione
IDagenteComboBox.DataBindings.Add("SelectedValue", DB_EasyCommDataSet.Commissione, "IDagente")
e di verificare se, senza di essa, l'applicazione non si blocca più. Un test del genere serve ad isolare la causa del problema.
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
lunedì 9 gennaio 2012 11:33anche commentando quella righa il problema rimane.
-
lunedì 9 gennaio 2012 11:53Per caso hai definito un gestore per l'evento IDagenteComboBox_SelectedIndexChanged?
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
lunedì 9 gennaio 2012 12:04
No non ho definito nessun evento. Di seguito il codice completo del form
Public Class FrmCommissione Private Sub CommissioneBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CommissioneBindingNavigatorSaveItem.Click Me.Validate() Me.CommissioneBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.DB_EasyCommDataSet) End Sub Private Sub FrmCommissione_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: questa riga di codice carica i dati nella tabella 'DB_EasyCommDataSet.Agenti'. È possibile spostarla o rimuoverla se necessario. Me.AgentiTableAdapter.Fill(Me.DB_EasyCommDataSet.Agenti) 'TODO: questa riga di codice carica i dati nella tabella 'DB_EasyCommDataSet.Commissione'. È possibile spostarla o rimuoverla se necessario. Me.CommissioneTableAdapter.Fill(Me.DB_EasyCommDataSet.Commissione) IDagenteComboBox.DataSource = DB_EasyCommDataSet.Agenti IDagenteComboBox.ValueMember = "IDAgente" IDagenteComboBox.DisplayMember = "Cognome" 'IDagenteComboBox.DataBindings.Add("SelectedValue", DB_EasyCommDataSet.Commissione, "IDAgente") End Sub End Class
- Modificato KestrelITA lunedì 9 gennaio 2012 12:05
-
lunedì 9 gennaio 2012 12:43
Molto strano. Puoi provare a sostituire la ComboBox con una ListBox? Ti sembrerà una cosa banale, ma questo test serve per capire qual è l'oggetto che causa il problema.
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
lunedì 9 gennaio 2012 15:36con una listbox funziona. mi fa andare avanti e salvare i record. Non capisco dove sta l'errore. Vuoi che ti posto tutto il progetto con l'archivio?
-
lunedì 9 gennaio 2012 15:40
Infatti ti avevo chiesto di fare questo test proprio perché il problema mi sembra davvero strano :-)
Metti pure il progetto su SkyDrive o su DropBox e dammi il link, lo scaricherò e ci darò un'occhiata.
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
lunedì 9 gennaio 2012 15:40Cosa strana forse ti può essere utile: ho rimesso una combobox, stesse impostazioni di prima ho solo cambiato il nome da list a combox e ora quando avvio il debug nella combo vedo gli ID e non i cognomi, mentre se ne creo un nuovo record nella combo vedo i cognomi ed ovviamente rimane bloccato li perchè rimane evidenziato il cognome selezionato e non va avanti.
- Modificato KestrelITA lunedì 9 gennaio 2012 15:42
-
lunedì 9 gennaio 2012 15:49Sempre più misterioso. Carica tutto online e cerco di darci un'occhiata in giornata!
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
lunedì 9 gennaio 2012 16:08ecco il link www.megaupload.com/?d=C0YTBFA8
-
lunedì 9 gennaio 2012 16:53Grazie, ti farò sapere al più presto!
Marco Minerva [MCPD], http://blogs.ugidotnet.org/marcom -
lunedì 9 gennaio 2012 18:13Grazie a te, sei tu che stai aiutando me. :)
-
lunedì 16 gennaio 2012 09:51Nessuno è riuscito a capire l'errore? sto impazzendo
-
lunedì 16 gennaio 2012 23:32
Ciao!
Scusa se ti rispondo solo ora, la risposta che ti ho scritto diversi giorni fa non è stata inviata correttamente perché in quell'occasione ho avuto diversi problemi di accesso al forum. Colpa mia che non ho verificato :-(
Ho analizzato il file che hai spedito. Non è che l'applicazione si blocca quando selezioni un agente. Il problema è che non è più possibile spostare il focus dalla ComboBox, perché ci sono problemi con il bind dei dati.
Hai provato a ridefinire il DataSet, e gli altri oggetti che rappresentano il collegamento con la fonte dati? Magari c'è qualche problema con le loro impostazioni. Magari prova proprio a ripartire dalla definizione della sorgente dati collegata con IDagenteComboBox.
Marco Minerva [MCPD]
Blog: http://blogs.ugidotnet.org/marcom
Twitter: @marcominerva -
giovedì 2 febbraio 2012 15:18Proprietario
Ciao KestrelITA,
Potresti gentilmente aggiornarci sul thread? Saresti riuscito ad avanzare con il tuo progetto?
Irina Turcu - Microsoft
Questo contenuto è distribuito “as is” e non implica alcuna responsabilità da parte di Microsoft. L'azienda offre questo servizio gratuitamente, allo scopo di aiutare gli utenti e approfondire la loro conoscenza dei prodotti e tecnologie Microsoft.




