اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    239

كل منشورات العضو ابوخليل

  1. وليس كهذه الحالة بحيث يمنع الفتح هذه تحتاج الى زيادة ايضاح الفتح والارتباط يتم على خطوات اولا يفتح الرئسي بدون ارتباط ليعطي الرقم 1 للمتغير ثم يرتبط بالفرعي حيث لا يمكن فتح النموذج الفرعي مادام الرئيسي مغلقا
  2. تفضل قم بتوظيف الاوامر من خلال القائمة المختصرة عند عرض التقرير للمعاينة Public Function PrintEvenPages() Call PrintOddEven(False) End Function Public Function PrintOddPages() Call PrintOddEven(True) End Function Private Sub PrintOddEven(ByVal binOdd As Boolean) Dim rpT As Report Dim intPages As Integer Dim intPage As Integer Dim intStart As Integer On Error GoTo ErrLine Set rpT = Screen.ActiveReport intPages = rpT.Pages If binOdd Then intStart = 1 ElseIf intPages = 1 Then MsgBox "There are no even pages to print.", vbExclamation, "One page report" GoTo ExitLine Else intStart = 2 End If 'check for only one page For intPage = intStart To intPages Step 2 DoCmd.PrintOut acPages, intPage, intPage, acHigh, 1 Next ExitLine: On Error Resume Next Set rpT = Nothing Exit Sub ErrLine: 'Call ReportError("PrintOddEven") Resume ExitLine End Sub
  3. صحيح يوجد خلل خفي في الاستعلام وحتى ترى هذا الخلل احذف التسمية التوضيحية من حقل title في مثالك السابق انظر التعديل على التسمية في الاستعلام ثم انت بحاجة الى شرطين اثنين لجلب المجاميع على الوجه الصحيح والسبب عدم وجود معرف فريد للسجل وهذا ما تم عمله مثال توضيحي مبسط2.rar
  4. وعليكم السلام هل يعني ان الترقيم التلقائي هو المعرف للطلاب ؟ اذا كان كذلك فانت في مشكلة حقيقية وللخروج منها هناك حلول : 1- الابقاء على الجداول كما هي والتعامل معها عبر الاستعلامات وهنا سيظهر على السطح تكرار االارقام عند الطلب والبحث فعند البحث عن رقم 7 مثلا سيخرج لنا سجلان لشخصين مختلفين وهكذا .. 2- اجراء عملية جراحية دقيقة في احدى القاعدتين لتغيير ارقام المعرفات والارقام الفرعية تبعا لذلك ويستلزم ذلك حذف العلاقات ثم اعادتها بعد الترقيم الجديد وحينئذ وبعد الدمج سيكون لزاما علينا التغيير من الترقيم التلقائي الآلي الى طرق ترقيم تلقائية اخرى ان اردنا الابقاء على هذا الرقم كمعرف
  5. وعليكم السلام اذا كانت خاصية التكامل المرجعي موجودة في العلاقة بين الجدولين فيمكنك حصر الاعداد الخاصة بكل عميل واستخراج اعلى رقم ثم تضيف اليه 1 مثال : yourTextNum= DMax( "num","yourTable"UserName=" & me.UserName)+1 اما اذا كانت الخاصية غير موجودة فيمكنك تحقيق ذلك بتوظيف استعلام يجمع بين المعرف الرئيس ورقم الحساب في الجدول الفرعي ويكون المعرف معيارا من خلال النموذج ثم استخدم الجملة التالية : yourTextNum= DMax( "num","yourQuery")+1
  6. تم نقل الموضوع الى المكان المناسب
  7. حول الملف الى امتداد mdb
  8. قد يكون لديك نقص في المكتبات في محرر الفيجوال تأكد من : Tools/References
  9. لا بأس ولكنك في سؤالك هذا خرجت عن الترقيم الى موضوع آخر . فأرى ان تخصص لهذا السؤال مشاركة جديدة
  10. بعد اذن اخي سمير اذا كان المصدر استعلاما اكتب في عنصر تحكم الحقل : =DlookUp( " filedName","QueryName") اما اذا كان المصدر نموذجا فاكتب = forms!formName!filedName شريطة ان يكون النموذج المصدر مفتوحا
  11. ارفق محاولاتك وآخر ما توصلت اليه يكتفى في المثال على النموذج والنموذج الفرعي ومصدر البيانات فقط
  12. اخي الكريم يسرنا دعوتك للمشاركة هنا http://www.officena.net/ib/index.php?showtopic=41520 اما بالنسبة لمشاركتك الاخيرة فنأمل ان تخصها بمشاركة جديدة . من الافضل وهو المطلوب ان تشتمل كل مشاركة على استفسار واحد .
  13. حول المرفق الى امتداد mdb لعلك تجد تفاعلا اكثر
  14. لكي ندرج بيانات محددة لكل طالب كالاسم ومدة التأخر او عدد الغياب او غيره داخل نص الرسالة يجب ان نأخذها من الجدول او الاستعلام لذا يلزم انشاء نموذج فرعي داخل نموذج الرسائل مصدره الجدول او الاستعلام المذكور وباستخدام الدالة For يمكننا المرور والانتقاء من مجموعة السجلات الموجودة في النموذج الفرعي ثم ادراجها بين القوسين بدلا أو مع حقل الرسالة (txtMessage.Text) : Private Sub SendMessage() Dim t As String t = send(URLEncode(username), URLEncode(Password), ConvertToUnicode(txtMessage.Text), txtSender.Text, txtNumbers.Text) ShowResult (t) End Sub
  15. يجب انتقاء عنوان مناسب يصف الموضوع تم تعديل العنوان
  16. نعم وتستحق ان تفتح لها موضوعا جديدا
  17. تم فصل الموضوع الجديد عن الموضوع السابق اخي الكريم يجب تخصيص كل مشاركة بسؤال يخصها تم التعديل وعمل المطلوب stDocName = "Rep1" If R_p = 1 Then Rm2 = Rm1 Else Rm2 = "" End If If show = 1 Then DoCmd.OpenReport stDocName, acPreview Else DoCmd.OpenReport stDocName, acViewNormal End If اجازات2.rar
  18. تم تعديل المرفق وتمت التجربة ، آمل ان يحقق مطلبك جرب .. ووافنا بما يستجد db2.rar
  19. اطلعت على المثال وما قمت به انت جميل حيث ان اسم الدورية يظهر في مربع التحرير في النموذج بمجرد كتابة الحرف الاول وايضا عند معاينة التقرير يظهر اسم الدورية في الاعلى كعنوان علما ان البحث يتم عبر الارقام وهذا طبيعي لا اعلم ما تقصد في طلبك اعلاه فان كنت تريد تحويل مربع التحرير الى حقل والبحث عن نص فهذ ا يتطلب اعادة تصميم الحقل في الجدول
  20. اخي الكريم الموضوع قديم انظر تاريخ المشاركة يغلق ،،،
  21. لا يزيد عن عشرة ؟ لانه ما زال حقلا نصيا وفي الحقل النصي التسعة اكبر من العشرة بل الاثنان اكبر من العشرة لذا فالكود يختار اكبر عدد في الحقل النصي وهو التسعة ثم يقوم بتحويله الى رقم ثم يضيف اليه واحد ليصبح عشرة ولكن رقم عشرة موجود فعلا لذا يرفض اكسس تكرار الرقم . ومن هنا يتبين من اين جاءت المشكلة التي تحدث معك . والحل هو ان نقوم بتحويل العدد المقتطع الى رقم قبل اختيار اكبر عدد وهذا ماتم تحقبقه في التعديل أدناه التعديل تم داخل سطرين فقط وقد بينتهما . Private Sub ts1_AfterUpdate() Dim db As Database Dim rs As Recordset Dim strSQL As String Dim i As Long ' (1)هذا السطر Set db = CurrentDb strSQL = "SELECT Max(CLng(Right([no1],Len([no1])-1))) AS xc FROM tb WHERE (((tb.chk)=paray()))" '(2) وهذا السطر Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot) If rs.RecordCount > 0 Then rs.MoveFirst On Error Resume Next i = rs![xc] If ts1 = 1 Then Me.no1 = "A" & i + 1 ElseIf ts1 = 2 Then Me.no1 = "B" & i + 1 ElseIf ts1 = 3 Then Me.no1 = "C" & i + 1 End If End If rs.Close Set rs = Nothing Set db = Nothing Me.chk = Me.ts1 End Sub
  22. ممكن وهو الافضل في غالب الاعمال ولكن ما عمله الاستاذ ابو عمر هو الأصح لانه محمي عن التعديل تم التعديل في المثال ادناه ولكن يجب الحذر بعدم تغيير الارقام لان الكود مبني على الارقام الثلاثة 1 ، 2 3 ترقيم تلقائي منوع 3.rar
×
×
  • اضف...

Important Information