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

نجوم المشاركات

  1. kaser906

    kaser906

    الخبراء


    • نقاط

      8

    • Posts

      1,411


  2. ابوخليل

    ابوخليل

    أوفيسنا


    • نقاط

      4

    • Posts

      12,206


  3. أبو إبراهيم الغامدي
  4. سعيد صواب

    سعيد صواب

    الخبراء


    • نقاط

      1

    • Posts

      711


Popular Content

Showing content with the highest reputation on 01 ماي, 2018 in all areas

  1. وعليكم السلام ورحمة الله وبركاتة تفضل أنقر نقراً مزدوجا بالحقل ::بالتوفيق:: أذا كنت ترى المشاركة مفيدة فلاتنسى التقييم dbexper1.rar
    3 points
  2. تفضل ::بالتوفيق:: إذا كنت ترى أن هذه المشاركة مفيدة فلا تنسى التقييم ProgEmp12.mdb
    2 points
  3. لا اعلم .. هل وصلت لمطلوبك ؟ اذا لم تحصل على مرادك فاكتب هنا ما تريد بالتفصيل
    2 points
  4. وعليكم السلام ورحمة الله وبركاتة ممكن تضع مرفق للتطبيق ::بالتوفيق::
    2 points
  5. السلام عليكم ورحمة الله وبركاته ... فيه سؤال للأخ الرهوي في الرابط التالي يسأل عن البحث داخل مربع التحرير والسرد نفسه بمجرد الكتابة http://www.officena.net/ib/topic/66565-كيف-ابحث-في-مربع-سرد-بجزء-من-الكلمة-؟/ بحثت وحاولت ولم افلح ... وبعد بحث طويل وجدت المطلوب .. في الحقيقة لا اعلم ان كان هناك طرق اخرى ... ولكن بالنسبة لي لم اجد الا هذه الطريقة القوا نظرة على المرفق ان شاء الله يفيدكم .. هذا رابط المرجع ... http://www.tek-tips.com/faqs.cfm?fid=6295 وهذا الكود الأساسي مع الشرح قبل التعديل Private Sub Combo0_Change() ' Function Description: ' Filter a combo box list as the user types, similarly to how application ' launchers like Colibri, AppRocket and LaunchBar opperate. ' e.g. if the list contains the names of U.S. Presidents, and ' the user types "gw," then the resulting SQL WHERE clause will ' look like "Name Like '*g*w*'" and the resulting list ' will include George Washington, George H. W. Bush and ' George W. Bush, among others. ' The order is preserved, so that typing "wg" creates an SQL WHERE ' clause like "Name Like '*w*g*'" and the resulting list would ' include George Washington but not the Bushes. ' This is accomplished by grabbing the text typed by the user in the ' combo box's edit field, creating an SQL SELECT statement from it, ' and finally applying that SQL statement to the combo box's ' .RowSource property. ' Form design settings: ' Set AutoExpand to No ' Column Count 3 ' Keyed on column 1 (record primary key) ' Showing column 2 (user-readable data) column 2 width > 0 ' First and Second column width=0 Dim strText, strFind ' Get the text that the user has typed into the combo box editable field. strText = Me.Combo0.Text ' If the user has typed something in, then filter the combobox ' list to limit the visible records to those that contain the ' typed letters. ' Otherwise (if the field is blank), the user has deleted whatever ' text they typed, so show the entire (unfiltered) list If Len(Trim(strText)) > 0 Then ' Show the list with only those items containing the typed ' letters. ' Create an SQL query string for the WHERE clause of the SQL ' SELECT statement. strFind = "Name Like '" For i = 1 To Len(Trim(strText)) If (Right(strFind, 1) = "*") Then ' When adding another character, remove the ' previous "*," otherwise you end up with ' "*g**w*" instead of "*g*w*." ' This has no apparent impact on the user, but ' ensures that the SQL looks as intended. strFind = Left(strFind, Len(strFind) - 1) End If strFind = strFind & "*" & Mid(strText, i, 1) & "*" Next strFind = strFind & "'" ' Create the full SQL SELECt string for the combo box's ' .RowSource property. strSQL = "SELECT tName.nameKey, tName.Name, SortOrder FROM tName Where " & _ strFind & " ORDER BY SortOrder;" '' NOTE: to remove the order requirement, such that typing "wg" '' and "gw" return the same results, the SQL WHERE clause needs '' to look like "Name Like '*w* AND *g*'." '' The code above should be changed as follows: ''For i = 1 To Len(Trim(strText)) '' strFind = strFind & "Name Like '*" & Mid(strText, i, 1) & "*' And " ''Next '' ''strSQL = "SELECT tName.nameKey, tName.Name, SortOrder from tblApps Where " & _ ''Left(strFind, Len(strFind) - 5) & " Order By SortOrder" ' Filter the combo list records using the new SQL statement. Me.Combo0.RowSource = strSQL Else ' Show the entire list. strSQL = "SELECT tName.nameKey, tName.Name, tName.SortOrder FROM tName ORDER BY tName.SortOrder; " Me.Combo0.RowSource = strSQL End If ' Make sure the combobox is open so the user ' can see the items available on list. Me.Combo0.Dropdown End Sub اتمنى من خبرائنا واعضاء المنتدى الكرام القاء نظرة على المرفق وعلى الكود كامل لو فيه اضافات او تعديلات . وبالتوفيق للجميع . Search_inside_Combo.rar
    1 point
  6. اثناء تصفحي بعض البرامج لاحظت وجود برنامج يضع شعار خاص بك بدلا من شعار الاكسس عند بداية فتح المشروع هل يوجد طريقة لهذه الفكرة وشكرا
    1 point
  7. وعليكم السلام ورحمة الله وبركاتة تفضل ::بالتوفيق:: إذا كنت ترى أن هذه المشاركة مفيدة فلا تنسى التقييم ProgEmp11.rar
    1 point
  8. جزاكم الله كل خير و تقييم واحد ليس بكافٍ
    1 point
  9. أهلا أستاذ رمهان.. أرى أن أفكارنا متطابقة تماماً! نعم.. فكرة الأستاذ رمهان سهلة التطبيق ولا تحتاج إلى شفرة معقدة. سيتضمن الجدول عمودين على الأقل عمود يعرف الطابعة والعمود الآخر يحمل اسم الطابعة؛ يستخدم معرف الطابعة كمؤشر لاسم الطابعة عند التعيين.. :: الفكرة الأساسية هي أننا بحاجة إلى متغير يمكن أعادة تغير قيمته برمجيا.. كان بالإمكان استخدام ثوابت عامة تحمل أسماء الطابعات ومن ثم تعيين هذا الثابت كطابعة إفتراضية عند طبعاعة التقرير، ونقوم يتغير قيمة هذا الثابت في كل مرة يتغير فيها اسم الطابعة!.. نعم يكون هذا مقبولا إذا كان المستخدم هو المبرمج. .: هذا الإجراء غير قابل للتطبيق. :: يوفر أكسس ما يسمى بالخصائص المعرفة من قبل المبرمج؛ هذه الخصائص يمكن تعريفها والتحكم بها وإعادة اسناد قيمها برمجيا.. وتظل ثابتة في قاعدة البيانات إلى أن يقوم المبرمج بتغير قيمها أو حذفها نهائياً. سوف أقوم باستخدام هذه الطريقة مقابل جدول البيانات لأني أتوقع من الأستاذ رمهان أن يقوم بتطبيق الفكرة عن طريق جدول البيانات... الشفرة التي تعتني بإضافة وتعديل وحذف الخصائص المعرفة من قبل المستخدم مسردة في التالي.. Sub ADD_PROPERTY(prpName As Variant, prpValue As Variant) On Error GoTo ERR_HANDLER Dim DB As DAO.Database, PRP As DAO.Property Set DB = CurrentDb Set PRP = DB.CreateProperty(prpName, dbText, prpValue) DB.Properties.Append PRP EXIT_SUB: Set DB = Nothing Set PRP = Nothing Exit Sub ERR_HANDLER: If Err.Number = 3367 Then 'MsgBox Err.Number & vbCrLf & Err.Description Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub Sub SET_PROPERTY_VALUE(PRP_NAME, PRP_VALUE) Dim DB As DAO.Database Set DB = CurrentDb DB.Properties(PRP_NAME).Value = PRP_VALUE DB.Properties.Refresh Set DB = Nothing End Sub Sub REMOVE_PROPERTY(PRP_NAME) Dim DB As DAO.Database Set DB = CurrentDb PRP_NAME = DB.Properties(PRP_NAME).Name DB.Properties.Delete PRP_NAME Set DB = Nothing End Sub + لا أحبذ أن تكون صلاحية الإضافة والحذف متوفرة للمستخدم.. أما بالنسبة للمبرمج فيمكنه إنشاء نموذج يقوم بواسطه من إدارة هذه الخصائص، أو عن طريقة نافذة تحرير الشفرة السريعة. + الخصائص التي قمت بإنشاءها بسيطة وغير احترافية، وقمت بكتابتها بالعربي.. كل ذلك من أجل توصيل الفكرة فقط... أسماء الخصائص التي أنشأتها هي: طابعة ليزرية، طابعة نفثية، طابعة نقطية، طابعة ترميزية. + سوف تكون قيمة كل خصيصة من هذه الخصائص اسما للطابعة التي تلائم هذه الخصيصة.. + قمت بإنشاء وظيفتين دوارتين: ألأولى تبحث عن الخصائص التي أنشأتها والقيمة التي تحمها؛ ثم تمررها إلى الوظيفة الثانية التي تبحث في الطابعات التي يوفرها النظام؛ فإذا كانت قيمة الخصيصة خالية أو تحمل اسما لطابعة غير متوفرة في النظام فإن الوظيفة الثانية تعيد قيمة خاطئة؛ وبناء على هذه القيمة يطلق البرنامج نافذة تحث المستخدم بتعيين اسما للطابعة الجديدة لكل خصيصة تحمل قيمة خاطئة.. (الوظيفة الثانية تعمل من داخل الوظيفة الألى). + إذا قام المستخدم بتعيين اسما جديد سوف تختفي الخصيصة من القائمة.. للمعلومية لم أقم بإنشاء نموذج لإدارة قيم هذه الخصائص من قبل المستخدم بطريقة منظمة.. أعتذر عن ذلك. الشفرة المتعلقة بالوظيفتين في المسرد التالي Function ASSIGN_CUSTOM_PRINTER() Dim PR As Property Dim PT As Variant, I As Integer For Each PR In CurrentDb.Properties If PR.Name Like "طابعة*" Then If IS_PRINTER_AVAILABLE(PR.Value) = False Then PT = PT & I & "," & PR.Name & "," & PR.Value & "," End If End If I = I + 1 Next 'Debug.Print PT ASSIGN_CUSTOM_PRINTER = PT End Function Function IS_PRINTER_AVAILABLE(PRNT_NAME) As Boolean IS_PRINTER_AVAILABLE = False Dim PRNT As Printer For Each PRNT In Printers If PRNT.DeviceName = PRNT_NAME Then IS_PRINTER_AVAILABLE = True End If Next End Function تعيد الوظيفة الأولى: رقم الخصيصة، اسم الخصيصة والقيمة التي تحملها لكل الخصائص ذات القيمة الخاطئة؛ وبناءً عليه أقوم بفحص طول الببانات فإذا كان أكبر من صفر فهذا يعني أن هناك خصائص تحمل بيانات غير مطابقة.. البيانات العائدة من الوظيفة الأولى أستخدمتها كمصدر بيانات لعنصر قائمة التحرير والسرد في النموذج الذي يظهر كمربع حوار يحث المستخدم بتعيين القيم الجديد.. الشفرة موضحة في المسرد التالي.. Sub SHOW_PRINTER_LIST() If Len(ASSIGN_CUSTOM_PRINTER) Then Call CUSTOM_PRINTER_DIALOG End If End Sub Sub CUSTOM_PRINTER_DIALOG() F.lbPrintersType.RowSource = "" F.lbPrintersType.RowSource = ASSIGN_CUSTOM_PRINTER F.Visible = True End Sub الشفرة التالية هي لفحص القيم عند إقلاع البرنامج وفتح نموذج خدمة الطباعة Function INITIALIZE() DoCmd.OpenForm "FRM_PRINT_CERVICES" Call SHOW_PRINTER_LIST End Function الشفرة التالية لتعيين الطابعة الافتراضية قبل الطباعة Sub DEFAULT_PERINTER(PRINTER_NAME) Set CURRENT_PRINTER = Application.Printer Application.Printer = Application.Printers(CurrentDb.Properties(PRINTER_NAME).Value) End Sub :: هذا كل ما يتعلق بالفكرة وتطبيقها.. مع المثال.. SET DEFAULT PRINTER.accdb
    1 point
  10. تفضل ... قمت بتغيير الاسماء العربية للملفات B&R.rar
    1 point
  11. من اجل ضمان النتيجة محكمة فلا بد ان نعملها على خطوتين واحدة للاضافة والاخرى للطرح والسبب الذي يجعل الاكواد صعبة هو انك تستخدم تسميات الحقول بحروف عربية لذا ينقلب ترتيب الجمل ويصعب فهمها تفضل تم تعديل المرفق الاستفادة.mdb
    1 point
  12. ملاحظاتك في محلها ومشكلة شاشة التحويل ان كود الرصيد كان يقرأ من المحول اليه وليس من المحول منه تم الضبط وايضا تم عمل كشف للارصدة نكون هنا استوفينا أساسات المشروع اتمنى لك التوفيق ،،، db14.mdb
    1 point
×
×
  • اضف...

Important Information