-
Posts
9,814 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
397
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
هدية: ربط الصور وملفات pdf بالنموذج، وتشغيل الماسح الضوئي
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
لوسمحت تفتح موضوع جديد ، وترفق فيه المرفقات (اللي ارفقتها في هذا الموضوع) حتى يكون الموضوع متكاملا ، ثم تشرح لي وبالمثال لوسمحت (لأني لم افهم المطلوب ) وان شاء الله خير جعفر أخي محمد لازلت انتظر موضوعك الجديد جعفر -
تسلم أخوي رمهان كود خفيف في وزنه ، ثقيل في عمله جعفر
-
السلام عليكم سأشرح كيف اني أشير الى مكان وجود الجداول (سواء المضمنة او المرتبطة)، والذي سيكون مجلد الصور سيكون معه في نفس المجلد ، يعني مجلد الصور دائما يجب ان يكون في نفس مجلد قاعدة البيانات التي تحتوي على الجداول (بغض النظر ، سواء أكانت قاعدة البيانات واحدة او مقسمة). نضع هذا الكود في وحدة نمطية: Public Function GetDBPath() As String Dim strFullPath, Table_Name As String Dim rst As DAO.Recordset 'check for a linked table Set rst = CurrentDb.OpenRecordset("SELECT Name FROM msysObjects WHERE Type=6 AND Left([Name],2) Not In ('~t','ms')") If rst.EOF Then 'Table doesn't exist Exit Function Else 'linked Table exists Table_Name = rst(0) End If rst.Close Set rst = Nothing 'now get the path strFullPath = Mid(DBEngine.Workspaces(0).Databases(0).TableDefs(Table_Name).Connect, 11) GetDBPath = Left(strFullPath, InStrRev(strFullPath, "\")) End Function Public Function BE_or_FE() ' to use: ' BE_or_FE ' 'if BE exits, use its path, 'otherwise use the Application path 'get the BE Path BE_or_FE = GetDBPath If Len(BE_or_FE & "") = 0 Then BE_or_FE = Application.CurrentProject.Path End If End Function Function Images_Location() 'If we want the Backend Folder Images_Location = BE_or_FE & "\archive" 'or we can assign any location we want 'Images_Location = "c:\Temp" & "\archive" End Function وعندما اريد ان اعرف مسار الجداول (بغض النظر في كون الجداول مضمنه او مرتبطة) ، فاناديه هكذا: msgbox BE_or_FE وعندما اريد ان اعرف مسار مجلد الصور ، فاناديه هكذا: msgbox Images_Location وعندما اريد ان اشير الى الصورة التي اشرت اليها انت ، فاناديه هكذا: Images_Location & "\" & txt1 & ".jpg" جعفر
- 7 replies
-
- 11
-
حاليا اترك ايام الاسبوع جانب الكود يعطيك كلمة السر حسب الوقت ، وفيه مثال كذلك جعفر
-
مطلوب تنسيق شرطي على لون الخط فقط في نماذج مستمرة بالكود
jjafferr replied to mr steev's topic in قسم الأكسيس Access
- 1 reply
-
- 1
-
وعليكم السلام أخي ناصر انا كتبت هذا الموضوع سابقا في منتدى الفريق العربي للبرمجة ايش رايك في كلمة سر متغيرة يعني مافي داعي تخاف احد يشوفها ، لأنها تتغير دائماً كل دقيقة استعمل هذا الكود مثلاً: p1 = InputBox("insert Password", Format(Now(), "dddd dd-mm-yyyy hh:mm:ss am/pm")) p2 = Format(Hour(Now()) + Minute(Now()), "0000")' & "," & Format(Day(Now()) + Month(Now()), "0000") 'MsgBox Format(Now(), "dddd dd-mm-yyyy hh:mm:ss am/pm") & vbCrLf & _ Format(Hour(Now()) + Minute(Now()), "0000") & "," & Format(Day(Now()) + Month(Now()), "0000") If p1 = p2 Then MsgBox "OK" Else MsgBox "NG" End If كلمة السر هي: تجمع الساعة في الوقت الحالي (الساعة نظام 24 ساعة) + الدقيقة ، والجواب يكون بصيغة 4 ارقام ، مثلا الساعة الآن 5 العصر و26 دقيقة ، اولا نحول الساعة الى نظام 24 ساعة: 5+12 = 17 17 + 26 = 43 اذاً كلمة السر هي 0043 وطبعا تقدر انك تغير الكود مثلا: تحول ايام الاسبوع الى ارقام مثلا: السبت = 1 الاحد = 2 الاثنين = 3 الثلاثاء = 4 الاربعاء = 5 الخميس = 6 الجمعة = 7 فاذا كنا يوم الجمعة ، ونفس الوقت السابق ، فتقدر ان تكون كلمة سرك 70043 ، او 7 + 0043 = 0050 وهكذا جعفر
-
وعليكم السلام اتبع هذه الخطوات (يختلف مكان الازرار حسب نسختك من الاكسس) ، عند النقر على 5 ، فان الاكسس سيفحص جميع مكونات برنامجك ، وسيقترح عليك ما يجب ان تفعله ، فإبدأ العمل على المقترحات ، وخصوصا على اقتراحات الفهرسة indexing وبس جعفر
-
عفوا ما فهمت شو قصدك بعبارة الأسف !! هل تأسفك على سؤالي ؟ جعفر
-
وعليكم السلام هل عامل فهرسة للحقول الاساسية في الجداول المستعملة (الحقول التي يكون لها معايير في الاستعلام)؟ اعملها وجرب جعفر
-
حياك الله
-
وعليكم السلام أخي السؤال غير واضح رجاء تعطينا مثال او مثالين نقتدي بهم ، والمثال بالتواريخ (وليس كلاما فقط) ، يعني ماهو التاريخ ، وماذا تريد من نتائج التاريخ ، سواء ايام او اشهر جعفر
-
-
زيادة مبلغ إيقاف الخصم الشهري الى مبلغ القرض
jjafferr replied to كريمو2's topic in قسم الأكسيس Access
أخي كريمو رجاء ملاحظت بيانات كريمو17 في النموذج FrmCridi و تلاحظ بياناته الجدول tbl_Avoid_Dates ، ثم تفتح النموذج Frm_kassem_months وتقارن النتائج. هذه مرحلة اولى ، فلذلك لم نغير سوى المجاميع ، ولم نتطرق للأشهر ، فاذا عبرنا هذه المرحلة ، فسننتقل الى المرحلة التي تليها. انا تركت لك وحدة نمطية بالنسبة للأشهر ، فهي تدقق في الجدول tbl_Avoid_Dates باسم EmployeeID ، واذا عنده عفو ، فانها لا تسمح بظهور الاسم في ذلك الشهر ، انظر الى هذا المثال ، وتستطيع نسخ الحقل لجميع التقارير التي لها علاقة بالسداد: جعفر 11.1.2015.March.accdb.zip -
عفوا على هذا الخطأ الحقل كان بصيغة رقم ، وجربت الكود عليه ، لكني غيرته الى نص ولم اجرب الكود جربه الان لوسمحت الكود اصبح: Else a = Nz(DMax("Val(Right([SeqNumber], 4))", "ClientExchange", "[DateExchange]=#" & Date & "#")) + 1 Me![SeqNumber] = Format(Me.WindowID, "00") & "-" & Format(a, "0000") ' Me![OUT-NUM] = Me![OUT-NUM] + 1 End If جعفر 39.Exchange.mdb.zip
-
على بركة الله بس لازم تتأكد ان حقل BornNo لا يحتوي على رقم ، وإلا فإنك ستكتب عليه الرقم الجديد لهذا السبب استخدمت كود للتأكد بان الحقل فاضي ، واذا ما كان فاضي ، فالكود يسألك اذا كنت تريد تغيره هذا بداية الكود (الكود الكامل موجود في مشاركتي رقم 5): 'check if BornNo is in the Record If Len(Me.BornNo & "") <> 0 Then جعفر
-
السلام عليكم اخي ابوزياد انت طلبت التنسيق التالي: على هذا الاساس ، يكون الكود في برنامجك كالتالي: Else a = Nz(DMax("[SeqNumber]", "ClientExchange", "[DateExchange]=#" & Date & "#")) + 1 Me![SeqNumber] = Format(Me.WindowID, "00") & "-" & Format(a, "0000") ' Me![OUT-NUM] = Me![OUT-NUM] + 1 End If جعفر 39.Exchange.mdb.zip
-
طريقة جميلة أخي رمهان جعفر
-
حياك الله أخوي أبوخليل
-
وهذا هو الكود: Private Sub Cmd0_DblClick(Cancel As Integer) 'BornNo = Nz(DMax("[EarNo]", "AnimalsRecords" Or "BornsRecords", "[CowNo]= form![CowNo] and [Season]=form![Season]"), 0) + 1 'A = DMax("[EarNo]", "AnimalsRecords", "[CowNo]=" & Me.CowNo & " and [Season]=" & Me.Season) 'check if BornNo is in the Record If Len(Me.BornNo & "") <> 0 Then Dim Msg, Style, Response Msg = "Ear Number already exists in this Record, Do you want to over write?" Style = vbYesNo + vbCritical + vbDefaultButton2 ' Define buttons. Response = MsgBox(Msg, Style) If Response = vbYes Then ' User chose Yes, over write A = Nz(DMax("[EarNo]", "AnimalsRecords"), 0) + 1 B = Nz(DMax("[EarNo]", "BornsRecords"), 0) + 1 BornNo = A If B > BornNo Then BornNo = B Else ' User chose No. Exit Sub End If End If End Sub جعفر
-
وعليكم السلام ما يصير Dsum من الجدولين في خطوة واحدة لازم تطلب الرقم الاعلى من الجدول الاول ، ثم الرقم الاعلى من الجدول الثاني ، ثم تقارن بين الرقمين ، وتختار الاعلى ، ثم تضيف اليه 1 جعفر
-
أختي الفاضلة الرجاء النظر في مشاركتي رقم 8 ، ففيها ما اردتي ، ولكن: 1. الاكسس يعمل على نظام السجلات ، يعني سجل تحت سجل آخر (وليس عمود جنب عمود آخر) ، وقد عملت لك ذلك في مشاركتي رقم 8 اعلاه ، 2. الطريقة اللي انتي كتبتيها ، وهي بإستخدام الاعمدة (وليس السجلات). نعم نستطيع ان نطلب من الاكسس عمل اللي تريديه ، ولكنه غير صحيح. شوفي المثال التالي: بعد ما خلصتي من البرنامج (بطريقتك ، يعني بالاعمدة) ، يأتيك طلب بإضافة عدد المهندسين ، والعمال!! فالذي يجب ان تعمليه ، هو ان تدخلي التقرير ، وتعملي عليه التعديلات لكل وظيفة جديدة (يعني افقيا ، بنفس طريقة الاكسل) ، بينما في طريقتي ، فبمجرد إضافة الوظائف في الجدول ، التقرير يأخذ البيانات ويعطيك التقرير الصحيح ، وبدون تغيير اي شئ في التقرير. يعني: عمل الاكسل عمود جنب عمود ، بينما عمل الاكسس سطر تحت سطر جعفر
-
وعليكم السلام أخي وائل انا فتشت في قوانين المنتدى ، بس للأسف الظاهر انهم تجاهلوا بعض الشروط ، لهذا ، فانا اضع بين يديك قانون جعفر: 1: ممنوع وضع مشاركات جديدة لها علاقة بالاكل ، إلا بعد الوجبات يعني تريدني ارد على سؤالك ، او ارد على بطني اللي يريد الزبيدي عُدنا للموضوع 1. انا غيرت مسمى الحقول الصفراء في النموذج الرئيسي الى: 2. في النموذج الفرعي ، في الحدث الحالي ، وضعت هذا الكود: يعني ، لازم تكون على السجل اللي تريد تعرف معلوماته ، وعليه بتحصل على النتيجة Private Sub Form_Current() On Error GoTo err_Form_Current Me.Parent.itemcode_count = 0 Me.Parent.itemcode_id = Me.itemcode Set rst = Me.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For I = 0 To RC If Me.Parent.itemcode_id = rst!itemcode Then Me.Parent.itemcode_count = Me.Parent.itemcode_count + 1 End If rst.MoveNext Next I Exit Sub err_Form_Current: If Err.Number = 3021 Then 'no records Exit Sub Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub بس الظاهر ان عندك حدث آخر يتدخل كل شوي ، فلازم تعالجه علشان هذا الكود يشتغل عدل جعفر 41.AA.mdb.zip
-
كيف نصغر قاعدة البيانات بجانب الساعة؟
jjafferr replied to عبدالعزيز محمد's topic in قسم الأكسيس Access
آسف وحقك علي هذا الرابط الصح: http://www.officena.net/ib/index.php?showtopic=59183 جعفر -
حياك الله أخي ابوزياد شو المطلوب ، شو اللي لازم انظر فيه ، وش المطلوب بعد الاطلاع؟ جعفر
-
أختي الفاضلة ، المثال اللي ارفقتيه انت ، كان فيه الناقص ، وعلى هذا الاساس عملت البرنامج على العموم ، تفضلي التغيير 1. تم تغيير الحساب في الاستعلام ، 2. وعلى اساسه ، نرى النتيجة في التقرير: واذا لم يكن هذا قصدك ، فرجاء ان تعملي المطلوب فب الاكسل ، ثم تضعين لنا المثال. جعفر 40.tast66.accdb.zip