Newsgroup: it.comp.appl.access
Titolo: altezza riga nelle listbox

ciao a tutti, vi pongo un questito a cui non ho trovato soluzione.
in una maschera ho una listbox A che contiene i dati inseriti nella tabella
B.
i dati nella tabella B li accodo in base alla selezione nella combobox
della maschera C 
siccome ogni record della tabella B contiene un campo memo con valori che
occupano a volte più righe, avrei bisogno di avere le righe della listbox
che adattano l'altezza in base al numero di righe del campo memo di ogni
record.
è possibile?
oppure ci sono soluzioni alternative?
grazie
dario

dario ha scritto:

Con le listbox di Access non mi risulta sia possibile. Dovresti cercare
controlli esterni.
Altrimenti puoi mettere di fianco alla listbox una grossa textbox che
mostri l'intero contenuto del campo memo del record selezionato.
Ciao.
-Marco-
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 -Marco-
Ok 
come faccio però ad avere il campo meme successivo in una nuova riga, tipo
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
bbbbbb
cccccccccccccccccccccccccccccccccccccccc
ciao dario

dario ha scritto:





Non si può. Per come la intendevo io la textbox è una sola.
Nella listbox si vedrà solo la prima parte del campo memo (come presumo
sia adesso), e quando col mouse si seleziona un record comparirà nella
textbox l'intero contenuto del campo, impostato da VBA o con una formula.
Quindi dovresti solo aggiungere una textbox e una riga VBA che, al variare
del record selezionato nella listbox, ci scrive dentro l'intero contenuto
del campo memo.
Nell'unica textbox vedrai l'intero contenuto del campo memo ma solo del
record selezionato. Di UN SOLO record alla volta quindi, non di tutti
quelli presenti nella listbox come vorresti tu.
Questa è solo una proposta per un compromesso facilmente realizzabile, ma
che non ti dà esattamente quello che volevi.
Sennò al posto della listbox potresti usare una sottomaschera, nel qual
caso puoi dimensionare le caselle come meglio credi.


 -Marco-
ciao, ho già provato con la sottomaschera ma non è soddisfacente in quanto
il testo della memo può variare da < di 1 riga a >7-8 righe
sto provando ad accodare con VBA il testo del secondo record a quello del
primo, quello del terzo al secondo e così via, inserendo degli spazi per
riempire lo spazio vuoto della riga
conto i caratteri
li divido per es.80 e ottengo quante righe riempio della textbox
al resto aggiungo la differenza tra 80 - resto per riempire la riga in modo
che quando aggiungo il testo successivo viene visualizzato all'inizio della
nuova riga
il problema adesso è che una riga di "a" ne contiene es. 80, una di "l"
es.90 mentre una di "spazio" ne contiene es. 140
percui variando il carattere cambia quanti ce ne stanno nella riga e mi
sballa tutto
avevo provato inserendo vbCR per il ritorno a capo ma compare il quadratino
tipo carattere non visualizzabile tra i due testi e non va a capo
ciao 
dario

 dario
Piuttosto complessa come soluzione. Per il problema delle diverse
larghezze dei caratteri puoi usare un font a larghezza fissa (non
proporzionale), in cui tutti i caratteri occupano lo stesso spazio.
Come fai a sapere se un font è proporzionale o no? Apri word, su una riga
scrivi venti 'i' e su quella sotto scrivi venti 'w'. Applica ad entrambe
il font desiderato e verifica se le due righe sono della stessa lunghezza.
Per la questione del quadratino devi usare vbCrLf al posto del solo vbCr


 - Mostra testo tra virgolette -
Non si usano le listBox per queste esigenze ma delle SubForm
formattando la grafica in modo da
renderle simili a ListBox.
Perdi ovviamente la possibilità di selezione Multipla, ma quella
estesa rimane....
@Alex