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

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    239

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

  1. هذا كلام جديد جديد : لان ماسبق كنا نتعامل مع بيانات الحقل كرقم بالرغم ان نوع الحقل نص اما اذا ادخلنا الحروف فهنا لا يمكن تطبيق الجمل البرمجية السابقة وسنحتاج الى التعامل مع الحقل بطريقة أخرى وهذا ما تم فعله في المثال المرفق حيث يتم استبعاد الحرف ونتعامل مع بقية النص كرقم Private Sub ts1_AfterUpdate() Dim db As Database Dim rs As Recordset Dim strSQL As String Dim i As Integer Set db = CurrentDb strSQL = "SELECT Max(Right([no1],Len([no1])-1)) AS xc FROM tb WHERE (((tb.chk)=paray()))" 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 اما بخصوص حقل chk فإن المصدر مربع التحرير وليس الجدول وانما وضعنا الحقل داخل الجدول كي نستخدمه كمعيار ، وانظر اليه في المثال الجديد لتتضح الرؤية واما زيادة الفروع مستقبلا فلا يمكننا ذلك الا بتعديل الكود ايضا ترقيم تلقائي منوع 2.rar
  2. تفضل وامل ان يفي بحاجتك db6.rar
  3. هذا بالضبط ما عملته لك راجع المثال مرة اخرى ابدأ بالترقيم من 1 وان اردت ان تبدأ من اي رقم فغير الدالة Dcount الموجودة في الكود الى DMax هذا كلام جديد
  4. يوضع هذا الكود في محرر الفيجوال الخاص بالنموذج او التقرير التطبيق المرفق وضعنا الكود في حدث طباعة التفصيل في التقرير db4.rar
  5. تم تحديث الحل حسب طلبك الاخير Private Sub ts1_AfterUpdate() On Error Resume Next Dim i, x, z As Integer i = DCount("no", "tb", "chk=1") x = DCount("no", "tb", "chk=2") z = DCount("no", "tb", "chk=3") If ts1 = 1 Then Me.no = i + 1 ElseIf ts1 = 2 Then Me.no = x + 1 ElseIf ts1 = 3 Then Me.no = z + 1 End If Me.chk = Me.ts1 End Sub وانظر التطبيق حيث يلزم اضطرارا وضع حقل في الجدول يبين النوع ترقيم تلقائي منوع.rar
  6. Option Compare Database Dim x As Integer Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) If IsNull(Text1) = True Then 'بدء الترقيم من 216 Text1 = 216 x = 1 Else Text1 = x + Text1 End If End Sub
  7. مداخلة بعد اذن اخي الاستاذ ابا عمر وفي حقل واحد ؟ هذا يعني قبول التكرار اي ان رقم واحد سيتكرر مرتين ورقم 2 مرتين .... وهكذا اذا كان كذلك فيجب ازالة المفتاح من الحقل وضبط الخاصية على قبول التكرار بمعنى انه سيكون للجدول مفتاحا آخر ماذا تقول ؟
  8. بعد اذن اخي الاستاذ سمير انظر هنا لعلك تجد فائدة http://www.officena.net/ib/index.php?showtopic=49134&view=findpost&p=298300&hl=%D8%A7%D9%83%D8%B3%D9%84
  9. انظر هنا http://www.officena.net/ib/index.php?showtopic=48569&page=2#entry301916
  10. هذا الموضوع تجد فيه بغيتك http://www.officena.net/ib/index.php?showtopic=49880
  11. التمس لإخوانك عذرا بارك الله فيك وبالنسبة لطلبك فلتفريغ حقل text1 مثلا اكتب في حدث الزر : text1 = "" وهكذا لجميع الحقول المطلوب تفريغها يمكنك وضعها في حدث زر واحد
  12. [no] = (s * 1000000) + DCount("[no]", "[tb]", "left([tb]![no],1)=" & [s]) + 1 رائع
  13. الملف كبير جدا اكبر من 25 ميجا لا يمكن تحميله يكفي تقرير وجدول لترى كيف يتم العلاج يجب ان نتعامل مع المرفقات كأمثلة بسيطة لزيادة الايضاح
  14. المرفق معطوب ارفق مثالك على صيغة mdb
  15. تم دمج الموضوعين وتنسيقهما
  16. من هنا http://www.officena.net/ib/index.php?showtopic=31250
  17. المثال بعد التعديل فتح استعلام جدولي متغير داخل نموذج1.rar
  18. بفضل الله اليك الحل وبخطوة واحدة فقط نعرض فيه الاستعلام من خلال النموذج الفرعي باستخدام هذا السطر البرمجي Me.subfrm.SourceObject = "Query.qrRadiology" فتح استعلام جدولي متغير داخل نموذج.rar
  19. المعادلات في اكسس توضع داخل النموذج او التقرير او الاستعلام أو في محرر الفيجوال كل هذه يمكن ان توضع فيها العبارات والجمل البرمجية حسب الحاجة فلو فرضنا وجود ثلاث حقول A , B , C فجملة : C = A + B يمكن كتابتها داخل حقل C في النموذج أو التقرير كما يمكن كتابتها داخل محرر النموذج او محرر التقرير فتؤدي الغرض نفسه ايضا يمكن كتابتها في حقل جديد في الاستعلام لتعطينا النتيجة اما الجداول فهي مكان لحفظ البيانات فقط
  20. العنوان لا يحتاج الى زيادة شرح او تفصيل في المرفقات مثال فريد لتحقيق المطلوب فريد : لاعتماده على جملة برمجية صغيرة ، بعيدا عن الوحدات النمطية المطولة Private Declare Function SetDefaultPrinter Lib "winspool.drv" Alias "SetDefaultPrinterA" (ByVal pszPrinter As String) As Long Private Sub Form_Open(Cancel As Integer) Dim Prn As Printer For Each Prn In Application.Printers PrinterList.AddItem Prn.DeviceName Next Prn End Sub Private Sub PrinterList_DblClick(Cancel As Integer) SetDefaultPrinter (PrinterList) DoCmd.Close acForm, Me.Name End Sub اختيار الطابعة الافتراضية من قائمة.rar
  21. يحتمل انه تم الفرز على العمود الآخر خارج الجدول ثم تم اللصق لان الصف بجميع حقوله وحدة واحدة لا تتجزأ فلو تم فرز كل عمود لوحده لتلخبطت البيانات مثلا : لنفرض ان الانثى في عمود يقابلها في الصف نفسه في العمود الآخر زوجها ، فما الذي سيحدث لو تم فرز كل عمود لوحده
  22. وهذا حل بدالة أخرى Private Sub No_AfterUpdate() Dim x As Integer x = No For x = x To 20 No = x DoCmd.GoToRecord , , acNext No = No + 1 Next End Sub
  23. السبب في عدم امكانية تطبيق الفرز على العمودين هو انهما يشتركان في صف واحد ولعل هناك طرق شتى لتحقيق المراد فيتحفنا بها احبابنا واخواننا في هذا المنتدى ولكني سأعرض الطريقة التي توصلت اليها وهي اننا ننشء عمودين في الصفحة الواحدة ثم نقسم الجدول الى شطرين ونضع كل شطر في عمود ويشترط في هذه المحاولة ان يكون التطبيق على صفحة واحدة فقط الرقم.rar
  24. كيف يتم رفع المرفقات http://www.officena.net/ib/index.php?showtopic=31250
×
×
  • اضف...

Important Information