-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام 1. انا غيّرت الحقل "رقم السند" الى نص ، 2. هذه الوحدة النمطية تقوم بعمل الترقيم Function Next_Seq(T As String) As String 'T = Type نوع السند 'A = سند ايردات 'M = سند مصروفات 'S = سند سداد 'G = سند قبض myGroup = "A = سند ايردات" & vbCrLf & _ "M = سند مصروفات" & vbCrLf & _ "S = سند سداد" & vbCrLf & _ "G = سند قبض" If Len(T & "") = 0 Then MsgBox "يجب ان يكون نوع السند" & vbCrLf & "A او M او S او G" & vbCrLf & vbCrLf & myGroup Exit Function ElseIf T <> "A" And T <> "M" And T <> "S" And T <> "G" Then MsgBox "يجب ان يكون نوع السند" & vbCrLf & "A او M او S او G" & vbCrLf & vbCrLf & myGroup Exit Function Else Next_Seq = Nz(DMax("Mid([رقم السند], 2)", "السندات", "Mid([رقم السند], 1, 1) = '" & T & "'"), 0) Next_Seq = T & Format(Next_Seq + 1, "00000") End If End Function وكلما اردت ان تحصل على رقم جديد في نموذجك ، اكتب هذا الكود: تذكر 'A = سند ايردات 'M = سند مصروفات 'S = سند سداد 'G = سند قبض me.[رقم السند]= Next_Seq("A") جعفر 698.3333.mdb.zip
-
1. ابدأ بعتاب ، المادة رقم 2 2. تأكد انك لم تختار الارقام العشوائية من اعدادات الحقل في الجدول ، فالصورة تعطيك الاعداد الصحيح: 3. هذه الارقام غير عشوائية ، وانما انت لم تعمل فرز بهذا الحقل ، فاعمل الفرز ، واعمل رقمين التاليين ، وستلاحظ انها ليست عشوائية اما اذا كانت هناك مجموعة كبيرة من الارقام غير موجودة ، والرقم التالي يكون كبير ، فاحذف الرقم الكبير ، واعمل كما قال أخونا ابو عبدالله اعلاه جعفر
-
طلب مساعدة في طباعة الفاتورة الحالية في النموذج والتقرير فقط
jjafferr replied to الهمة's topic in قسم الأكسيس Access
1. نعم ، لأنك استخدمت رقم العميل ، واللي هو حقل رقم ، بينما لا يمكنك استخدام اسم العميل (حقل نص) بنفس الطريقة ، 2. عرض التقرير اعرض من الورقة ، لذا لازم تضيقه علشان التقرير ينطبع في ورقة واحدة جعفر -
طلب مساعدة في طباعة الفاتورة الحالية في النموذج والتقرير فقط
jjafferr replied to الهمة's topic in قسم الأكسيس Access
الطريقة الصحيحة لأكثر من معيار: Private Sub cmd_Print_Click() Criti = "[رقم الفاتورة]=" & Me.[رقم الفاتورة] Criti = Criti & " And [اسم العميل]='" & Me.[اسم العميل] & "'" DoCmd.OpenReport "فاتورة مبيعات", , , Criti End Sub Private Sub cmd_Print_Preview_Click() Criti = "[رقم الفاتورة]=" & Me.[رقم الفاتورة] Criti = Criti & " And [اسم العميل]='" & Me.[اسم العميل] & "'" DoCmd.OpenReport "فاتورة مبيعات", acViewPreview, , Criti End Sub جعفر -
طلب مساعدة في طباعة الفاتورة الحالية في النموذج والتقرير فقط
jjafferr replied to الهمة's topic in قسم الأكسيس Access
-
وعليكم السلام قد يفيدك هذا الرابط جعفر
-
ازرار الطباعة لا تظهر في النموذج الفرعي
jjafferr replied to سلمان عبدالله's topic in قسم الأكسيس Access
السلام عليكم اخي سلمان انا قبل ان اعمل تعديل على النموذج ، آخذ نسخة منه ، وبسبب عدم التوضيح مني ، انت تستخدم النموذج النسخة من ن_ادخال_العروض !! رجاء استخدام النموذج ن_ادخال_العروض ، لتحصل على: جعفر -
وعليكم السلام اخي وضاح السؤال هو ، في اي نموذج ، في اي حقل ، هل السنة لها علاقة بالموضوع جعفر
-
انا اعتذر منك ، لم اجرب الكود قبل ان اضعه لك واليك التغيير ، بعد التجربة: Dim rst As DAO.Recordset Dim C 'As Integer Set rst = CurrentDb.OpenRecordset("Select * From qry_workscope_utility") rst.MoveLast: rst.MoveFirst rst.MoveNext C = rst!VisitNo rst.MovePrevious rst.Edit If C <> "NA" Then rst!VisitNo = C + 1 End If rst.Update rst.Close: Set rst = Nothing Me.frm_WORKSCOPE.Requery جعفر
-
بالنسبة للتغيير اللي انتي عملتيه ، استخدمي التعديل التالي ، وراح يشتغل الكود Dim rst As DAO.Recordset Dim RC 'As Integer Dim C 'As Integer Set rst = CurrentDb.OpenRecordset("Select * From qry_workscope_utility") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount rst.MoveNext C = rst!VisitNo rst.MovePrevious If C = "NA" Then Else ' If IsNull(Form_frm_WORKSCOPE.VisitNo) Or Form_frm_WORKSCOPE.VisitNo = "" Then rst.Edit rst!VisitNo = C + 1 rst.Update Me.frm_WORKSCOPE.Requery 'End If End If rst.Close: Set rst = Nothing جعفر
-
وعليكم السلام تفضلي Dim rst As DAO.Recordset Dim RC As Integer Dim C As Integer Set rst = CurrentDb.OpenRecordset("Select * From qry_workscope_utility") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount rst.MoveNext C = rst!VisitNo rst.MovePrevious rst.Edit rst!VisitNo = C + 1 rst.Update rst.Close: Set rst = Nothing جعفر
-
تفضل Dim a() as string x = "852 ,123, 456, 789, 741" 'بدل ان يكون عندنا سطر للمتغير 'x 'اعمله اعمدة للمتغير 'a 'Array 'بحيث يكون فصل كل كلمة بعد الفاصلة a=split(x,",") 'خلينا نشوف قيم المتغير 'a 'من اول سطر فيه ، وهو صفر ، الى اخر سطر فيه 'Lower Bound(a) to Upper Bound(a) for i=lbound(a) to ubound(a) if a(i)=789 then msgbox "found 789" end if next i جعفر
-
وعليكم السلام Dim a() as string x = "852 ,123, 456, 789, 741" a=split(x,",") for i=lbound(a) to ubound(a) if a(i)=789 then msgbox "found 789" end if next i جعفر
-
وهنا شرح كيف تستطيع ان تعمل التصفية بنفسك جعفر
-
طلب مساعدة في طباعة الفاتورة الحالية في النموذج والتقرير فقط
jjafferr replied to الهمة's topic in قسم الأكسيس Access
وعليكم السلام هلا والله بولد بلادي رجاء تخبرنا اي نموذج تتكلم عنه ، واسم زر الطباعة ، وايش الطريقة اللي لازم نتبعها علشان نوصل للي تريده ، يعني يُفضل مثال لوسمحت جعفر -
زمن قياس تنفيذ الكود او المساعدة بتسريع التنفيذ
jjafferr replied to fwares's topic in قسم الأكسيس Access
وعليكم السلام تفضل: لقياس سرعة تنفيذ المجموعة 1 ....كود t = timer ....كود t1 = timer - t ' الوقت بالثواني ....كود لقياس سرعة تنفيذ المجموعة 2 ....كود t = timer ....كود t2 = timer - t ' الوقت بالثواني ....كود . هكذا ، t1 و t2 و ... يعطوك وقت تنفيذ كل مجموعة ولكن اخذ اكثر من قراءة واحدة لكل مجموعة ، ثم اخذ المعدل. جعفر -
ازرار الطباعة لا تظهر في النموذج الفرعي
jjafferr replied to سلمان عبدالله's topic in قسم الأكسيس Access
اعتذر عن هذا الخطأ جرب المرفق جعفر 694.مثال على البرنامج 1.accdb.zip -
-
وعليكم السلام اخي سلمان تفضل Private Sub cmd_ReSeq_Click() Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From TB_1 Where isNull(m_RegMin1)=False Order By No_Common") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'set all id2 to zero DoCmd.SetWarnings False DoCmd.RunSQL ("UPDATE TB_1 SET Id2 = 0") DoCmd.SetWarnings True For i = 1 To RC rst.Edit rst!id2 = i rst.Update rst.MoveNext Next i rst.Close: Set rst = Nothing MsgBox "Done" End Sub جعفر 695.sa.accdb.zip
-
ازرار الطباعة لا تظهر في النموذج الفرعي
jjafferr replied to سلمان عبدالله's topic in قسم الأكسيس Access
وعليكم السلام اخي سلمان اولا احب ان اشكرك على جميل عرضك للسؤال ، بالشرح المفصّل والصور ، وبأسم النموذج والزر وووو والآن الى اسألتك 1. ازرار نموذج ورقة البيانات: من المعروف ان طريقة عرض ورقة البيانات لا تستطيع ان تجعل فيها ازرار ، ولكن مثل ما تفضّلت ، فيها ميزة التحكم بالاعمدة (الحقول) وتحريكها ، والتي لا توجد بالنموذج المستمر ، فإذا اردت ان تعمل كود لهذا النموذج ، فتستطيع ان تعمله بطرق اخرى غير الزر ، مثل حدث "النقر المزدوج" في حقل معين ، او كتابة رمز/رقم/حرف/كلمة في حقل وعمل الحدث على "بعد تحديث" الحقل ، الطريقة الاخرى اللي تستطيع ان تشغّل كود نموذج ورقة البيانات (في هذه الحالة سيكون النموذج نموذج فرعي) ، ولكن تعمل الزر في النموذج الرئيسي ، والذي سيستدعي كود نموذج ورقة البيانات الفرعي: في نموذج ورقة البيانات الفرعي ن_عروض_الاراضي_العام بدلا عن Private Sub ss_Click() اكتب Public Sub ss_Click() ومن اي نموذج/تقرير/وحدة نمطية في البرنامج ، نستطيع ان نناديها هكذا Call ن_عروض_الاراضي_العام.ss_Click . 2. تصدير النموذج بعد التصفية الى ملف وورد: انا عملت زر على النموذج الرئيسي "عروض - طباعة" ، ووضعت عليه هذا الكود: Private Sub ss_External_Click() 'Call ن_عروض_الاراضي_العام.ss_Click fltr = Replace(Me.ن_عروض_الاراضي_العام.Form.Filter, "[ن_عروض_الاراضي_العام].", "") fltr = Replace(fltr, "ن_عروض_الاراضي_العام.", "") DoCmd.OpenForm "ن_عروض_الاراضي_العام", acFormDS, , fltr, , acHidden DoCmd.OutputTo acOutputForm, "ن_عروض_الاراضي_العام", acFormatRTF, "c:\Temp\myDoc.rtf", True End Sub . اسمح لي ان اقترح عليك تغيير طريقة وضعك للنماذج الفرعية المتراكمة!! فاما ان تضعها عن طريق صفحات (وهو الاسهل) ولا يختلف كثيرا عن طريقة عملك ، ولكن سيكون لكل نموذج اسمه ، او تعمل كائن فارغ في النموذج الرئيسي (تعمل نموذج فرعي ، ثم تحذف اسم النموذج الفرعي من Source Object ، فيبقى كائن النموذج الفرعي فارغا) : . ثم عندما تريد ان تضع النموذج الفرعي ن_عروض_الاراضي_العام هناك ، تضع هذا الكود على الزر: Me.mySub.SourceObject = "ن_عروض_الاراضي_العام" . والميزة انه عندما تريد ان تنادي هذا النموذج الفرعي (او اي نموذج فرعي آخر) ، فلا تستعمل اسمه ، وانما تستعمل اسم mySub ، ويجعل النموذج الرئيسي يعمل بسرعة (لوجود نموذج فرعي واحد فقط فيه) ، وفي نفس الوقت نقل البيانات يكون اقل ، لأننا نتعامل مع نموذج فرعي واحد جعفر 694.مثال على البرنامج 1.accdb.zip -
وعليكم السلام اخوي ابو عبدالله ايش رايك بهذه الطريقة ، اختيار اعضاء الفريق ، هو الذي يقرر التشكيل ، والكود يذكرك بالاعضاء المختارين ، كلما تختار الفريق: وهذا هو الكود: Private Sub List0_AfterUpdate() On Error GoTo err_List0_AfterUpdate List2.RowSource = "" List2.RowSource = "Select TypID,MemprName From MemprsTbl Where TypID=" & Me.List0.Column(0) 'everytime we click in List0, we look in Text4 items, 'every item in Text4, we select it in List2 'now show the items selected before, and exist Text4 now Dim x() As String 'split each line of Text4 based on vbCrLf x = Split(Nz(Me.Text4, ""), vbCrLf) 'loop through all the lines For i = LBound(x) To UBound(x) For j = 0 To List2.ListCount - 1 'now loop through List2 strSelected = Me.List2.Column(1, j) & ";" & Me.List2.Column(0, j) If x(i) = strSelected Then 'select List2 item if it is the same as Text4 Me.List2.Selected(j) = True End If Next j Next i Exit Sub err_List0_AfterUpdate: If Err.Number = 94 Or Err.Number = 9 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub Private Sub List2_Click() On Error GoTo err_List2_Click 'everytime we click in List2, we look in Text4 items, 'if there are Selected in List2, we leave it in Text4, 'if there are Not Selected in List2, we remove them from Text4 'loop through List2 items For i = 0 To List2.ListCount - 1 strSelected = Me.List2.Column(1, i) & ";" & Me.List2.Column(0, i) If Me.List2.Selected(i) Then 'is List2 item selected, add it to Text4 'but is it there already If InStr(Nz(Me.Text4, ""), strSelected) = 0 Then Me.Text4 = Me.Text4 & strSelected & vbCrLf End If Else 'Remove from Text4 Me.Text4 = Replace(Me.Text4, strSelected & vbCrLf, "") End If Next i Exit Sub err_List2_Click: If Err.Number = 94 Then Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 693.TestList2.mdb.zip