ComboBox con più colonne

lunedì 11 giugno 2012 - 09.49

Peppino Profilo | Junior Member

Ciao a tutti.
Uso Sql Express 2008 con management studio e Visual Studio/Visual basic 2008.
Ho la seguente query che mi popola una combobox e che funziona benissimo, ma il mio problema è che la combo oltre al nome mi dovrebbe visualizzare anche la partitaiva.
Come va cambiata la query?.

cmd = New SqlCommand()
cmd.Connection = ConnessioneDatabase
cmd.CommandText = "SELECT DISTINCT Nome FROM Nominativi ORDER BY Nome"
adp = New SqlDataAdapter(cmd)
dstNome = New DataSet
adp.Fill(dstNome, "Nome")

CmbNome.DataSource = dstNome.Tables(0)
CmbNome.DisplayMember = "Nome"
CmbNome.ValueMember = "Nome"

Grazie anticipatamente per l'eventuale risposta.
Ciao. Peppino.

alx_81 Profilo | Guru

>Ciao a tutti.
Ciao

>Ho la seguente query che mi popola una combobox e che funziona
>benissimo, ma il mio problema è che la combo oltre al nome mi
>dovrebbe visualizzare anche la partitaiva.
>Come va cambiata la query?.
>cmd.CommandText = "SELECT DISTINCT Nome FROM Nominativi ORDER BY Nome"
se si tratta solo di layout e supponendo di avere un campo PIVA puoi fare una query come la seguente:

SELECT DISTINCT Nome + ' - ' + PIVA FROM Nominativi ORDER BY Nome + ' - ' + PIVA

>Grazie anticipatamente per l'eventuale risposta.
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Peppino Profilo | Junior Member

Ciao Alex. Grazie per la tempestiva risposta.
Nel Database è presente la colonna Piva.
Ho provato come mi hai suggerito, ma mi da errore dicendomi: se si specifica SELECT DISTINCT, gli elementi ORDER By devono essere inclusi nell'elenco di selezione. Ho provato cambiare la query in questo modo: SELECT DISTINCT Nome + ' - ' + Piva FROM Nominativi ORDER BY Nome, Piva" oppure cosi
SELECT DISTINCT Nome + ' - ' + Piva FROM Nominativi ORDER BY Nome + ' - ' + Piva" ma mi dà sempre lo stesso errore. A me serve che quando seleziono la combo, devo vedere sulla stessa riga 'PippoPippo 00001110222' . Ancora grazie.
Ciao. Peppino.

alx_81 Profilo | Guru

>Ciao Alex. Grazie per la tempestiva risposta.
>Nel Database è presente la colonna Piva.
>Ho provato come mi hai suggerito, ma mi da errore dicendomi:
>se si specifica SELECT DISTINCT, gli elementi ORDER By devono
>essere inclusi nell'elenco di selezione. Ho provato cambiare
>la query in questo modo: SELECT DISTINCT Nome + ' - ' + Piva
>FROM Nominativi ORDER BY Nome, Piva" oppure cosi
>SELECT DISTINCT Nome + ' - ' + Piva FROM Nominativi ORDER BY
>Nome + ' - ' + Piva" ma mi dà sempre lo stesso errore. A me serve
>che quando seleziono la combo, devo vedere sulla stessa riga
>'PippoPippo 00001110222' . Ancora grazie.
Visto che non ho la tua base dati sotto, potresti cortesemente scriptarmi la CREATE TABLE, inserire due dati di prova e postarli qui?
Grazie
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Peppino Profilo | Junior Member

