Newsgroup: it.comp.appl.access
Titolo: rows del foglio dati: altezza automatica, c'è??

(x access97)
In visualizzazione foglio dati di una maschera, è possibile
fare in modo che (da codice?):
l'altezza delle righe si adatti al contenuto della cella?
(fermo restando che la larghezza della cella rimanga fissa)
Io sono riuscito a trovare sull'help solo il codice
per rendere automatica la larghezza della colonna
e non l'altezza delle righe.
Per rendere automatica la larghezza si usa il valore columnwidth = -2
(esempio sull'help) ma nulla è citato in merito al ridimensionamento
automatico dell'altezza. E' solo possibile fissarne un certo valore
fisso.
Su rowheight ho messo il -2 come nel codice della larghezza, però nel
caso delle righe viene valutato come misura di altezza (quindi altezza
negativa
e quindi righe tutte schiacciate)
Per chi volesse usare il codice con columnwidth (per la larghezza): va
inserito
nell'evento Load della maschera.
Come risolvere tale problema?
Una soluzione, (più che altro mi sembra una stronz......) che mi è
venuta in mente non avendo trovato alternative valide, è però di  tipo
preistorico:
Per ogni riga, e per il campo specifico in cui voglio
adattare la dimensione (altezza) in base al contenuto,
dovrei andarmi a contare quanti caratteri al max entrano
per quel tipo di larghezza di cella, e poi
per OGNI (sigh!) record, andarmi a contare
quanti caratteri ho dentro la cella di cui voglio
effettuare la variazione di altezza, e quindi dovrei vedermi
di quante volte supera il num. max di caratteri visibili, per
poi moltiplicare tale valore per l'altezza della cella, in
modo da aumentarne la dimensione direttamente in pixel (o twips o mm)
Esempio: colonna di cui voglio aumentare l'altezza in base
al contenuto è 2 cm larga e 0,4 cm alta
In 2 cm,  ci entrano 12 caratteri (n.b. tutti visualizzati)
Io per es. in una cella ho scritto 26 caratteri
Allora 26/12= 2 e qualcosa
quindi imposto rowheight=2(+1) x 0,4 cm =
= 3 x 0,4 cm=1,2 cm e sono certo
che mi ci entrano tre righe
12 caratteri (0,4 cm)
12 caratteri (0,4 cm)
2 caratteri  (0,4 cm)
Preistorico, vero?
E poi dovrei tenere conto delle dimensioni dei caratteri,
del tipo di font etc..
Ringrazio tutti anticipatamente.
Ringrazio altresì tutti coloro che mi hanno risposto in questions
precedenti.
By By
robviv


Prova con Me.RowHeight = -1 non -2...
Ciao.

> Prova con Me.RowHeight = -1 non -2...
Anche con -1 non funziona (mi dà altezza standard)
Tra l'altro  ho provato con vero e falso ma ho ottenuto
lo stesso effetto se applicavo -1(vero) e 0(falso).
(curiosità) Il -2 in lettere a che equivale?
(sempre limitatamente per quelle proprietà
che ne accettano il significato).
Ciao

 ha scritto nel messaggio
news:399C45D1...@usa.net...

In lettere? Non ho capito il senso della domanda.
L'help parla di 0 per false e -1 per true usato (quest'ultimo) per adattare
la colonna o la riga alla dimensione standard. Quindi per indicare che il
valore che passi è un valore fuori dallo standard ne inserisci uno diverso;
questo spiegherebbe l'esempio contenuto nell'help ma non risolve il tuo
problema.
Però potresti leggere dalle opzioni di access che tipo di carattere è stato
impostato e regolarti di conseguenza, magari decidendo a priori una
percentuale di ampiezza della colonna * [tot caratteri] in Arial da 10punti,
e fare le debite proporzioni se qualcuno le ha modificate. Le opzioni le
leggi con Application.GetOption("Testo dell'opzione") e la imposti con
Application.SetOption "Testo dell'opzione", ValoreOpzione. Per inciso fai
attenzione a come scrivi il "Testo dell'opzione" perché alcune opzioni vanno
scritte con uno spazio finale:
es.
Application.GetOption("Tipo di campo predefinito ");
Application.GetOption("Dimensione carattere predefinita");
Mah!
L'elenco dei testi delle opzioni di access è nell'help alla voce: Impostare
le opzioni da Visual Basic...
Ciao.

  >In lettere? Non ho capito il senso della domanda.
 > L'help parla di 0 per false e -1 per true usato (quest'ultimo) per adattare
? la colonna o la riga alla dimensione standard.
Intendevo quello che hai appena specificato, riferendomi perň
al -2 visto che in columnwidth rende l'ampiezza automatica.
  >Perň potresti leggere dalle opzioni di access che tipo di carattere č stato
  >impostato e regolarti di conseguenza, magari decidendo a priori una
  >percentuale di ampiezza della colonna * [tot caratteri] in Arial da 10punti,
  >e fare le debite proporzioni
 > se qualcuno le ha modificate.
Per sapere la dimensione della modifica, dovrei andarmi a
contare quanti caratteri immessi per ogni record (sempre del
campo di cui vogliamo regolare l'altezza), giusto?
Qual'č il modo piů veloce per farlo?
Esiste una funzione che direttamente mi conta quanti caratteri
ho in una cella di un foglio dati (quindi in una cella di un campo),
oppure devo costruirmi tale funzione?
Provo a ripostare anche tale quesito.
  >Le opzioni le
  >leggi con Application.GetOption("Testo dell'opzione") e
 > la imposti con Application.SetOption "Testo dell'opzione", ValoreOpzione.
Quindi potrei fissare il tipo o i tipi di font (ad esempio solo 4 tipi) che
voglio
avere nella cella per poi obbligare ad usare solo quello o quelli
prefissati.
Praticamente obbligo ad usare dentro al campo solo 4 tipi di caratteri.
By By


Certo, anche questa è una soluzione che può toglierti qualche rognetta.
Considera anche che un monitor da 15", una risoluzione di 800x600 (io
utilizzo 1270x768 con un 15")  ed un font Arial da 10 è la soluzione
standard per avere una buona visibilità.
Non credo ci sia nessuno che voglia appesantire il pc con un font Times New
Roman da 12 la semplice visualizzazione di dati in una griglia. Casomai nel
report uno si sbizzarrisce...
Ciao.

Thank you
e Ciao