¿Cómo establecer una cantidad de impresión dinámica utilizando un campo de base de datos y un valor de formulario de entrada de datos?
Pregunta
Cada registro tiene una cantidad, pero quiero establecer copias adicionales para cada registro en un formulario de ingreso de datos. ¿Cómo puedo definir una cantidad de impresión dinámica usando un campo de la base de datos y un valor del formulario de ingreso de datos?
Respuesta
Esto se puede hacer con algo de scripting, ya que no hay una forma directa de hacerlo.
1. Crea un objeto fuera de la etiqueta que contendrá el valor.
2. Vincula tu cuadro de texto u otro elemento del formulario que recibirá la cantidad del kit a este cuadro de texto.
3. Ve a Archivo > Imprimir y haz clic en el botón de propiedades junto a la cantidad
4. Cambia las opciones a "Obtener cantidad desde fuente de datos"
5. Selecciona la opción de fuente de datos y cambia el tipo a VB Script
6. Construye la expresión.
Field("TestDB.TestTable.Qty") + Int(Format.Objects("Text 9").Value)
Lo que hice aquí fue tomar un campo de mi base de datos (en mi caso, se llama Qty) y luego sumarlo al valor del objeto fuera de la etiqueta (Text 9). Puedes usar el Asistente de Scripts para ayudarte a construir esta función con los Objetos de la Plantilla y los campos de la Base de Datos. Tu función se verá diferente a la mía, pero la idea general será la misma.
Debes mantener el Int( ) en el script, de lo contrario el script lo considera texto y solo concatena el texto. Así que 12 + 1 se convertiría en 121. Eso es demasiado.
Más información
La función aquí suma un extra a la cantidad de impresión. El operador + se puede cambiar por prácticamente cualquier operador para modificar la cantidad de impresión con el script.