Comment définir une quantité d'impression dynamique à l'aide d'un champ de base de données et d'une valeur de formulaire de saisie ?
Question
Chaque enregistrement a une quantité, mais je souhaite définir un nombre d'exemplaires supplémentaire pour chaque enregistrement dans un formulaire de saisie. Comment définir une quantité d'impression dynamique en utilisant un champ de base de données et une valeur saisie dans un formulaire ?
Réponse
Cela peut se faire avec un peu de script, car il n'existe pas de méthode directe pour le faire.
1. Créez un objet hors-étiquette qui contiendra la valeur.
2. Liez votre champ de texte ou tout autre élément du formulaire qui recevra la quantité du kit à ce champ de texte.
3. Allez dans Fichier > Imprimer puis cliquez sur le bouton Propriétés à côté de la quantité
4. Modifiez les options pour "Obtenir la quantité à partir de la source de données"
5. Sélectionnez l'option de source de données et changez le type en Script VB
6. Créez l'expression.
Field("TestDB.TestTable.Qty") + Int(Format.Objects("Text 9").Value)
Ce que j'ai fait ici, c'est récupérer un champ de ma base de données (dans mon cas, il s'appelle Qty) puis l'ajouter à la valeur de l'objet hors-étiquette (Text 9). Vous pouvez utiliser l'Assistant de script pour vous aider à construire cette fonction avec les objets du modèle et les champs de la base de données. Votre fonction sera différente de la mienne, mais l'idée générale reste la même.
Il est important de garder Int( ) dans le script, sinon le script considère la valeur comme du texte et concatène simplement les textes. Donc 12 + 1 deviendrait 121. Ce serait un peu trop.
Plus d'informations
La fonction ici ajoute une quantité supplémentaire à la quantité d'impression. L'opérateur + peut être remplacé par n'importe quel autre opérateur pour modifier la quantité d'impression via le script.