-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
هذا الكود زر الطباعة الموجود عندك ، مع اضافة رقم الفاتورة في نهايته : Dim stDocName As String stDocName = "re3" DoCmd.OpenReport stDocName, acNormal, , "[invo]=" & Me.invo جعفر
-
اقترح الطباعة تكون كالتالي: في المرة الاولى: عند الطباعة مرة اخرى للشيف او المطبخ : بهذا التنسيق ، وبهذا الترتيب ، فيعرف الشيف المطلوب 🙂 جعفر
-
ما عندي تعليق على ملاحظتك. ولكن انظر الى هذه الملاحظة: فإذا وضعت الكود على حدث خطأ ، فالاكسس غير مذنب !! وارى الكثير يستعمل مثل هذا الكود ، والذي لن يعمل على هذا الحدث حتى لو حاولت فيه لبكرة الصبح : Private Sub iDate_AfterUpdate() cancel = true end if . فمناداة الحدث لا يوجد عندها متغير cancel ، والمتغير موجود في الحدث التالي ويعمل من اول مرة : Private Sub iDate_BeforeUpdate(Cancel As Integer) cancel = true end if جعفر
-
تفضل 🙂 افتح التقرير rpt_Vertically_center_Fields الدالة التي تقوم بالعمل ، وعملت لها وحدة نمطية مستقلة ، حتى يمكننا الاستفادة منها لأكثر من تقرير: Public Sub VerticalAlignCenter(ByRef ctl As Control) ' 'From: https://www.vbforums.com/showthread.php?505561-VB-VBA-Set-TextBox-and-Label-text-to-Vertically-Align-Center&p=3675142&viewfull=1#post3675142 ' 'Sets the vertical alignment of a label or textbox to "Center" 'NOTE: 'MinimumMargin: the value of the smallest margin Access allows in twips. If you set the .TopMargin 'to "0", Access will actually place a gap equal to 1 point (or 20 twips) rather than actually 'placing the text at the very top border of the control. FURTHER NOTE: Access sucks. ' 'BorderWidth: half the value of .BorderWidth in twips. As you increase the border (Hairline, 1pt, 2pt, etc..) 'Access expands the border equally from the center. We're only concerned with the "inner" section of the border. ' 'TwipsPerPoint: global constant set to 20 On Error GoTo ErrorCode Dim MinimumMargin As Integer Dim BorderWidth As Integer Dim TwipsPerPoint TwipsPerPoint = 20 If Not ((TypeOf ctl Is TextBox) Or (TypeOf ctl Is Label)) Then Exit Sub 'Figure out how many lines it is Dim LenOfText, WidOfBox, NumberOfLines, HtOfText If TypeOf ctl Is TextBox Then LenOfText = ctl.Text Else: LenOfText = ctl.Caption End If 'how wide is this puppy? WidOfBox = ctl.Width LenOfText = (Len(LenOfText) * TwipsPerPoint * ctl.FontSize) / 2 NumberOfLines = Int(LenOfText / WidOfBox) + 1 HtOfText = NumberOfLines * TwipsPerPoint * ctl.FontSize MinimumMargin = 1 * TwipsPerPoint BorderWidth = (ctl.BorderWidth * TwipsPerPoint) / 2 ctl.TopMargin = ((ctl.Height - HtOfText) / 2) - MinimumMargin - BorderWidth ErrorCode: Exit Sub End Sub . ثم في التقرير ، انقر على فاصل قسم التفصيل Detail ، وفي حدث "عند الطباعة" (ولن يعمل يأي حدث آخر ، فهو آخر حدث قبل الطباعة ، بينما للاحداث الاخرى يكون فات الاوان لهذا العمل) ، ننادي الدالة اعلاه بإسم الكائن الذي نريد توسيطه : Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) VerticalAlignCenter Me.save VerticalAlignCenter Me.a1 End Sub . والنتيجة : . كما يوجد مثال عند ملك دوال الاكسس الثقيلة المتقاعد في : http://www.lebans.com http://www.lebans.com/DownloadFiles/A2KVerticalJustify.zip جعفر 1293.1.Report_Draw_BoxLine.accdb.zip
-
السلام عليكم 🙂 الطريقة التي تأتي على بالي: كل طاولة لها رقم ، وهناك نموذج ادخال البيانات عند الكابتن ، ونموذج قراءة البيانات عند الشيف ، وفيه توقيت Timer ، بحيث كل 30 ثانية يحدث بياناته عن طريق Requery . فإذا عمل الكابتن طلب الطاولة ، وكانت 2 صاج دجاج ، فلما يفتح الشيف صفخة الطاولة (النموذج الذي به رقم الطاولة) ، سيجد انها 2 صاج دجاج ، ولما الكابتن يضيف 2 بركر ، هنا صفحة الطاولة عند الشيف ستتحدث في وقت اقصاه 30 ثانية (حيث توقيت نموذج الشيف لا علاقة لها بتوقيت ادخال بيانات الكابتن) ، وسيرى الشف الطلبين : 2 صاج دجاج و 2 بركر 🙂 جعفر
-
وعليكم السلام 🙂 هذا معناه : ان يكون عندك في الجدول ، حقل تمت الطباعة من نوع نعم/لا ولنسمية Printed ، والسجلات التي يتم ارسالها للطباعة تكون قيمة Printed =0 ، وبعد الطباعة على طول ، تعمل استعلام تحديث لهذا الحقل في جميع السجلات ، بقيمة Printed =-1 🙂 جعفر
-
نعم هذه طريقة الاكسس 🙂 جعفر
-
وعليكم السلام 🙂 جرب هذا التعديل ، ورجاء تغيير المتغير XXX برقم صحيح : If [mo] = 1 Then Me.موعد1.Visible = Not (موعد1.Visible) Else Me.موعد1.Visible = False End If If [br] <= XXX Then Me.z.Visible = Not (z.Visible) Else Me.z.Visible = False End If جعفر
-
-
السلام عليكم 🙂 الخطأ يقول ان الكائن tbl_dece لا يوجد في النموذج Data member not found) : . اذا تلاحظ اسم حاوية النموذج الفرعي في النموذج ، اسمها يطابق الاسم في الكود ، فلم تحصل على خطأ هنا : . ولكن اسم حاوية النموذج الفرعي في النموذج ، اسمها لا يطابق الاسم في الكود ، لذا فالاسم الموجود في الكود غير موجود في النموذج اصلا : . وهذه طريقة اخرى للتأكد بأن الكائن المذكور في الكود لا يوجد في النموذج : فعندك خيارين للحل: 2. يا انك تُبقي الكود كما هو ، وتغيّر اسم حاوية النموذج الفرعي الى : . 2. او انك تُبقي على اسم حاوية النموذج الفرعي كما هي ، وعليه يتغيّر الكود الى : . ولاحظت انه عندك نفس الكائن بعدة مسميات ، فانت تلخبط نفسك ، وستكون المشكلة اكبر في المستقبل لما تريد عمل اي تعديل !! اعطيه نفس اسم النموذج ، والسلام : . ونصيحة اخرى ، وهي تنسيق الكود ، فلما يكون الكود كله يبدأ من اول السطر ، فلا تعرف بداية ونهاية كل مجموعة ، بينما لما يكون منسّق هكذا ، فمن السهل معرفة البداية والنهاية بمجرد النظر في الكود ، ولا داعي لقراءة الكود لمعرفة بدايته ونهايته ، هكذا : Private Sub Form_Load() If DCount("*", "Tbl_bb", "م") < 1 Then Me![addnew].Enabled = True Me.Next.Enabled = False Me.previous.Enabled = False Me.dlet.Enabled = False Me![cmdcols].Enabled = True Me![Edit].Enabled = False Me![sav].Enabled = False Me![traghh].Enabled = False AllowAdditions = True AllowEdits = False AllowDeletions = False Me.tbl_promotion.Form.AllowEdits = False Me.tbl_promotion.Form.AllowDeletions = False Me.tbl_promotion.Form.AllowAdditions = False Me.tbl_Retr.Form.AllowEdits = False Me.tbl_Retr.Form.AllowDeletions = False Me.tbl_Retr.Form.AllowAdditions = False Me.tbl_dece.Form.AllowEdits = False Me.tbl_dece.Form.AllowDeletions = False Me.tbl_dece.Form.AllowAdditions = False End If End Sub جعفر
-
وعلشان يكتمل الموضوع ، ومن ارشيفي ، ولا اعرف من عمل هذه البرامج ، اليك مرفقين: 1. تحديد عدد السجلات في التقرير ، 2. تحديد عدد السجلات في النموذج المستمر ، جعفر عدد السجلات للنموذج المستمر v.2.mdb تحديد عدد السجلات في التقرير.mdb
-
لا تهتم ببقية الكود ، فقط اهتم بكود قسم التفصيل 🙂 وعلى العموم ، الكود فقط لإعادة الترقيم !! والطريقة تعتمد على اللعب يدويا بارتفاع هامش راس التقرير وذيله ، حتى لا يكون مجال لطباعة سجلات اكثر من طلبك ، والمهم في رلحصول على النتيجة الصحيحة ، هو ان تستعمل معاينة الطباعة Print Preview ، وليس معاينة التقرير Report Preview . نعم هناك طريقة لتحدد عدد السجلات ، وبدون اللعب براس وذيل التقرير ، ويكون عن طريق اضافة فاصل Page Break ، وتجعله مخفي ، الى ان يصل عندك رقم التسلسل (حقل انت تقوم بعمله في التقرير ، حيث مصدره =1 ، وممكن ان يكون مخفي) الى الرقم 20 (او جميع الارقام التي تقبل القسمة على 20 وبدون باقي) ، حينها تجعل الفاصل Page Break مرئي ، كما في المثال المرفق : او جعفر
-
وعليكم السلام 🙂 تفضل مثال : جعفر
-
-
وعليكم السلام 🙂 للتجربة ، احذف المعادلة من مصدر بيانات الحقل key ، وضعها في الكود ، ثم لتجربة عمل البرنامج ، اعطي قيمة الحقل Serial للحقل key كما هو في الكود التالي ، وهنا ستحصل على النتيجة الصحيحة 🙂 Private Sub Form_Load() SerialNumber = CreateObject("Scripting.FileSystemObject").GetDrive("C:\").SerialNumber 'Me.KEY = ([SerialNumber] - 28170) * 2 Me.KEY = "-3121277418" If Me.Serial = Me.KEY Then DoCmd.Close DoCmd.OpenForm "password" Else MsgBox "يجـب عليـك تفعيـل البرنـامـج بطريقـة صحيحــة" End If End Sub جعفر
-
للأسف الشديد ، انت ما تعمقت في قراءة الموضوع !! صاحب الموضوع استبدل ملفات التجربة/النهائية بصيغة accde ، استبدلها بملفين بصيغة accdb حتى يرى الاعضاء الاكواد ، وهذا ما رأيته انت !! انا عملت تعديل في الرابط اعلاه ، واعدت عمل الملفات/المرفقات ، وكتبت ملاحظة وطريقة استعمال الملفات ، فرجاء زيارة الموضوع مرة اخرى ، وقراءته بتمعن ، وانزال المرفقات الجديدة ، وتجربتها 🙂 جعفر
-
هذه قاعدة بيانات تنادي قاعدة اخرى ، فلا يوجد اي كلمة سر في القاعدة الاولى ، ويمكنك متابعة التعليقات والمشاركات هناك لمعرفة العمل بالضبط 🙂 كأنك يا ابو زيد ما غزيت !! وكذلك ممكن استخراج كلمة السر منه !! جعفر
-
السلام عليكم 🙂 لا توجد طريقة لطلبك في الاكسس. هناك طريقة اخرى للحماية: جعفر
-
🙂
-
وعليكم السلام 🙂 كنت شاطر يوم من الايام ، وعملت هذا : والتكملة على قائمتي ، ان شاء الله يوم من الايام اعملها 🙂 جعفر
-
اذن اجعل مقاسات التقرير 3*4 سم 🙂 اخي أمير: اولا: انت محاسب ، وكونك تعمل برامج ، ولو طلبت منك حساب تكلفة عمل برنامج في Scaled Agile SAFe فهل بإمكانك عمله ؟ جوابك سيكون عام ، ولكن لو دخلت بتفاصيله ، فقد تقول هذا غير تخصصي ، مع انك محاسب 🙂 نحن الاعضاء في المنتدى عندنا نقاط قوة ونقاط ضعف ، فانا على سبيل المثال اتحاشى اسئلة أمان الاكسس ، وإخفاء خلفيته ، بينما ارد على الاسئلة البرمجية وطرق تسريع عمل البرنامج 🙂 ثانيا: ليس كل من يدخل في المنتدى هو عضو فعّال ، واليك هذه الصورة للمتواجدين في المنتدى حاليا (هذه مجرد صفحة واحدة ) ، ومعظمهم زوار يقرأون مافي المنتدى ، ومن ضمن المواضيع التي يقرأونها هو مواضيعك طبعا : . جعفر
-
اخوي @ابو رسول ، انت مررت على الموضوع عدة مرات ، فهل عندك استفسار ؟ جعفر
-
السلام عليكم 🙂 تم مناقشة هذا السؤال في الكثير من المواضيع ، وبتعمق ، وهذه بعض الروابط (البحث في المنتدى يساعدك ويسهل الوصول لغايتك 🙂 ) : . . . . . جعفر
-
إعادة تسمية ملفات داخل مجلد من قاعدة بيانات
jjafferr replied to hady2021's topic in قسم الأكسيس Access
وعليكم السلام 🙂 هذا الكود سيغير اسماء الملفات في المسار ImagePath ، من الاسم القديم student_code الى الاسم الجديد seating_no : Dim rst As DAO.Recordset Dim OldFile As String, NewFile As String Set rst = CurrentDb.OpenRecordset("Select * From student") rst.MoveFirst Do Until rst.EOF OldFile = rst!ImagePath & "\" & rst!student_code & ".jpg" NewFile = rst!ImagePath & "\" & rst!seating_no & ".jpg" Name OldFile As NewFile rst.MoveNext Loop rst.Close: Set rst = Nothing MsgBox "Done" جعفر -
اخي ابوالحسن 🙂 حياك الله 🙂 ورجاء لا تنسى قوانين المنتدى ، وكما اخبرتك سابقا ، سؤال لكل موضوع ، وليس برنامج لكل موضوع 🙂