Nella tua combobox cosa selezioni ? l'ID, la Descrizione o il Codice ?
tu hai scritto
hai provato a guardare il contenuto di comboProdotto.ValueMember ?codice:"Select * FROM Prodotti where ID ='" + comboProdotto.ValueMember.ToString + "'"
Nella tua combobox cosa selezioni ? l'ID, la Descrizione o il Codice ?
tu hai scritto
hai provato a guardare il contenuto di comboProdotto.ValueMember ?codice:"Select * FROM Prodotti where ID ='" + comboProdotto.ValueMember.ToString + "'"
Ultima modifica di patel; 27-06-2017 a 18:40
Si ed è uno dei problemi nel senso mi restituisce sempre e solo la parola ID ma non il valore numero corretto, ho controllato anche nella tabella access e il campo è ID.
Nel combo visualizzo il CodiceProdotto e la DescrizioneProdotto e vorrei che selezionando una di queste voci sul combo txtid prendesse il valore di ID e poi txtCosto il costo del prodotto e così via. Grazie
ma tu come hai popolato la combo ? nella combo c'è l'ID ? mostra il codice
Il fatto che ti sembra non significa che sia così. Ed infatti non lo è!!!
Va beh, questo riempie il colmo.
La tua risposta dimostra quanto sei superficiale nelle tue risposte e nelle tue azioni.
Il problema non sta nel 'grid' (come lo chiami tu, né nel combo. Non è questo il punto.
Ma se ancora non l'hai capito... Beh, per te la vedo davvero durissima.
Si sono già sprecati oltre 30 post per questo TUO problema, in cui ci metti ZERO impegno, ed è per questo che sei sempre ferma al paolo; e per i miei gusti sono già troppi.
codice:Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\negozio.mdb;Persist Security Info=False") Dim strSql As String = "Select * FROM Prodotti ORDER BY Codice, Descrizione" Dim CMD As New OleDb.OleDbCommand(strSql, CN) CN.Open() Dim RDR As OleDb.OleDbDataReader = CMD.ExecuteReader() While (RDR.Read()) cmbProdotti.Items.Add(RDR("Codice") & " " & RDR("Descrizione")) cmbProdotti.ValueMember = "'ID'" End While RDR.Close() CN.Close()
Ultima modifica di Silvy77; 27-06-2017 a 22:55
Ma questa lineacmbProdotti.ValueMember = "'ID'"
che c'entra? Non ha senso ...
Semmai
cmbProdotti.Items.Add(RDR("ID") & " " & RDR("Codice") & " " & RDR("Descrizione"))
anche se non avrebbe molto senso mostrare i dati in questo modo ...
No MP tecnici (non rispondo nemmeno!), usa il forum.
abbiamo visto che per caricare un item nella combo occorre prelevarlo dal reader quindi la riga
scrive soltanto la stringa "ID" e non il valore di ID che è un numero, dovrebbe essere:codice:cmbProdotti.ValueMember = "'ID'"
a me sembra che tu incolli a caso pezzetti di codice senza cercare di capire cosa stai facendo.codice:cmbProdotti.ValueMember = RDR("ID")
Dici di aver esaminato il progetto di Giorgio ma non ti sei reso conto che te lo ha indicato soltanto per farti vedere come si usano i parametri indipendentemente dal fatto che nel tuo progetto ci sia una combo o una datagridview.
Forse sei abituato ad usare il VBA su excel dove spesso copiando pezzi di codice dalla rete si riesce ad ottenere un risultato anche senza capire, ma ti assicuro che con Vb.net non è così, se non studi e capisci non vai avanti.
Ultima modifica di patel; 28-06-2017 a 08:45
Hai ragione Patel, in effetti come ho scritto non sono certo una programmatrice, mai mi permetterei, però vuoi per necessità e anche per passione mi sono sempre interessata e mi ha sempre intrigato questo vostro mondo.
Questo piccolo (ma per me immenso) progetto vuole essere una piccola lezione per me e anche non ti nascondo un portare a casa un risultato per la nostra piccola attività di famiglia. Credimi ho passato parecchio tempo davanti a questo benedetto codice ma purtroppo mi sono persa. Anche oggi mi ci sono messa ma purtroppo mi sto arrendendo, vabbe dai almeno però posso di averci provato. Grazie
codice:'Carico i prodotti nel Combo Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\negozio.mdb;Persist Security Info=False") Dim strSql As String = "Select * FROM Prodotti ORDER BY Descrizione" Dim CMD As New OleDb.OleDbCommand(strSql, CN) CN.Open() Dim RDR As OleDb.OleDbDataReader = CMD.ExecuteReader() While (RDR.Read()) comboProdotto.Items.Add(RDR("codice") & " " & RDR("descrizione")) End While RDR.Close() CN.Close()
Ciaocodice:Private Sub comboProdotto_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbNominativo.SelectedIndexChanged Dim CN As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\negozio.mdb;Persist Security Info=False") Dim strSql As String = "Select * FROM Prodotti where id = " ????? QUI MI PERDOOOOO Dim CMD As New OleDb.OleDbCommand(strSql, CN) CN.Open() Dim RDR As OleDb.OleDbDataReader = CMD.ExecuteReader() While (RDR.Read()) txtID.Text = RDR.Item("id") txtDescrizione.Text = RDR.Item("Descrizione") txtCodice.Text = RDR.Item("Codice") End While RDR.Close() CN.Close()
Silvy
Non ti devi arrendere, ma cercare di capire e magari cercare ed esaminare esempi simili
quando scrivi la riga:
Dim strSql As String = "Select * FROM Prodotti where id = " ????? QUI MI PERDOOOOO
l'ID lo devi conoscere, quindi lo devi ricavare dalla combo (se ce l'hai messo) e tu non ce l'hai messo.
Purtroppo sono anch'io un principiante e non sono in dirti di più in base agli elementi che hai fornito, ma se tu carichi il tuo progetto in sun sito di hosting e incolli qui il link ci posso provare.
tieni presente inoltre che è possibile inserire in una combo sia il dato da visualizzare che quello da utilizzare (nel tuo caso l'ID)
vedi https://social.msdn.microsoft.com/Fo...orum=vbgeneral
la soluzione di lapheal