Ragazzi mi scuso per quanto scritto ... faccio fatica anche io a
leggermi :-(
cmq ho creato un esempio veloce, dove popolo una listbox con 2
elementi ora e fumetto e nello stesso tempo creo la matrice con ora +
fumetto + note.
Al click della cella leggo la matrice e non la listbox, il tutto viene
stampato in una StaticText.Text
qui frammento del codice in Open di Gestori d'Evento
Sub Open()
dim d as new date
dim l as Listbox = Listbox1
dim i,ii as integer
dim xname(5) as String
xname(0) = "Pluto"
xname(1) = "Topolino"
xname(2) = "Pippo"
xname(3) = "Minni"
xname(4) = "Clarabella"
xname(5) = "Gamba di Legno"
d.Hour = 8
d.Minute = 00
for i=0 to 5
l.AddRow str(d.ShortTime)
for ii=1 to 1
l.cell(i,ii) = xname(i)
name.Append(xname(i))
time.Append(d.ShortTime)
note.Append("Nessuna nota per " + xname(i))
next
d.Minute = d.Minute + 30
next
End Sub
ListBox
Function CellClick(row as Integer, column as Integer, x as Integer, y
as Integer) As Boolean
if name.Ubound >= 0 then
StaticText1.Text = "Matrice : { " + str(row) + " }" + EndOfLine +
"Name : " + name(row) + EndOfLine + "Time : " + time(row) + EndOfLine
+ "Note : " + note(row)
end if
End Function
Qui faccio finta che xname siano valori presi da db come note e date,
popolo la listbox ( in questo esempio ho solo 2 colonne, ma nel caso
che avessi la prima colonna con orari e altre 5 colonne identiche con
solo nome )
time | ufficio 1 | ufficio 2 | ufficio 3 | Ufficio 4 | Ufficio 5 |
Nella colonna ufficio1/2/3/4/5 solo nome e cognome e nella matrice
voglio inserire tutti i dati della scheda che ho raccolto nel db, vero
che potrei anche interrogare il dataset o recordset, ma se avessi
anche dei riferimenti grafici come icone o simboli o colori nel
recordset tutto diventerebbe complesso a mio avviso o forse sbaglio.
cmq mi fa piacere condividere questa discussione con chi vuole
approfondire il caso ... qui un esempio banale http://ivanomonti.altervista.org/matrice.rbp.zip/
Il giorno 17/giu/09, alle ore 18:33, Ivano Monti ha scritto:
Tutto questo e vero, ma in questo modo vuol dire interrogare sempre
un db, io invece vorrei popolare matrice e listbox con una query e
alla selezione della listbox leggere la matrice assegnata con tutti
i dati relativi.
esempio leggo la tabella dati nella listbox.cell(0,1) = nome e cognome
così per tutta la listbox, ma dato che per leggere nome e cognome o
anche tutti gli altri dati, a questo punto memorizzo i dati in una
matrice in questo modo alla selezione della cella rileggo i dati
associati alla matrice senza dover rifare la query con nome +
cognome + data + ora
spero di aver fatto chiaro il mio intento.
Ora come suggerito da Alessandro Brunelli ho fatto quanto segue
creato una classe
ho creato le proprietà(-1) e con un append popolo il mio array, non
so se questo metodo e migliore di tante query, ma vorrei
sperimentarlo.
in effetti ho creato anche il costruttore con tutti i parametri per
passare i dati, grazie Alessandro e alla sua gentile risposta, se
tutto va liscio passo il codice a chi interessa.
Il giorno 17/giu/09, alle ore 18:17, Roberto Tremonti ha scritto:
E perchè fare 3 tabelle quando ne bastano 2?
Se la relazione tra anagrafica ed appuntamenti non è molti a molti,
la terza tabella non serve.
Basta aggiungere l'id dell'anagrafica nella tabella degli
appuntamenti.
La query risulta più semplice.
-- Roberto Tremonti
omnidea srl
via delle industrie, 15
Edificio Pegaso
Parco Scientifico Tecnologico VEGA
30175 Venezia Marghera
Tel +39 041 509 3441
Fax +39 041 509 3641
www.omnidea.it
On 17/giu/2009, at 18.09, Massimo Lista <massimo.lista@gmail.com>
wrote:
Ma perchè vuoi ricorrere ad una matrice.
Io farei tre tabelle separate.
tbl_Anagrafica : IDAnagrafica - Nome - Cognome
tbl_Appuntamenti : IDAppuntamento - Data - Ora - ecc.
DettaglioAnagraficaAppuntamento: IDAnagrafica - IDAppuntamento
|