Ciao Alex e grazie per l'interessamento al mio quesito e scusami se non riesco ad esporlo per quello che serve per avere una risposta risolutiva ma se vuoi dedicarmi un pò di quella tanta pazienza che avete tutti Voi del Forum con quelli come me, alla fine penso di riuscire a spiegare quello serve. Proviamo.
Il database con le relative tabelle li creo con il Management Studio e poi lo collego all'applicazione, il codice è scritto in VB 2008. Ho una maschera per l'inserimento dei documenti 'fatture, ordini ecc..' con delle textbox e combobox tra cui quella che vado a selezionare il nominativo. Prima ho messo come seconda colonna la Piva ma potrebbe essere un'altra denominazione. Siccome come spesso accade possono trovarsi in archivio nominativi uguali, a quel punto nella combobox serve la seconda colonna (che in tabella l'ho definita categoria) per capire quale è il nominativo che devi selezionare. Alcune colonne della tabella Nominativi e che interessano la cmb ID, Nome, Categoria, Piva, Indirizzo ecc.. Come strutturata adesso la combo mi rileva solo il Nome mentre io vorrei 'Nome e Categoria'. Scusa se in parte sono ripetitivo. Spero come risposta sia buona, diversamente dovrei rinunciare a questa soluzione.
Grazie ancora. Ciao. Peppino.

alx_81 Profilo | Guru

>Spero come risposta sia buona, diversamente dovrei rinunciare
>a questa soluzione.
Ciao,
nel post precedente ti ho chiesto se mi puoi mandare gli script di CREATE delle tabelle e qualche dato di esempio (INSERT).
Puoi ricavare lo script di create con il tasto destro del mouse sulla tabella.
Per i dati dovresti scrivere qualche insert statement oppure elencarmeli nel post.
Riesci a passarmi questo?
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Peppino Profilo | Junior Member

