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

jjafferr

أوفيسنا
  • Posts

    9,871
  • تاريخ الانضمام

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

  • Days Won

    403

كل منشورات العضو jjafferr

  1. نعم يصير حتى بـ accde او mde ، ولكن بالطريقة التالية: 1. اعمل جدول ، واجعل فيه مجموعة حقول (تابع علشان تعرف كم حقل) ، 2. تستطيع ان تغير اي شئ في النموذج ، وذلك بأخذ القيمة من الجدول ، واعطائه للحقل في النموذج عند حدث "الحالي" ، 3. في حال اعطائك قيمة في الجدول ، فيمكنك قرأتها هكذا مثلا: a=dlookup(....,....,...) me.text1.BackColor = a 4. انظر الرابط التالي: http://www.officena.net/ib/index.php?showtopic=59818 انا وضعته خصيصا لك حتى تفهم قصدي بانك تستطيع ان تأخذ القيمة من الجدول وتعمل بها ما تشاء جعفر
  2. السلام عليكم ورحمة الله وبركاته 🙂 في الواقع ، عرضت هذا الموضوع في منتدى الفريق العربي للبرمجة سابقا ، ولكني اعرضه هنا ، حتى تعم الفائدة ويستفيد منه الجميع. في بعض الاحيان نعمل برنامج بلغة معينة (العربية مثلاً) ، ثم لاحقا نريد هذا البرنامج لمستعملين بلغة اخرى (الانجليزية او الفرنسية مثلاً) ، مما يضطرنا ان نعمل نسخة اخرى من البرنامج 😞 اضع بين يديكم طريقة عمل برنامج بعدة لغات ، والطريقة هي الاحتفاظ بالمعلومات المطلوبة (ولا اقصد البيانات) في جدول. 1. هذه هي البيانات بلغات 3 ، العربية والانجليزية والفرنسية (والكلمات تم ترجمتها من الانجليزية الى الفرنسية عن طريق Google Translation): الخانات الموجودة بسيطة ومعرفة معناها لا يأخذ وقت ، اما تنسيق الحقل فهو:1. اسم الخط ، 2. حجم الخط ، 3. ثخانة الخط ، 4. منحني ، 5. تحته خط ، 6. لون الخط: 2. النموذج الرئيسي ، به واجهة البرنامج (والتي سنراها على الجهة اليمنى من الشرائح التالية) ، واول نموذج هو لعمل التغييرات على تنسيق الحقل ، وذلك بالنقر المزدوج في الحقل ، فتنفتح لنا نافذة اختيار الخط ، وعندما نطمئن لإختيارنا للخط ، يجب ان نحفظ هذا التنسيق ، وذللك للّغة التي نريدها: 3. اما النتائج المرجوة من البرنامج ، فتظهر لنا في هذا النموذج: باللغة العربية: باللغة الانجليزية: وباللغة الفرنسية: والكود الذي يقوم بجلب الكلمات والتنسيق هو التالي ، ولا يوجد حاجة الى تغيير الكود ، وانما العمل يكون بإضافة الخانات في الجدول: Private Sub Form_Load() On Error GoTo err_Form_Load mySQL = "Select * From tbl_Controls_Properties" mySQL = mySQL & " WHERE Form_Name='" & Me.Name & "'" mySQL = mySQL & " AND Language='" & Forms!frm_Main!Lang & "'" Dim rst As DAO.Recordset Dim x() As String Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst iTwips = 576 '576 twips/cm , 1440 twips/inch For i = 1 To rst.RecordCount Me(rst!ctl_Name).Caption = rst!ctl_Caption Me(rst!ctl_Name).Left = rst!ctl_Left * iTwips If Len(rst!ctl_Style & "") <> 0 Then x = Split(rst!ctl_Style, "|") With Me(rst!ctl_Name) .FontName = x(0) .FontSize = x(1) .FontWeight = x(2) .FontItalic = x(3) .FontUnderline = x(4) .ForeColor = x(5) If rst!Language = "A" Then '0=General '1=Left '2=Center '3=Right '4=Distribute .TextAlign = 3 Else .TextAlign = 1 End If End With End If rst.MoveNext Next i Exit Sub err_Form_Load: If Err.Number = 438 Or Err.Number = 13 Then 'ignor, Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub وهذا الكود الذي يفتح لنا msgbox : Public Function aRemark(N) 'call the Arabic Remarks in Table tbl_Controls_Properties aRemark = DLookup("[Remark]", "tbl_Controls_Properties", "[Form_Name]='" & Me.Name & _ "' And [Language]='" & Forms!frm_Main!Lang & _ "' And [Remark_ID] = " & N) End Function هذا البرنامج برنامج بدائي ، والذي يمكن تطويره 🙂 جعفر MultiLanguage2.zip
  3. شكرا جزيلا أخي يوسف ولتأكيد كلامك ، انا ابدا ما استعملت لوحة البديل ، لهذا السبب ما اعرف الاجابة على هذا السؤال ، ورحم الله إمرأ عرف قدر نفسه جعفر
  4. اكتب لي في صفحة اكسل ، عمود اسم الحرف ، وعمود اسم الحرف البديل
  5. وعليكم السلام اخي شوف الرابط التالي ، يمكن يفيدك http://www.officena.net/ib/index.php?showtopic=59803 جعفر
  6. تفضل نسختي ولكن يجب تغيير اسم ملف power point في الكود. وهذا الكود: لفتح العرض ، ايقافه ، واغلاقه Option Compare Database Dim opj As Object Private Sub cmd_run_Click() Dim strFilePath strFilePath = CurrentProject.Path & "\30.Office_Exercises.ppt" Set opj = CreateObject("Powerpoint.Application") opj.Visible = True opj.Presentations.Open (strFilePath) ': SendKeys "{F5}" opj.ActivePresentation.SlideShowSettings.Run 'Set opj = Nothing End Sub Private Sub cmd_stop_Click() opj.SlideShowWindows(1).View.Exit End Sub Private Sub cmd_exit_Click() opj.Quit Set opj = Nothing End Sub جعفر 30.Run_PowerPoint.mdb.zip
  7. وهذا الكود لإيقاف العرض opj.SlideShowWindows(1).View.Exit جعفر
  8. اعذروني يا شباب للمداخلة ولكني احب اتفادى Sendkeys فايش رايكم بهذا الكود: Dim opj As Object Dim strFilePath strFilePath = CurrentProject.Path & "\Ch1.ppt" Set opj = CreateObject("Powerpoint.Application") opj.Visible = True opj.Presentations.Open (strFilePath) ': SendKeys "{F5}" opj.ActivePresentation.SlideShowSettings.Run Set obj = Nothing جعفر
  9. نفس الموضوع في هذا الرابط وهو يعمل ولكن هناك طلب كذلك: http://If Err.Number = 53 Then 'No file to delete, ignore Resume Next جعفر
  10. أخي اباعمرو ، جربت طريقتي؟ جعفر
  11. وعليكم السلام أخي محسن في عدة طرق لعمل اللي تريده ، وانا بكتب لك الابسط: 1. اذا فيك شدة تدخل في البحر واهواله ، فعليك بالقراءة عن Ascii Arabic Charset ، 2. اما اذا اردت البساطة مثلي ، فاليك التالي: نفترض ان الحقل اسمه text1 ، ففي الحدث قبل الحفظ ، اعمل له الكود مثل التالي ، اللي بنعمله وببساطة ، اننا سنطلب من البرنامج بتغيير الحرف الغير مرغوب فيه ، الى حرف مرغوب فيه ، عن طريق الامر Replace ، وطريقة الامر: 'a=Replace(a,"Old value","New value") a=Me.Text1 a=Replace(a,"أ","ا") a=Replace(a,"إ","ا") a=Replace(a,"ة","ه") a=Replace(a,"ي","ى") Me.Text1=a طبعا العربي في الكود يلخبط الكود ويقلبه ، لذلك تركت لك السطر الاول الصح بالانجليزي ، وانت اكمل الباقي جعفر
  12. حياك الله اخوي اباعمرو ونعم الابن البار والله ان شاء الله يتغمد والدينا ووالديك الاحياء منهم والاموات بإحسانه ولطفه دنيا وآخرة ويحشرهم في زمرة المصطفى صلاوات ربي وسلامه عليه جعفر
  13. يا أخي ، لو اخبرتنا هذا من زمان تفضل Private Sub cmd_Blue_Click() DoCmd.OpenForm "frm_1", acDesign, , , acFormEdit, acHidden Forms!frm_1!text1.BackColor = RGB(0, 0, 255) DoCmd.Close acForm, "frm_1", acSaveYes End Sub Private Sub cmd_Red_Click() DoCmd.OpenForm "frm_1", acDesign, , , acFormEdit, acHidden Forms!frm_1!text1.BackColor = RGB(255, 0, 0) DoCmd.Close acForm, "frm_1", acSaveYes End Sub جعفر
  14. تفضل ياريت من البداية قلت هذا الكلام مثل ما اخبرتك سابقا: فهو يحسب المدة ، آخذ في الاعتبار السنوات الكبيسة والبسيطة جعفر 24.المستحقات التقاعدية.accdb.zip
  15. اخي الفاضل لوسمحت ترفق قاعدة بياناتك ، المرفق اللي ارفقته مرتين فيه مجرد نموذج ، ما فيه جدول ولا بيانات. جعفر
  16. معلش ، خليني شوي انشط عضلاتي للجواب اه ، الحين افضل كل امر تعطيه للبرنامج ، البرنامج يحتاج ان ينفذه ، وفي طرق خفيفة على البرنامج ، واخرى ثقيلة ، فلازم تقدر تميز بينها وتستعمل الاخف جعفر
  17. هلا بيك أخي رمهان فكرة ما خطرت على بالي يا ريت كل المشاركات ، ياتقي الخبراء وكلٌ يدلو بدلوه ، والنتيجة ستكون ما شاء الله ، مجموعة افكار للمنتدى جعفر
  18. أخي اباعمرو انت مشكلتك في استيراد بيانات الاكسل ، مب في الاكسس انا اعطيك اسهل طريقة لاستيراد بياناتك من الاكسل الى للاكسس: 1. استعمل الكود التالي ، والذي سيستورد بيانات الاكسل الى جدول مؤقت اسمه Temp: DoCmd.DeleteObject acTable, "Temp" DoCmd.TransferSpreadsheet acImport, 8, "Temp", ImportFileName, True 2. اعمل استعلام الحاقي ليأخذ بيانات الجدول Temp الى جدولك "جدول تسجيل الكتب" ، سر نجاح هذه الطريقة هي ، يا أخي خلي الاكسل يتدلل ويتدلع ، بس خليه يجيب البيانات ، وبعدين لما كل شئ عندنا في الاكسس ، نعرف كيف التعامل معاه جعفر
  19. عفوا ، لم افهم سؤالك؟ جعفر
  20. نعم ، هذا ما يعمله الكود (مع تغيير بسيط عليه ، لاني لم اجرب ما كتبت): اكتب هذا الكود على حدث زر في النموذج Forms ، فيغير خلفية text1 في form1 الى الاحمر: Forms!form1!text1.BackColor = RGB(255,0, 0) جعفر
  21. وعليكم السلام أخي حسين انا حذفت الجدول rebt ، وعملت نسخة اضافية من التقرير ، وجعلت مربع سرد اسماء التقارير ، يأخذ اسم التقارير من هذا الاستعلام (تقدر تخلي هذا الاستعلام يعطيك اسماء جميع الكائنات اللي في برنامجك من جداول و...): وتلاحظ اني وضعت شرط ان اول 3 حروف من اسم التقرير هي rbo ، وعلى هذا الاساس ، لم يظهر اسم النسخة الاضافية من التقرير اللي انا عملته وعلى بركة الله جعفر 27.1.طباعة التقرير بصيغة ورد.accdb.zip
  22. 1. نعم ، ضع صورة خلف التقرير ، واجعل خلفية الحقةل شفافة ، 2. نعم ، اجعل الشعار في التقرير باسم img_Logo مثلا ، في النموذج frm_1 ، اجعل حقل Show_Logo علامة نعم/لا (ويمكن عمل اي نوعية اخرى) ، وعندما تريد الشعار يظهر على التقرير ، اختار نعم ، في التقرير ، في قسم التفصيل ، في حدث التنسيق او حدث قبل الطباعة اكتب هذا الكود: if Forms!frm_1!Show_Logo=-1 then 'معناها نعم ، اظهر الشعار me.img_Logo.visible=true else me.img_Logo.visible=false endif جعفر
  23. حياك الله لا تنسى اننا مررنا بعدة خطوات الى ان وصلنا الى الشكل الاخير الذي تريده ، فكان هناك بعض الاشياء الزيادة (لم تكن زيادة في وقتها) ، وحذفتها ، وتتبعت مكان البطئ ، حقل بحقل ، وصلحت الامور على اساسها لهذا السبب ، فمن المهم ان تعرف اللي تريده من البداية ، حتى يتم برمجة كل شئ بالطريقة الصحيحة جعفر
×
×
  • اضف...

Important Information