Newsgroup: it.comp.lang.visual-basic
Titolo: Listwiew aiuto...

...allora: ho 2 tabelle, 1 contiene i gruppi da manipolare con i "titoli"
delle loro caratteristiche tipo:
Id    gruppo    caratteristica1    caratteristica2    caratteristica3    ...
1     motore    potenza              velocitą             marca
...
2     vite          filetto                 marca                lunghezza
...
3     pinza        marca                peso                 costo
...
4    ...
... contiene SOLO una mappa delle caratteristiche dei dati VERI ke sono
contenuti nella seconda tabella
che sarą +/- cosģ:
id    motore    0,75                    1400                Rossi
id    motore    1,1                       800                 Verdi
id    pinza        Bianchi                1,4                  £.1500
quindi: la prima tab serve solo per sapere che tipo di dato č (interpretare)
ad esempio, il secondo(caratteristica2) degli appartenenti al gruppo motore
č una velocitą... in questo modo, ogni volta che scelgo un gruppo, voglio
scrivere (intitolare) la ColumnHeaders (colonna) della listwiew con il tipo
di dato, in questo esempio: "velocitą" questo perchč
una volta riempita la listwiew "capirņ" al volo il titpo di dato che stņ
leggendo (!!!ricorda che NON posso preparare
le ColumnHeaders prima, perchč debbo aspettare di conoscere il gruppo....).
Quello che ho fatto con aiuti e con la mia poca esperienza č questo sotto,
volevo capire:
1) Come posso evitare di scrivere a mano...(anche perchč dobbo controllare
se la casella č NULL...)
        lwCaratt.ColumnHeaders.Add.Text = rCarattGruppi!caratt1
        lwCaratt.ColumnHeaders.Add.Text = rCarattGruppi!caratt2
        usando ad esempio un ciclo for/next (che a mč NON funziona)
2) Come popolare la list wiew con i dati della seconda tabella
----------------------------------------------------------------------------
-------
Private Sub CaricaCaratteristicheGruppi()
    Dim rCarattGruppi As ADODB.Recordset
    Dim SQL As String
    Dim LI As ListItem 'Serve?
    Dim Conta As Integer
    Dim nrcampiintabella As Integer
    Dim Titolo As String
    lstGruppi.Clear
    lwCaratt.ListItems.Clear
    SQL = "SELECT * FROM CaratteristicheGruppi where Gruppo = '" &
Text3.Text & "'"
    Set rCarattGruppi = New ADODB.Recordset
    rCarattGruppi.Open SQL, Db, adOpenKeyset, adLockReadOnly
    Debug.Print SQL
    If rCarattGruppi.RecordCount > 0 Then
        rCarattGruppi.MoveFirst
        lwCaratt.ColumnHeaders.Add.Text = "PROVA"
        lwCaratt.ColumnHeaders.Add.Text = rCarattGruppi!caratt1
        lwCaratt.ColumnHeaders.Add.Text = rCarattGruppi!caratt2
        '...Adesso o continui a mano o devi ciclare tante volte quante sono
        'le (colonne con Motore senza Null...)
        nrcampiintabella = rCarattGruppi.Fields.Count
            For Conta = 1 To (nrcampiintabella - 4)
                Titolo = "rCarattGruppi!caratt" & Conta
                lwCaratt.ColumnHeaders.Add.Text = Titolo ' NON FUNZIA
            Next Conta
    End If
End Sub
--------------------------------------------
molte onorevoli grazie a Voi
^____^
Luca


Io ti consiglierei di evitare l'uso di tabelle "non quadrate", cioe'
devi sapere sempre il numero dei campi contenuti.
Cerchero' di impostare dele tabelle per spiegare al meglio il mio
consiglio, ti servono 4 tabelle e 2 query:
Forse e' meglio che ti invio il file access2000 con le tabelle!
Ciao

se la casella è NULL...)
Noto che la tua email e' finta, vero?
allora non posso inviarti nulla, sorry!

allora non posso inviarti nulla, sorry!
Hai capito perche' molte volte non conviene sbattersi troppo ? :-(
-- 
ciao, hal.stiLamer

 ha scritto

sti.lamer.che.per.farle.dispetto.se.lo.tagliano,
j.cioe'

 >se la casella č NULL...)


 ha scritto nel messaggio
news:9s9hh7$105r9l$1...@ID-56381.news.dfncis.de...


 ha scritto nel messaggio
news:9s9lja$12cptr$1...@ID-51318.news.dfncis.de...



...non ho capito bene cosa intendi per "quadrate", io pensavo di lavorare
con tabelle con colonne fisse (ovvio) ma che hanno alcuni campi vuoti...
per fare questo dovrei ciclare per l'inserimento e per il controllo dei null
ma non sò + come fare....
Luca

senza pena,
No problem: e' tuo sacrosanto diritto esprimere liberamente e civilmente il
tuo pensiero :-)
-- 
ciao, hal.beccaria

 1     motore    potenza              velocità             marca


 scriverà da sè!
...se non ho capito male, mi consigli di usare una tab x ogni gruppo (circa
1.000 tabelle) ? ma così c'è chi mi ha detto
che appesantisco il tutto...  è vero?
Grazie 1.000
Luca


...tutti mi dicono "...non và bene..." ma nessuno mi spiega: PERCHE'...
Be', Jabba The Hut ti ha gia' dato un suggerimento.
Considera che il subject e' fuorviante (quindi devia eventuali risposte utili) perche' in realta'
il problema e' come progettare la base dati.
Magari un buon libro sulla teoria dei database potrebbe rivelarsi utile.
-- 
ciao, hal

 ...tutti mi dicono "...non và bene..." ma nessuno mi spiega: PERCHE'...
Spero di riuscire a chiarire un concetto che potrebbe servirti.
La teoria dei database relazionali prevede il principio di base della
SCOMPOSIZIONE SENZA PERDITE.
La base di dati da trattare va "scomposta", cioè sezionata nei suoi
componenti costituitivi, fino a raggiungere una situazione di completa
suddivisione degli attributi, ma senza che questo processo induca perdite di
informazioni. Ahi che paroloni! Molto più concretamente: se hai uno stesso
attributo (es. la potenza) che si applica a più oggetti (es. i motori e le
turbine), allora può essere utile scorporare questo attributo e dargli
indipendenza (quindi creare la tabella delle potenze che andrà a
relazionarsi sia con la tabella dei motori, sia con quella delle turbine).
Questo procedimento va ripetuto FINO a che gli elementi individuati NON
siano più scomponibili in attributi più semplici. MA, attenzione, questo
processo non deve mai essere causa di perdita di informazioni sui dati.
Se segui questo principio con fiducia, dopo l'analisi completa della tua
base dati ti troverai con delle famiglie di base che non sono altro che le
tabelle da creare.
Per capire meglio il tuo problema devi imparare qualcosa sulla
NORMALIZZAZIONE dei dati nei modelli relazionali. Mi spiace, ma è
impossibile riassumerla in due righe. Vedrai che con un po' di teoria tutto
sarà più chiaro.
Ciao,
Carlo.

 ha scritto nel messaggio
news:9sdkgf$rub$1...@pegasus.tiscalinet.it...


...ma NON pensate che sia finita quì...  ;-)
Su qui e su qua
l' accento non va ;-)
Scherzi a parte, ti aspettiamo in forma la prossima volta :-)
-- 
In bocca al lupo,
hal