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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. وعليكم السلام اختي واهلا وسهلا بك في المنتدى سؤالك غير واضح ، فياريت توضحيه اكثر ، وبمثال جعفر
  2. السلام عليك اخي كاسر كان في موضوع مشابه ، فحبيت ان تستفيد منه جعفر
  3. وعليكم السلام اهلا وسهلا بك في المنتدى عملت لك طريقتين مختلفتين ، بالرقم ، وبالنص ، وباستخدام نافذة الحفظ ، وباستخدام نافذة الحفظ التي يقدمها اكسس لحفظ اسم الملف ، وهذا كود حدث النموذج: Option Compare Database Private strInputFileName As String Private Sub cmd_Show_PDF_Click() On Error GoTo err_cmd_Show_PDF_Click 'Call Get_File_Click Call Get_File_Click If Len(strInputFileName & "") = 0 Then Exit Sub DoCmd.OpenReport "rpt_Names", acViewPreview, , "[ID]=" & Me.ID, acHidden DoCmd.OutputTo acOutputReport, "rpt_Names", acFormatPDF, strInputFileName DoCmd.Close acReport, "rpt_Names", acSaveNo ' PauseTime = 1 ' Set duration. ' Start = Timer ' Set start time. ' Do While Timer < Start + PauseTime ' DoEvents ' Yield to other processes. ' Loop Application.FollowHyperlink strInputFileName Exit Sub err_cmd_Show_PDF_Click: If Err.Number = 53 Then 'file does not exist Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub Private Sub Get_File_Click() Dim strFilter As String 'set what files should be filtered when the open dialog popsup 'strFilter = ahtAddFilterItem(strFilter, "All Files (*.*)", "*.*") 'strFilter = ahtAddFilterItem(strFilter, "Word document (*.doc)", "*.doc") 'strFilter = ahtAddFilterItem(strFilter, "Excel sheet (*.xls)", "*.xls") 'strFilter = ahtAddFilterItem(strFilter, "Ms Access files(mdb , accdb)", "*.mdb; *.accdb") strFilter = ahtAddFilterItem(strFilter, "PDF files ( pdf )", "*.pdf") 'OpenFile=True means Open dialog, 'OpenFile=False means Save dialog, strInputFileName = ahtCommonFileOpenSave(InitialDir:="C:\", _ Filter:=strFilter, OpenFile:=False, _ DialogTitle:="Please select a Ms Access File...", _ Flags:=ahtOFN_HIDEREADONLY) 'the user clicked cancel, and didn't select a file If strInputFileName = "" Then Exit Sub End Sub Private Sub Save_This_File_Click() On Error GoTo err_Save_This_File_Click Me.fName.SetFocus DoCmd.OpenReport "rpt_Names", acViewPreview, , "[fName]='" & Me.fName & "'", acHidden DoCmd.OutputTo acOutputReport, "rpt_Names", acFormatPDF, abc Exit_Save_This_File_Click: DoCmd.Close acReport, "rpt_Names", acSaveNo Exit Sub err_Save_This_File_Click: If Err.Number = 2501 Then Resume Exit_Save_This_File_Click Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 542.reprtPdf2.accdb.zip
  4. أخي محمود طلبك ، واسم الموضوع هم عكس طلبك الآن الطريقة الوحيدة التي استطعت عملها ، هو فتح النموذج Add_Wife من نموذج آخر frm_Main ، لأنك في وضع DataSheet تستطيع ان تغلق النموذج فقط ، بسبب عدم وجود ازرار على النموذج. جعفر 547.1.Close.accdb.zip
  5. انا عملت لك الزر في النموذج ، فهل جربته؟؟
  6. وعليكم السلام انت ما عندك نموذج فرعي ، وانما نوع النموذج هو SplitForm ، لذلك انت تريد ان تغير طريقة فتح النموذج من SplitForm الى نموذج فردي ، الكود التالي يغير لك النموذج كل مرة تضغط على الزر ، اخفاء: Private Sub cmd_Hide_Sub_Table_Click() 'the only way to change the Default views, is to do it in Design view If Me.DefaultView = 0 Then 'close the Form, without saving it DoCmd.Close , , acSaveNo 'open the Form in Desgin view DoCmd.OpenForm "Add_Wife", acDesign, , , , acHidden 'set the Default view to SplitForm [Forms]![Add_Wife].DefaultView = 5 'open the Form DoCmd.OpenForm "Add_Wife" Else DoCmd.Close , , acSaveNo DoCmd.OpenForm "Add_Wife", acDesign, , , , acHidden 'set the Default view to Single Form [Forms]![Add_Wife].DefaultView = 0 DoCmd.OpenForm "Add_Wife", acNormal, , , , acWindowNormal End If End Sub . والعمل تم على النموذج add_wife فقط جعفر 547.Close.accdb.zip
  7. هذا الموضوع يجب ان يُغلق ، اذا لم يكن عندك سؤال عن اخفاء الخانات الفارغة جعفر
  8. السلام عليكم اخي عمرو 2. رجاء تفتح موضوع جديد ، فقوانين المنتدى تقول: سؤال واحد لكل موضوع 1. انت تعرف ان جميع من يساهم في هذا المنتدى هم متطوعين للمساعدة ، وكوسيلة شكر لكل من يساعد في تقريب الاجابة الينا ، هو ان ان نضغط على "سجل اعجاب بهذا" ، بهذه الطريقة نشجع المتطوعين في التسابق بينهم للحصول على نقاط اكثر ، ومنها يعرف المسؤولين في الموقع عدد نقاط كل متطوع ، فيتم تكريمه بمسمى اعلى النقاط مجانية ، فلا تتوانى في تشجيع من ساعدك ، بأكثر عدد من النقاط واليك المواضيع التي ساعدك فيها المتطوعين ، ويستاهلون تشجيعك و و وان شاء الله جعفر
  9. وعليكم السلام تفضلي جعفر 527.6.مثال.accdb.zip
  10. اضفت بعض الملاحظات في مشاركتي الاولى: شو قصدك اخي صالح ، انا اعرف ان المتغيرات باللغة اللاتينية ، فرجاء اعطنا مثال لوسمحت جعفر
  11. أخي الفاضل تم قفل موضوعك السابق: وقام المشرف بشرح السبب باللون الاحمر: 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. ولكنك وللاسف قمت بعمل نفس المخالفة مرة اخرى!! رجاء كتابة موضوع جديد ، بعنوان يوصف محتوى الموضوع مخالف - يُقفل جعفر
  12. عفوا اخي عمرو ، فسؤالك موجه الى للأستاذ شفان ، حيث انه هو الذي ساعدك في الاجابة ، وانا تطفّلت بالجزئية الاخيرة فقط هذا السوال راح يسألك الاستاذ شفان كذلك: الاسم موجود ، فهل تريد ان تخفي السطر كاملا؟ جعفر
  13. أحد الشروط التي التزم بها دائما ، هي كتابة اسم متغير مفهوم وله معنى ، مثلا: File_Name او How_Many ، بحيث بعد مدة لما أرجع لتصحيح الكود ، افهم ما هو عمل المتغير. والمحترفين يذهبون إلى ابعد من هذا ، فبالاضافة إلى استعمالهم مسمى مفهوم المعنى ، فإنهم يسبقون الاسم بحروف تدل على ان المتغير رقم أو كلمات ، هكذا: للارقام: intRows او nColumns ، وللكلمات: strName. واستغرب من بعض المتغيرات المستعمله في كود معقد مثل: a او b !! جعفر
  14. طرق استعمالها: 1. اذا اردنا استعمال المتغير في الحدث / الوحدة النمطية فقط (يعني لا يمكن اخذ قيمتها من نماذج/تقارير/استعلامات/وحدات نمطية اخرى) ، فنستخدم: Dim UserName as string او Private UserName as string ويجب ان نستخدم Dim لكل حدث في النموذج/التقرير ، اي نعيد كتابته لكل حدث ، بينما يمكننا ان نضع Dim / Private مرة واحدة في اعلى الصفحة ، ولا تكون داخل اي حدث ، هكذا Option Compare Database Private User_Name As String 2. بينما اذا اردنا ان تكون القيمة متوفرة في جميع كائنات البرنامج ، فنستخدم التالي في وحدة نمطية (حتى ولو كانت وحدة نمطية فارغة): Public UserName as string مثال هذا ، عندما تستعمل نموذج المستخدمين ، ثم تريد الاحتفاظ باسم المستخدم في الكود ، فكل الذي تعمله هو: UserName = "jjafferr" ثم من اي مكان في البرنامج تستطيع ان تستعمل هذا المتغير UserName ، مثلا: User_Prevliage = iif(UserName = "jjafferr" , "Admin", "User") . ويمكننا ان نجعل الكود لا يعمل إلا بتعريف المتغير ، وفي الواقع هذه صعبة في البداية ، ولكن في النهاية سيكون برنامجك افضل ، وهكذا نجعل الكود يفرض علينا استعمال المعرف: . . واهمية هذه الخطوة هي عندما تريد ان تحفظ البرنامج لاحقا بصيغة mde او accde ، فيجب عليك ان: . واذا كانت المتغيرات في الكود معرّفة ، فلن تحصل على اخطاء في التحويل جعفر
  15. هكذا ترسل الرسائل الخاصة: 1. تضع الفأرة على الاسم او الشعار ، فتأتيك النافذة التالية ، 2. تضغط على الرسالة ، ثم تكتب الرسالة . جعفر
  16. السلام عليكم اخي عمرو حاولت ارسل لك رسالة على الخاص ، ولكن الظاهر انك لا تسمح بالرسائل الخاصة !! رجاء الكتابة لي على الخاص ، حتى تستطيع استلام رسالتي شكرا جعفر
  17. بالضبط اخي شفان ، هذه الطريقة اللي اقترحها انا كذلك ، ولك السبق فيها الطريقة هي ان تسمي كل ليبل بمسمى الحقل الذي يرافقه ، هكذا الحقل: m5 الليبل: lbl_m5 فاذا عملنا هذا ، فيمكن استخدام هذا الكود المختصر on error resume next Dim ctl As Control For Each ctl In Report.Controls If ctl.ControlType = acTextBox Then If IsNull(ctl) Then ctl.Visible = False Me("lbl_" & ctl.Name).Visible = False Else ctl.Visible = True End If 'IsNull End If 'ControlType Next ctl جعفر
  18. السلام عليكم هل هذا الكود سيحل المشكلة؟ Private Sub Report_Load() Dim ctl As Control For Each ctl In Report.Controls If ctl.ControlType = acTextBox Then If IsNull(ctl) Then ctl.Visible = False If ctl.Name = "m7" Then Me.Label4.Visible = False If ctl.Name = "m8" Then Me.Label5.Visible = False If ctl.Name = "m9" Then Me.Label6.Visible = False Else ctl.Visible = True End If 'IsNull End If 'ControlType Next ctl End Sub . جعفر
  19. وعليكم السلام اهلا وسهلا بك في المنتدى ورجاء الإلتزام بقوانين المنتدى: قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف مخالف - يُغلق
  20. وعليكم السلام هنا ننادي الوحدة النمطية ، ونرسل لها القيمة من الحقل . والنتيجة . وهذه هي الوحدة النمطية Function Grading(G) 'G = Grade sent from the Query If G >= 89.5 Then Grading = "ممتاز" ElseIf G >= 79.5 Then Grading = "جيدجدا" ElseIf G >= 69.5 Then Grading = "جيد" ElseIf G >= 59.5 Then Grading = "متوسط" ElseIf G >= 49.5 Then Grading = "مقبول" ElseIf G >= 0 Then Grading = "ضعيف" End If End Function جعفر 544.Evaluation.accdb.zip
×
×
  • اضف...

Important Information