Ciao Alex, pensavo non rispondevi più visto la mia ignoranza in materia, ho letto un post poco prima non ricordo fatto da chi e che diceva di vergognarsi trovandosi nella mia stessa situazione be io non mi vergogno ma sono fatto così e non me la prendo più di tanto se non si dovesse arrivare al risultato.
Comunque la tabella è la seguente, la riporto in parte penso sia lo stesso!.
CREATE TABLE [dbo].[Nominativi](
[Codice] [int] NOT NULL,
[Nome] [varchar](50) NOT NULL,
[Tipologia] [varchar](50) NOT NULL,
[Codice_fiscale] [varchar](16) NULL,
[Partita_iva] [varchar](11) NULL
Le prime tre variabili (Codice, Nome, Tipologia) sono PK. Per quanto riguarda il resto io nel progetto ho delle classi (non sono farina del mio sacco come puoi ben intuire) che fanno il resto. Per quello che voglio, be non mi vergogno ma penso di trovarmi a ripetere le stesse cose e questo è quello che mi preoccupa di far perdere del tempo prezioso a persone perchè non mi sò spiegare. Comunque da quello che ho scritto fino ad ora, e cioè nella maschera inserimento dati fattura ho una combobox che alla sua selezione chiama la query sopra descritta e mi mostra l'elenco dei nomi (variabile Nome) della tabella Nominativi appena descritti. Io nella combobox, oltre all'elenco dei nomi (variabile Nome) insieme vorrei comparisse anche un'altra variabile che sia Tipologia o Partita_Iva o qualcosaltro.
Casella combinata combobox attuale 'Nome' Arsenio
Casella combinata combo che vorrei 'Nome Tipologia' Arsenio Ladro
Se non è possibile risolvere il problema perchè non riesco a darti il materiale per farlo, be non è certo colpa Tua/Vostra e mi scuso ancora ma comunque grazie.

alx_81 Profilo | Guru

>Ciao Alex, pensavo non rispondevi più visto la mia ignoranza
>in materia, ho letto un post poco prima non ricordo fatto da
>chi e che diceva di vergognarsi trovandosi nella mia stessa situazione
>be io non mi vergogno ma sono fatto così e non me la prendo più
>di tanto se non si dovesse arrivare al risultato.
Ciao Peppino, nessuno deve dirti di vergognarti e tu devi sentirti libero di chiedere ciò che vuoi considerando che domandare è lecito e rispondere è cortesia. In realtà esiste comunque un insieme di norme che oguno dovrebbe provare a seguire. Giusto per darti un'idea, indicativamente:
- si dovrebbe cercare prima nel forum se un post simile esiste già, per evitare di chiedere sempre le stesse cose (ciò significa che certe risoluzioni, anche se non esattamente identiche a quello che serve al richiedente, possono essere utili a risolvere il problema senza chiedere)
- si dovrebbe cercare sempre prima nelle documentazioni ufficiali, perchè molte volte qualcuno non si prende nemmeno un momento per documentarsi, sfruttando in realtà il forum, che non serve a fare da documentazione
- se si decide di chiedere, si dovrebbe scrivere post con il maggior numero di elementi possibili, per aiutare chi ti deve rispondere e quindi anche te stesso.
- si devono indicare i tag di riferimento
- si deve sottolineare la situazione per bene, senza dare per scontato qualcosa
- non si deve pretendere mai una risposta, visto che dall'altra parte la gente non ha sempre tempo da investire con il forum
- si deve evitare di scrivere lo stesso post in più stanze
- non si deve chiedere di continuo per risolvere problemi che uniti uno ad uno formano un applicazione, usando quindi il forum per creare un'applicazione intera :D
- non ci si deve lamentare perchè ci sono "urgenze", il forum non è un supporto tecnico a pagamento e non è detto che risposte arrivino

Come puoi ben capire è veramente raro che qualcuno li segua tutti, e nessuno lo pretende, basta un po' di buon senso.
Se ti metti a cercare nel forum vedrai quante domande identiche arrivano e nessuno dei risponditori ad alto ritmo si è mai lamentato (credo).
Non trovo corretto che qualcuno manchi di rispetto alle persone in generale, quindi se c'è qualcuno che arriva a dirti di vergognarti, beh, ignoralo e anzi, segnalalo a noi dello staff.
Ora, la tua richiesta è effettivamente piuttosto di base e denota una tua mancata formazione in un certo senso. Ma non per questo meriti offese, ci mancherebbe.. Sai in quanti avrebbero dovuto offendermi all'inizio? E forse anche adesso

Magari cerca sempre di provarci il più possibile da solo, e se non riesci, chiedi al forum, c'è sempre e comunque modo e modo per dirti, provaci.
A volte, personalmente, indico solo una via per cercare di spronare chi chiede a provarci, poi se se ne approfitta.. beh.. in quel caso mollo.
E se si lamenta pure, non rispondo più ma di certo non offendo e mai lo farò.
So benissimo che il nostro forum ha utenti che non lo farebbero mai, ma siamo talmente in tanti che qualcuno potrebbe lasciarsi un po' troppo andare.. Ma c'è da essere sopra a queste cose, come dici tu.
Ora passiamo al problema

>Comunque da quello che ho scritto fino ad ora, e cioè
>nella maschera inserimento dati fattura ho una combobox che alla
>sua selezione chiama la query sopra descritta e mi mostra l'elenco
>dei nomi (variabile Nome) della tabella Nominativi appena descritti.
>Io nella combobox, oltre all'elenco dei nomi (variabile Nome)
>insieme vorrei comparisse anche un'altra variabile che sia Tipologia
>o Partita_Iva o qualcosaltro.
>Casella combinata combobox attuale 'Nome' Arsenio
>Casella combinata combo che vorrei 'Nome Tipologia' Arsenio Ladro
No, direi che abbiamo tutto, continuo a proporti la seguente query:
SELECT DISTINCT Nominativo = Nome + ' - ' + Partita_iva FROM Nominativi ORDER BY Nominativo

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Peppino Profilo | Junior Member

Ciao Alex, scusami se il mio post ha suscitato in Te una reazione un po nervosa ma non lo è, non lo è stato e non lo sarà mai nelle mie intenzioni fare questo e devi credermi questo mi dispiace veramente moltissimo, perchè per me le persone che si prodicano per gli altri come lo fate Voi sono persone Speciali.
Comunque riporto 2 righe di quello che avevo scritto perchè secondo me è stato letto o interpretato male.
Io ho scritto le seguenti parole

ho letto un post poco prima non ricordo fatto da chi e che diceva di vergognarsi trovandosi nella mia stessa situazione be io non mi vergogno ma sono fatto così

e perdonami Alex, ma il significato penso non sia quello che per cui mi stai rimproverando, almeno riguardo il primo punto. Invece per gli altri punti, se qualche volta mi sono lamentato per non aver avuto risposta, be l'ho fatto sicuramente nel senso buono e penso in modo garbato e lo dimostra il fatto di essere ancora iscritto al Forum. Comunque anche se arrabbiato hai consumato un poco del tuo tempo prezioso per me, non resta che ammirare ancora di più le persone come Te e voglio scrivere alcune cose di me cosi magari puoi o potete decidere a buon ragione di non rispondermi più e quel punto capirei, ma certamente dovete credermi se dico che non è il mio caso il fatto di sfuttare il Forum per costruire delle applicazioni. Allora ho 62 anni (piacerebbe dire non è vero), sono in pensione e la programmazione è solo un hobby, la mia applicazione è come la tela di Penelope in quanto non ho nessun interesse a terminarla. Anche se sono iscritto al Forum da un po di tempo purtroppo sono veramente ancora un principiante (adulto). Il fatto di lamentarmi non è perchè devo ultimare del lavoro ma è che qualche volta per me andrebbe bene anche un vai a.... leggerti questo o quello al posto di nessuna risposta, e poi è che quando mi metto davanti alla mia 'tela di Penelope' non so, vorrei fare tante cose e comunque la mia ricerca nel forum ed anche in rete la faccio, ma evidentemente non so fare nemmeno quella perchè quando post è perchè non ho trovato ho saputo trovare niente. Chiedo scusa perchè sicuramente quello che ho scritto non interessa nessuno, ma se può far piacere uno come me iscritto al Forum, be non resta altro da fare, che avere un'altro pizzico di pazienza in più se credete sia un 'rompi' oppure farmi capire di andare a cercare altrove. Comunque quando decidete di averne abbastanza dei miei post, avvisatemi così provo a trovarmi un'altro hobby. Ovviamente su quest'ultimo stò scherzando. Magari per Voi non lo è, ma per me quando post è come dialogare con degli amici, anche se non ho il piacere di conoscerVi personalmente. Chiedo scusa per tutto questo scritto. Per quanto riguarda la query, be cambiando solo quello che mi hai riproposto, non dà il risultato che voglio e siccome ho veramente cercato ma non ho trovato nulla, se puoi indirizzarmi dove potrei documentarmi ne sarei felice.
Grazie ancora di tutto.
Ciao. Peppino.

alx_81 Profilo | Guru

>Ciao Alex, scusami se il mio post ha suscitato in Te una reazione
>un po nervosa ma non lo è
Mi sa che hai letto male
La reazione è severa ma non con te. E al massimo ho preso le tue difese. Quindi credo proprio che tu abbia letto un po' male.

, non lo è stato e non lo sarà mai nelle
>mie intenzioni fare questo e devi credermi questo mi dispiace
>veramente moltissimo, perchè per me le persone che si prodicano
>per gli altri come lo fate Voi sono persone Speciali.
tranquillo, non ce l'ho con nessuno e tanto meno con te.

>e perdonami Alex, ma il significato penso non sia quello che
>per cui mi stai rimproverando, almeno riguardo il primo punto.
Non ti sto rimproverando. Peppino ti prego di leggere meglio quanto ho scritto.

>Invece per gli altri punti, se qualche volta mi sono lamentato
>per non aver avuto risposta, be l'ho fatto sicuramente nel senso
>buono e penso in modo garbato e lo dimostra il fatto di essere
>ancora iscritto al Forum. Comunque anche se arrabbiato hai consumato
>un poco del tuo tempo prezioso per me, non resta che ammirare
>ancora di più le persone come Te e voglio scrivere alcune cose
>di me cosi magari puoi o potete decidere a buon ragione di non
>rispondermi più e quel punto capirei, ma certamente dovete credermi
>se dico che non è il mio caso il fatto di sfuttare il Forum per
>costruire delle applicazioni.
Rileggi , non c'è alcuna allusione a te. Sono cose completamente generiche.

>Allora ho 62 anni (piacerebbe dire
>non è vero), sono in pensione e la programmazione è solo un hobby,
>la mia applicazione è come la tela di Penelope in quanto non
>ho nessun interesse a terminarla. Anche se sono iscritto al Forum
>da un po di tempo purtroppo sono veramente ancora un principiante
>(adulto). Il fatto di lamentarmi non è perchè devo ultimare del
>lavoro ma è che qualche volta per me andrebbe bene anche un vai
>a.... leggerti questo o quello al posto di nessuna risposta,
>e poi è che quando mi metto davanti alla mia 'tela di Penelope'
>non so, vorrei fare tante cose e comunque la mia ricerca nel
>forum ed anche in rete la faccio, ma evidentemente non so fare
>nemmeno quella perchè quando post è perchè non ho trovato ho
>saputo trovare niente. Chiedo scusa perchè sicuramente quello
>che ho scritto non interessa nessuno, ma se può far piacere uno
>come me iscritto al Forum, be non resta altro da fare, che avere
>un'altro pizzico di pazienza in più se credete sia un 'rompi'
>oppure farmi capire di andare a cercare altrove. Comunque quando
>decidete di averne abbastanza dei miei post, avvisatemi così
>provo a trovarmi un'altro hobby. Ovviamente su quest'ultimo stò
>scherzando. Magari per Voi non lo è, ma per me quando post è
>come dialogare con degli amici, anche se non ho il piacere di
>conoscerVi personalmente. Chiedo scusa per tutto questo scritto.
>Per quanto riguarda la query, be cambiando solo quello che mi
>hai riproposto, non dà il risultato che voglio e siccome ho veramente
>cercato ma non ho trovato nulla, se puoi indirizzarmi dove potrei
>documentarmi ne sarei felice.
>Grazie ancora di tutto.
Sul serio, credimi, ho esattamente la metà dei tuoi anni e se c'è una cosa che posso dire è che aiuto SEMPRE tutti.
Ho solo fatto presente che ci sarebbero GENERALMENTE regole da seguire. Ma rileggi con attenzione quanto ho scritto, che era per prendere le tue difese.
Mi spiace se hai interpretato male.
Ma ancora una volta ti invito a leggere con attenzione.

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Peppino Profilo | Junior Member

Ciao Alex, due righe e poi lo chiudiamo questo post, ma solo per dirti che ho capito che la tua reazione e stata per venire in mia difesa ma il punto è proprio lì in quanto nessuno mi ha detto di vergognarmi, sono stato io che ho fatto riferimento a una frase letta in un post di qualche giorno prima in cui si pronunciava quella frase e che adesso ho fatto la ricerca nel Forum perchè non ricordavo il post, ma purtroppo nella definizione di ricerca riporta la frase ( me ne vergogno ) ma se vado a rileggere il post quella frase non la trovo più , evidentemente è stato modificato penso non sò, volevo solo riportarti a rileggere quel post per dimostrati che l'inghippo era tutto lì. Ma visto che quella frase non si trova, chiudiamo tutto quì, non vorrei fare ancora più danni di quanto non ne abbia già fatti.
Ciao Alex. Ciao a tutti. Peppino.

alx_81 Profilo | Guru

>ancora più danni di quanto non ne abbia già fatti.
nessun danno
ma il problema poi? è risolto?
Mi raccomando, scrivi sul forum senza problemi di sorta!!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi

Peppino Profilo | Junior Member

Ciao Alex. Il problema non l'ho ancora risolto anche perchè da una settimana ho un problema in famiglia ed esco di casa la mattina e rientro la sera e riesco appena a leggere la posta. Per il resto, be certo che continuerò a scrivere e a rompere.... sempre nel senso buono ovviamente, almeno Io spero che lo sia.
Ciao Alex, grazie e ciao a Te e tutti del Forum.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5