اذهب الي المحتوي
أوفيسنا

فهد الدوسري

04 عضو فضي
  • Posts

    114
  • تاريخ الانضمام

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه فهد الدوسري

  1. أعزائي .. السلام عليكم ورحمة الله

    لدي سؤالين وأتمنى أن أجد لديكم أجوبة لها مع الشكر مقدما .

    السؤال الأول : كيف أستطيع تغيير السجل الحالي في كل مرة أفتح فيها النموذج ؟عمل الاستاذ أبو حمود ( الله يذكره بالخير ) هذا الكود ولكن فيه عيب أنه يكرر سجل معين دائماً أجد النموذج يفتح عليه فهل يمكن أن أجد تعديل عليه ليعمل أفضل من ذلك

    والكود ( يوضع في حدث عند التحميل ) للنموذج .

    Dim رقم_السجل_المطلوب As Long
    Dim عدد_سجلات_النموذج
    عدد_سجلات_النموذج = DCount(Me.RecordsetClone.Fields(0).Name, Me.RecordSource)
     ' عمل حلقة تكرار لتحقيق شرط
    Do
    رقم_السجل_المطلوب = Int(Rnd * 15)
    ' أن يكون الرقم المتولد اكبر من الصفر وأن يكون أصغر أو يساوي عدد السجلات
    Loop While رقم_السجل_المطلوب <= 0 Or رقم_السجل_المطلوب > عدد_سجلات_النموذج
    DoCmd.GoToRecord acDataForm, Me.Name, acGoTo, رقم_السجل_المطلوب
    السؤال الثاني : كيف أستطيع تجاهل الهمزة والتاء المربوطة عند البحث مثلاً .عمل الاستاذ أبو هاجر ( الله يذكره بالخير ) هذه الوحدة النمطية ولكني لم استطع التعامل معه في برنامجي المرفق لكم فهل أجد لديكم المساعدة ؟
    Function changesearch(Mytxt) As String
    
    
     Dim tempstr As String
    Dim tempend As String
    tempstr = Nz(Mytxt, "")
    
           
           If tempstr Like "*[أاآإ]*" Then
    
               For b = 1 To Len(tempstr)
                   If Mid(tempstr, b, 1) = "ا" Or Mid(tempstr, b, 1) = "إ" Or Mid(tempstr, b, 1) = "أ" Or Mid(tempstr, b, 1) = "آ" Then
                       tempend = tempend & "[أآاإ]"
                   Else
                       tempend = tempend & Mid(tempstr, b, 1)
                   End If
               Next
           tempstr = tempend
           End If
    
           If tempstr Like "*[ةه]*" Then
               For b = 1 To Len(tempstr)
                   If Mid(tempstr, b, 1) = "ة" Or Mid(tempstr, b, 1) = "ه" Then
                       tempend = tempend & "[ةه]"
                   Else
                       tempend = tempend & Mid(tempstr, b, 1)
                   End If
               Next
           tempstr = tempend
           End If
    
          
           If tempstr Like "*[ىي]*" Then
               For b = 1 To Len(tempstr)
                   If Mid(tempstr, b, 1) = "ى" Or Mid(tempstr, b, 1) = "ي" Then
                       tempend = tempend & "[ىي]"
                   Else
                       tempend = tempend & Mid(tempstr, b, 1)
                   End If
               Next
           tempstr = tempend
           End If
    
    changesearch = tempstr
    
    End Function

    أرجو أن أجد الحل لديكم وللجميع تحياتي .

  2. لقد واجهتني المشكلة وأنا أستخدم أوفيس xp .

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

    وأرفق لكم البرنامج بعد التعديلات ..

    bb1.rar

  3. هذا حل مؤقت ..

    أعمل استعلامات النماذج من النموذج نفسه وكذلك التقارير يعني من الممكن الاستغناء عن الاستعلامات .

    الطريقة كما يلي :-

    1-أنسخ جملة SQL التي في الاستعلام المراد والذي قمت بعمله من قبل في البرنامج .

    2-قم بفتح تصميم التقرير أو النموذج الذي مصدره هذا الاستعلام .

    3-إذهب إلى خصائص هذا التقرير أو النموذج .... ثم بيانات .

    4-أمسح المكتوب فيه سابقاً ثم أضغط على زر الثلاث نقاط 000

    5- سوف يفتح لديك صفحة الاستعلام قم بالذهاب إلى SQL وقم بلصق ما تم نسخه مسبقاً في الفقرة (1) .

    6-أغلق الاستعلام دون حفظه ووافق على الرسالة التي ستخرج عليك .

    7-بذلك يكون مصدر هذا التقرير أو النموذج هو هذا الاستعلام ولكنه بداخل النموذج ولا أحد يستطيع رؤيته أو استيراده .

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

    وتقبلوا تحيات أخوكم : فهد الدوسري

  4. ولم يرد إلا الأخ فهد حتى هو ضاع لا أدري ما السبب

    أخي مصلح أنا ضعت في المحاولات المستمرة لكي أجد الحل لطلبك ولكن للأسف فكما قال أخي أسامه أن سؤالك للمحترفين وأنا لست منهم كما تعلم .

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

    واعذرني على التأخر في الرد للسبب المشار إليه أعلاه .. واعذرني أيضاً على إضاعة وقتك في البرنامج المرفق ..

    علماً بأن الكود الذي في البرنامج أعتقد أنه من صنع الأخ مبتدئ جداً .

    تحياتي

    Fahad.rar

    • Like 1
  5. أخي سلطان الأمر الذي وضعته لك هو الحل الشافي وهو مجرب ويعمل بكل جداره.

    المشكلة لديك هي أين تضع الكود وكما قال الأخ biskra ضع الأمر الذي عن طريقه يتم فتح النموذج هذا لنخبرك أين تضعه بالضبط لأني لا أعرف ماذا يوجد في الكود لديك من أوامر غير أمر فتح النموذج .

    تحياتي

  6. مرحباً أستاذي مصلح

    عند طلب البحث في الويندوز ملينيوم (بحث عام) فإنه يعطيني هذه العبارة التي تجمع محرك © مع محرك (D) هكذا

    (C:;D:)

    ربما تفيدك في الكود أعلاه بعد التعديل عليه طبعاً .. علماً بأني لم أجربها أبداً ولكن مجرد فكرة فقط .

    "C:;D:\"

    ولك تحياتي

  7. أستاذي أسامه

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

    ومع ذلك فالحل الأفضل هو كما قلت إدخال الاسم في عدة حقول بدلاً من حقل واحد .

    لك شكري وتقديري وكذلك للأستاذ أبو هادي على مداخلته .

    تحياتي للجميع ..

×
×
  • اضف...

Important Information