Contar líneas en un cuadro de texto
Como amenazaba hace un momento, aquí estoy otra vez con otra cuestión:
Resulta que, en la bd que estoy haciendo, introduzco los datos a través de formularios por resultar más cómodo para el usuario. Entre estos datos, están los de las cartas que tenemos que enviar a nuestros clientes. En ellas hay campos que ya están definidos. Es decir son datos fijos (por ejemplo características de un determinado producto, que siempre son las mismas). Para ello creé una tabla de apoyo llamada tproductos con cuatro campos que son:
Idproducto - campo autonumérico sin duplicados
Nombreproducto - campo texto
Características - campo memo
Líneas - campo número 'añadido después
Y la rellené con los datos correspondientes, poniendo en el campo líneas el número de líneas que ocupa el campo características. Añadí al final un registro en el que pone "otros productos" para casos en los que se trata de productos que no trabajamos habitualmente y sobre los que nos piden alguna información, en el que, lógicamente, no hay descripción de características ni nº de líneas.
Creé un formulario Fintroduccióndatos, en el que, aparte de los datos de los clientes, hay un combobox basado en la tabla tproductos, y un cuadro de texto llamado otrosproductos (que, en principio no es visible) para introducir el nombre y las características de aquellos que no están definidos en la tabla. Si el producto está en la tabla se selecciona del desplegable. En caso contrario, se selecciona "otros productos" del desplegable. Este evento provoca que la propiedad visible de otrosproductos quede establecida en True y así puede introducirse una descripción del producto. Por último, coloqué un botón de comando para mandar imprimir la carta y listo... Pues no. Mis jefes quieren ver una previsualización antes de enviar la carta, y además quieren poder modificarla en caso de que no les convenza. Así que en lugar de imprimir, lo que hace el botón de comando es abrir otro formulario "previsualización" en el que aparecen todos los datos. Ahora bien, estos datos los cargo en cuadros de texto en previsualización, por lo que, o tengo que poner cuadros muy grandes (y entonces queda fatal a la vista) o, como me ocurre más de una vez, se quedan cortos y no se ve todo el texto. Por ello se me ocurrió condicionar el tamaño al nº de líneas del texto (por eso añadí el campo líneas a tproducto) y funciona bien cuando conozco ese número, pero en los casos en los que tengo que rellenarlo a mano por no estar en la tabla, desconozco el nº de líneas que ocupará y, claro, no puedo condicionar el tamaño. Puedo utilizar Len(otrosproductos) y me cuenta los caracteres (basta luego con dividir el total por el nº de caracteres que entra en cada línea -que son 91 en mi caso- y me da el nº de líneas) hasta allí bien. Pero si utilizo la tecla Enter para cambiar de línea, o si alguna línea tiene menos de 91 caracteres el resultado ya no es el deseado lógicamente, pues da menos líneas de las que en realidad son.
¿Habría alguna forma de conseguir que me cuente las líneas? Da igual que sea compleja, yo he intentado varias cosas y se aproxima, pero no sale bien del todo.
Hola, Ya que se pueden contar la cantidad de líneas que puede tener un cuadro de texto multilínea, ¿es posible recorrer línea por línea para ir aguardando cada línea en un cuadro de texto o un cuadro de lista? - Miguel Sandoval S.
Claro que es posible, como tienes cada línea en un array, puedes hacer lo que quieras con cada elemento, y eso incluye pasarlos a diferentes campos, o registros... - Sveinbjorn El Rojo