لوتس نوتس إزالة القيم غير صالح كلمة التابع

نعم، وأنا أعلم أن عنوان هذا الطرف لا يعني الكثير. ولكن لم أتمكن من الخروج مع لقب ذات مغزى في بضع كلمات. لذلك اسمحوا لي أن أصف الوضع. دعونا نقول لديك حقول متعددة الكلمة القيمة التي تحتوي على أسماء دولة. وحقل آخر كلمة رئيسية متعددة القيمة التي تحتوي على أسماء المدن. الخيارات لأسماء مدينة يأتي من أسماء دولة مختارة. إذا اخترت بعض المدن، وبعد ذلك العودة وإزالة دولة، وكيف يمكن القضاء على تلك المدن المختارة التي لم تعد الخيارات؟

النموذج يبدأ مع قابل للتحرير، حقل قائمة الحوار، التي تسمح للقيم متعددة، ودعا الدولة. الخيارات لهذا الحقل يأتي من @ DbColumn. مجال لديه خيار "حقول تحديث على تغيير الكلمة" تمكين.

الحقل الثاني هو أيضا قابل للتحرير، حقل قائمة الحوار التي تسمح للقيم متعددة. ويسمى الحقل الثاني مدينة. وتعتمد الخيارات على الدولة المختارة. على سبيل المثال، وهنا "الصيغة استخدام لاختيارات" الخيار في تطبيق المثال:

بحث: = @ DbLookup (""؛ ""؛ "vwLookupCityState"؛ دولة؛ 2)؛
@ إذا (@ ISERROR (بحث)؛ ""؛ بحث)

ميدان المدينة لديها خيارات "حقول تحديث على تغيير الكلمة الرئيسية" و "خيارات تحديث على وثيقة تحديث" تمكين. لذلك، عندما يقوم المستخدم بتحديد واحد أو أكثر من الدول (مثل كاليفورنيا، واشنطن)، يتم تحديث الخيارات للحقل المدينة (على سبيل المثال في سان دييغو ولوس انجليس وسان فرانسيسكو وسياتل، وأولمبيا).

في ظل ظروف طبيعية، إذا كان المستخدم بتحديد كل من المدن، ومن ثم يعود ويغير الخيارات دولة (ولاية كاليفورنيا فقط لا تزال محددة، على سبيل المثال)، وبعد ذلك يتم تحديث الخيارات للحقل المدينة، ولكن القيم القديمة المحدد ولن . وبالتالي فإن مدن سياتل وأولمبيا لا تزال في مجال القيم على الرغم من أنها لم تعد الخيارات الصالحة. وهذا الوضع بتصحيح هذا الرمز.

هو في الواقع من السهل جدا لمعالجة هذا الموقف. لأن كلا من الدولة والميادين مدينة لديها خيار "حقول تحديث على تغيير الكلمة" تمكين، وسوف يتم تحديث وثيقة عندما يتغير مجال سواء. يمكن صيغة الترجمة الإدخال في حقل مدينة إزالة القيم المحددة التي لم تعد الخيارات.

أول شيء يجب القيام به في إدخال صيغة الترجمة هو تكرار صيغة "استخدام لاختيارات" رمز لذلك شكل يحصل على قائمة من الخيارات الصحيحة.

بحث: = @ DbLookup (""؛ ""؛ "vwLookupCityState"؛ دولة؛ 2)؛
ValidChoices: @ = إذا (@ ISERROR (بحث)؛ ""؛ بحث)؛

ثم، لاتخاذ قيم الحقول الحالية، وتبقي منها إلا ما يصبح ساري المفعول في عملية من خطوتين. فإن الخطوة الأولى هي للحصول على قائمة من تلك التي في كل ما لا ينبغي أن يكون في الميدان، والخطوة الثانية هي لإزالة جميع تلك التي لا ينبغي أن يكون هناك.

InvalidEntries: @ = تريم (يستعاض @ (@ ThisValue؛ ValidChoices؛ ""))؛
@ تريم (@ استبدال (@ ThisValue؛ InvalidEntries؛ ""))

هذا هو عليه لإدخال صيغة الترجمة. لذلك، عندما يقوم المستخدم يعود ويزيل حالة من القائمة، فإن وثيقة تجديد. التحديث ينفذ صيغة الترجمة الإدخال. الصيغة لا في بحث للحصول على قائمة من الخيارات ما ستكون. منذ أن تم استخدام صيغة البحث الدقيق في نفس الخيارات الكلمة، ولأنني لم تستخدم "NoCache" الخيار، والأداء لن يكون هناك مشكلة. (وسوف تستخدم النتائج المخبأة بواسطة أيهما يدير الثانية). من القيم الحالية في حقل المدينة، يتم استبدال جميع تلك التي لا تزال صالحة مع السلاسل الفارغة. هذا يترك قائمة لجميع الخيارات غير صالحة. ثم تتم إزالة هذه الخيارات غير صالحة من القيم الحالية والتي هي نتيجة جديدة للحقل.

شوهدت 8476 مرة من قبل المشاهدين 2217

  1. لا يوجد أي تعليق حتى الآن.
  1. لا تركبكس بعد.