الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة مع الكونكونيت؟

مغلق
بدأه biskra في 20 مايو 2004 · 15 رد · 981 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

في التقرير عندي مربع نص غير منضب مصدر بياناته الكود التالي

=[price] & " " & [price1]

المشكلة أنه عند معاينة التقرير أو طباعته لا يظهر الحقل كاملا , تظهر الأرقام لكن ينقصها رمز العملة , مثلا 500,00 ر.س. تظهر في التقرير 500,00 فقط, هل من مساعدة للتخلص من هذه المشكلة.

#3

شكرا اخي مهند على الرد, حاولت جعل خاصية الحقل عملة و لن لم احصل على نتيجة, فالغرض من سؤالي هو اذا ان حقل price بدون معلومات يأخذ مكانه حقل price1 أي لا أريد ترك مسافة فراغ في التقرير, وجدت مثال في موقع أجنبي تؤدي الغرض المطلوب لكن حاولت تطبيقه دون نتيجة و هو يحتوي على دالة تسمح بتمدد مربع النص أفقيا و هي الفكرة التي أريد تطبيقها, و اضع هذا المثال للفائدة, اْذ أن حقل CusName يتمدد بقدر المعلومات المدخلة فيه. و كلما كان الحقل CusName فاٍن الحقل الذي يليه يأخذ مكانه

db3.rar

#4

لمن أراد الاٍستفادة هذا هو الحل:

بواسطة الأخ مهند مشكورا

=[name] & " " & IIf(isnull ([price1]);"";[price1] & " ر.س"

)

و بطريقة أخرى

=[name] & " " & FormatCurrency([price1])

دائما في هذا السياق لنفترض أنني أريد أن أضع حرف الواو للربط بين الحقلين لكن بشرط أن يظهر فقط في حالة وجود بيانات بحقل price1 أي تكون على الشكل التالي:

في حالة وجود بيانات في حقل price1 :

سيارة و 10.00 ر.س.

في حالة عدم وجود بيانات في حقل price1 :

سيارة بدون الواو

تم تعديل هذه المشاركة بواسطة مهند عبادي في 23 مايو 2004 في 03:19

#6

ربما هناك خطأ صغير في الكود لأن الواو ظهرت مع المبلغ

#8

فعلا طلبت ذلك و لكن قد يكن حقل price1 خاليا من البيانات لذلك سوف تظهر الواو و لن يقابلها المبلغ.

#10

أخي مهند أعو د مرة أخرى مع مشكلة الواو, استعنت بالكود الذي قمت بوضعه و قد تخلصت من حتمية وضع رمز العملة و أدى المطلوب, لكن المشكلة التي بقيت تواجهني هي الواو, فالذي أبحث عن حل له هو عدم ظهور الواو اٍلا في حالة وجود البيانات في الحقلين,

بالنسبة لحالة وجود البيانات في حقل name و عدم وجود المبلغ يعمل عاديا

بالنسبة لحالة وجود البيانات في الحقلين يعمل عادي جدا فالواو تظهر بين الحقلين.

المشكلة هي في حالة عدم وجود في حقل name و وجود بيانات في حقل price1 فاٍن الواو تظهر مثل و 10.00 ر.س كيف أتخلص من الواو في هذه الحالة؟

#11

أخي مهند تم التوصل اٍلى الحل عن طريق الكود التالي:

Me.text15 = IIf(IsNull([condamnation]), " " & IIf(IsNull([ammande]), "", FormatCurrency([ammande])), [condamnation] & " " & (IIf(IsNull([ammande]), "", "و " & FormatCurrency([ammande]))))

كما قام أحد المبرمجين بتصميم دالة بناءا على طرحي للموضوع في أحد المنتديات الأجنبية و هي تقوم بعمل ممتاز أضعها في المنتدى لمن أراد الاٍستفادة منها. مع مثال عن ذلك.

Option Explicit
Option Compare Text


Private Function GetBookAndPrice() As String
    Dim strReturnString As String
    
    '   This will, or should, look almost naive.
    '
    '   Processing the requirement left to right.
    '   Has not been timed. (Get it working first.)
    '
    '   Pass off the Currency conversion to a user written Function.
    '   (Better to fix it in one place than many places.)
    '
    '   Watch out for Nulls and ZLS's.
    '
    '   Please do not make timing assumptions in the real world.
    '
    '   Try to keep posted code available to the Access help files.
    '   (Avoid esoteric speed.)
    '
    If Nz([book], "") <> "" Then
        If Nz([price1], "") = "" Then
            strReturnString = [book]
        End If
    End If
    
    If Nz([book], "") = "" Then
        If Nz([price1], "") <> "" Then
            strReturnString = FormatPrice([price1])
        End If
    End If
    
    If Nz([book], "") <> "" Then
        If Nz([price1], "") <> "" Then
            strReturnString = [book] & " and " & FormatPrice([price1])
        End If
    End If
    
    '   Default from above is that strReturnString is a ZLS.
    GetBookAndPrice = strReturnString

End Function


Public Function FormatPrice(ByRef curValue As Variant) As String

    FormatPrice = Format(Nz(curValue, 0), "0.00") & "$"

End Function

book.zip

#12

و هذا المثال الذي أستعملت فيه الدالة و كذلك الكود بطريقة أخرى.

book with fonction.zip

#14

ميزة FormatCurrency تغني عن اٍستعمال رمز العملة فهو يأخذها من النظام و كذلك يظهر بشكل محاسبي بينما اٍذا اٍستعملنا الدالة و نضع معها رمز العملة فاٍن الأرقام كون متصلة هذا ما لاحظته بين الدالتين.

أرجو أن تفيد المناقشة هذه الأعضاء المبتدئين.

#15

كلامك صحيح أخي Biskra و لكنه ممكن يعمل مشاكل في حال كانت إعدادات العملة غير صحيحة ..

عموماً استعماله أفضل وسيصبح الكود على الشكل التالي :

=[name] & iif(isnull([Name]) and isnull([Price1]);" "; " و ") & IIf(isnull ([price1]);"";FormatCurrency([price1]) )

تم تعديل هذه المشاركة بواسطة مهند عبادي في 25 مايو 2004 في 02:22

#16

متفق معك تماما على كل لمن أراد أن يستفيد يمكن أن نقول أن جميع الحالات التي يمكن اٍفتراضها لها حل بواسطة هذه الأكواد التي أعتبرها مهمة.

هذا الموضوع مغلق.

مواضيع مشابهة