Determinare numero di righe in una text box

di il
6 risposte

Determinare numero di righe in una text box

Ciao a tutti

vorrei trovare il numero di righe in una text box,

dove <br> è usato per andare a capo, ma in alcuni casi il testo è lungo che va a capo in automatico,

quindi non sempre è veritiero.

qualche consiglio?

grazie

n.b.

ho trovato UBound(Split(Me!miaTextBox, "<br>"))

ma va bene solo per le stringhe che non vanno a capo in automatico 

6 Risposte

  • Re: Determinare numero di righe in una text box

    Se è una Textbox Multiline allora usa la proprietà LineCount

    Però dovresti essere più chiaro

  • Re: Determinare numero di righe in una text box

    08/12/2024 - oregon ha scritto:

    Se è una Textbox Multiline allora usa la proprietà LineCount

    Però dovresti essere più chiaro

    grazie oregon per la risposta.

    Cosa ti serve sapere?

  • Re: Determinare numero di righe in una text box

    Hai provato con la LineCount ?

    EDIT: non per Access, ma per Excel

  • Re: Determinare numero di righe in una text box

    Purtroppo l'oggetto textbox in Access non espone la proprietà LineCount... e la cosa non è ovviamente dipendente da "<br>" ne Cr... che pertanto sono inutili...

    L'accappo grafico dipende dalla dimensione Font e dalla larghezza del controllo, quindi ci sarebbe da scrivere parecchio codice per ricavare il tutto, oppure escamotage di approssimazione usando i Report che consentono da determinazione dello spazio occupato... sapendo la dimensione approssimativa del font, se fosse tipo Currier sarebbe semplice ed affidabile essendo a spaziatura costante, altrimenti compromesso con le dimensioni richieste dal testo, tuttavia anche quì non semplice... forse WizHook libreria nascosta di Access ha qualche opzione per ricavare le dimensioni in pixel del testo ma non ricordo bene.

    Altrimenti API, ma devi trovare l'handle della textbox cosa per nulla scontato...

    Da adattare a Ptrsafe e 32/64bit(ma da vedere se funziona con Access)

    Private Declare Function SendMessageAsLong Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    
    Private Const EM_GETLINECOUNT = 186

    Per capire come trovare l'hWnd di una textbox in Access, che purtroppo non è come VB6, leggi questo per bene, non è codice standard base di Access e non è di conseguenza alla portata di chi ha poca pratica di programmazione:

    https://stackoverflow.com/questions/51237550/vba-find-text-box-in-an-application-using-findwindowex

    Insomma un bel lavoro...

  • Re: Determinare numero di righe in una text box

    Ecco, si vede che non uso spesso Access...

    Vai di API

  • Re: Determinare numero di righe in una text box

    Grazie a tutti

Devi accedere o registrarti per scrivere nel forum
6 risposte