بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
عفوا ما فهمت قصدك ، لهذا السبب قلت لك من البداية اعطني مثال والكود يجب وضعه على زر البحث ، وخطأ مني ان وضعته على حدث تحميل النموذج اعمل التغيير ، وشوف اذا لازالت المشكلة موجودة. جعفر
-
طبعا سيكون هناك اكثر من طريقة لعمل المطلوب ، وانا اخترت الطريقة الاسهل لي تفضل الكود ، وقد اعدت مسمى الحقول من والى: Private Sub Form_Load() Me.Form.Caption = DLookup("[user]", "fbi") Dim rst As DAO.Recordset 'إيرادات mySQL = "Select [رقم السند]" mySQL = mySQL & " From السندات" mySQL = mySQL & " Where [نوع السند]='إيرادات'" mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#" mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#" mySQL = mySQL & " Order By [رقم السند]" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Me.Erad_From = rst![رقم السند] rst.MoveLast Me.Erad_To = rst![رقم السند] 'اجل mySQL = "Select [رقم السند]" mySQL = mySQL & " From السندات" mySQL = mySQL & " Where [نوع السند]='اجل'" mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#" mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#" mySQL = mySQL & " Order By [رقم السند]" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Me.Aajel_From = rst![رقم السند] rst.MoveLast Me.Aajel_To = rst![رقم السند] 'مصاريف mySQL = "Select [رقم السند]" mySQL = mySQL & " From السندات" mySQL = mySQL & " Where [نوع السند]='مصاريف'" mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#" mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#" mySQL = mySQL & " Order By [رقم السند]" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Me.Masareef_From = rst![رقم السند] rst.MoveLast Me.Masareef_To = rst![رقم السند] 'سداد mySQL = "Select [رقم السند]" mySQL = mySQL & " From السندات" mySQL = mySQL & " Where [نوع السند]='سداد'" mySQL = mySQL & " And التاريخ>=#" & Me.n1 & "#" mySQL = mySQL & " And التاريخ<=#" & Me.n2 & "#" mySQL = mySQL & " Order By [رقم السند]" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount Me.Sadad_From = rst![رقم السند] rst.MoveLast Me.Sadad_To = rst![رقم السند] rst.close: Set rst = Nothing End Sub جعفر 688.لازام نطوره.mdb.zip أخي ابو عبد الله انا فكرت في طريقتك ، وبهذه الطريقة يجب علينا زيارة الجدول مرتين لكل نوع من انواع السجلات ، وعندنا اربع سجلات ، فمعناه عندنا 8 زيارات للجدول لأخذ القيم المطلوبة ، ولكنك تأتي بمعلومة واحدة كل مرة بينما الطريقة التي عملتها انا تقوم بـ 4 زيارات فقط ، ولكنها تأتي ببيانات اكثر من بياناتك ، ثم نصفيها والطريقة الافضل هي ان لا نقوم بأي زيارة للجدول ، فالبيانات موجودة في النموذج الفرعي ، وما علينا إلا ان نستخرجها منها جعفر
-
وعليكم السلام أخي وضاح اعطنا مثال لوسمحت بارقام من قاعدة بياناتك جعفر
-
مشكلة في عمود تحرير وسرد داخل مربع قائمة
jjafferr replied to عبد الله قدور's topic in قسم الأكسيس Access
وعليكم السلام اخي عبدالله انا اعتذر منك ، فلم افهم المطلوب ، وياريت مثال توضيحي جعفر -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
jjafferr replied to sandanet's topic in قسم الأكسيس Access
السلام عليكم شباب انا ساكت واستمتع بالتطورات ، لكن مخي يمخخ وراح بعيد لكيفية الاستفادة من هذه الخطوة مادمتم قد قطعتوا المشوار في هذا الطريق البديع (شكرا أخي أوس على الفكرة والكود ، ابو عبدالله وشفان على تعديل الكود) ، فبدل ان ابدأ من البداية ، سوف اضع امامكم الفكرة اللي على بالي ، راجيا منكم بلورتها برمجيا خلينا نتوسع في الفكرة شوي ، لتشمل احتياجات المبرمج ، فاللي على بالي هو: 1. البرنامج يدخل على مجلد معين في الموقع (وحاليا كلامنا عن Google Drive) (كما هو الحال الآن) ، ويكون فيه ملف نص txt او xml ، ويُنزل هذا الملف ، 2. هذا الملف يكون فيه اسماء برامجي ، ورقم النسخة الموجودة ، واسم مجلد الموقع الذي فيه هذه البرامج (مجلد آخر في Google Drive ، يعني اعمل مجلد لكل برنامج من برامجي) ، (طبعا نستطيع ان نضيف تاريخ من ، تاريخ الى ، نوع البرنامج: Full او Demo او Activation ، و....) ، والنص يكون هكذا مثلا : Enquiry_Book,2.0,0B9STtJY2DhAoQ1JET3F5N3NiMDQ myAccounting,1.5,0B9STtJY2DhAoQ1JET3F5N3Nuwiu Archiving_Goods,5.23,0B9STtJY2DhAoQ1JET3F5Nlujhft 3. البرنامج يُنزل هذا الملف ويقرأه ، ويقارن نسخة البرنامج (سيكون هناك جدول خاص في البرنامج ، وبه رقم نسخة البرنامج) ، 4. البرنامج سيقارن رقم النسخة من الجدول ، مع رقم نسخة البرنامج الموجودة في ملف النص ، 5. اذا كان رقم النسخة الموجودة في الملف/الموقع اكبر من النسخة الموجودة في البرنامج ، فيعطي رسالة للمستخدم بأنه هناك نسخة احدث للبرنامج ، وسيقوم بإنزالها وتنصيبها ، 6. البرنامج سيقوم بإستخدام نفس الكود اعلاه (طبعا مع تغييرات بسيطة اذا دعى الامر ، او نجعل الكود كوحدة نمطية نستطيع استعمالها لإنزال مختلف الملفات من الموقع) ، ويُنزل البرنامج. بهذه الطريقة المبرمج يستطيع ان يُحدث برامجه عالميا ، وبدون الذهاب الى مكتب المستخدم مجرد فكرة جعفر -
اخي طارق شو الفرق بين هذا الموضوع ، وهذا صحيح العنوان غير ، ولكن المطلوب وحتى المرفق هو نفسه!! جعفر
-
حياك الله اخي طارق يمكنك جلب بيانات الاكسل الى الاكسس ، ثم القيام بالعمل مثل ما عملته لك ، اذا تلاحظ في الاستعلام ، فانا كررت نفس العملية لجميع الحقول ، فجرب القيام بذلك ، واذا صادفتك مشكلة ، فانشاءالله تجد المساعدة منا جعفر
-
عفوا هل انزلت المرفق في مشاركتي الاخيرة؟
-
وعليكم السلام تفضل الاشارة " يمكن الاشارة اليها برقمها ، والذي هو (chr(34 وهذا لباقي ارقام وحروف الكمبيوتر: http://www.asciitable.com/ فعليه ، نستخدم الامر Replace لإزالة هذه الاشارات ، هكذا: Field1: Replace([Field_xyz],chr(34),"") والنتيجة جعفر 687.tarek.accdb.zip
-
الكود مافيه شيء 1. هذا معناه ان الواجهة ليست متصلة دائما بالجداول ، وانما يتم الاتصال وقت حفظ البيانات ، اذا كان هذا صحيح ، فالافضل ان يكون عندك من بداية تشغيل البرنامج نموذج مخفي فيه بيانات من جدول , ويمكن ان يكون جدول فيه اسم/رقم البرنامج فقط ، المهم ان يكون الاتصال بين الواجهة والخلفية مستمر وغير منقطع من بداية تشغيل البرنامج ، 2. ولو انه سؤال سخيف ، هل برنامجك على نفس القرص الذي عليه نظام السيرفر؟ من المهم جدا ان لا تضع قاعدة بياناتك في القرص الذي عليه نظام الكمبيوتر، الوندوز ، سواء على السيرفر او على اي كمبيوتر آخر ، نعم انا قلت قرص ولم اقل partition ، يعني اذا القرص فيه C و D و E ، فلا تضع البرنامج على اي واحد منهم ، وانما ضعه على قرص آخر ليش؟ لاحظ الكمبيوتر او اللابتوب ، وبدون ان تشتغل عليه ، تلقى ضوء القرص دائما يولع وينطفئ ، هذا معناه ان نظام الكمبيوتر ، الوندوز ، يقوم بالعديد من الاعمال في الخلفية ، واذا النظام اعطى امر لتعديل شيء معين فيه ، وفي نفس الوقت قمت انت بطلب شيء معين في قاعدة بياناتك (مثل استعلام او حفظ بيانات او ...) ، ولآن النظام وبرنامجك على نفس القرص ، فالكمبيوتر سيجعل برنامجك ينتظر الى ان ينتهي من امر النظام ، بينما اذا كان برنامجك في قرص مستقل ، فـ CPU سيعطي الامر لكل قرص لعمل اوامره الخاصة به 3. تأكد ان الحقول التي فيها معيار في الاستعلام او في النموذج ، تأكد انها مفهرسة في الجدول ، فالفهرسة تجعل حجم البرنامج اكبر شوي ، ولكنها تجعل التعامل مع بيانات الجدول اسرع الاشياء اللي قلتها: ضغط واصلاح BE و FE ، مكان وجود البرنامج على القرص ، والفهرسة ، هذه جميعا لي تجارب معاها جعفر
-
تفضل ويجب فتح التقرير من النموذج. وللعلم ، برنامجك لا يوجد فيه إلا اسم واحد فقط. جعفر 680.الاجازات - Copy.accdb.zip
-
-
وعليكم السلام تفضل ، ضع هذا الكود على زر التعديل في النموذج الفرعي: Me.Parent.الاسم = Me.Phone Me.Parent.مربع_تحرير_وسرد65 = Me.Country Me.Parent.الادارة = Me.City ولكن: اسماء الحقول في النموذج الرئيسي والنموذج الفرعي ، ماشاءالله تفتح النفس للخطأ فنصيحتي ان تعدل فيهم مادام البرنامج في اوله جعفر
-
وعليكم السلام 1. اعمل ضغط واصلاح لبرنامج البيانات BE ، وكذلك لبرنامج الواجهة FE ، 2. واذا حبيت ، خلينا نشوف الكود ، واللي ممكن نتوصل الى شيء يفيدك. جعفر
-
السلام عليكم وتكملة لإجابة أخي أبو عبدالله في صفحة كود الاكسس ، اعمل بحث لكلمة KeyCode ، وسترى اسماء حروف التي على الكيبورد ، مثل (وهذه نسخة من مساعد الاكسس) : vbKeyEscape vbKeySpace vbKeyPageUp vbKeyPageDown ... normal keys: vbKeyA vbKeyB vbKey8 vbKey9 ... numeric keypad: vbKeyDecimal vbKeyDivide ... function keys: vbKeyF10 vbKeyF11 . والرابط التالي يعطيك اسم الزر ورقمه: https://msdn.microsoft.com/en-us/library/0z084th3(v=vs.90).aspx والآن ، وفي الاكسس ابحث عن Form_KeyDown ، وسترى كود مشابه وعليه ، لتعطيل اي زر ، نستعمل رقمه ، كما ذكره اخي ابو عبدالله ، او كما هو في الاكسس ، هكذا Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF11 KeyCode = 0 Case 16 'vbKeyShify KeyCode = 0 End Select End Sub . والآن الى الشيء الاهم: لما نكون في النموذج ، ونكون نكتب معلومة في حقل نص/مذكرة ، ولا نريد من المستخدم كتابة اشارة التقسيم "/" مثلا ، لذا يجب ان يصطاد النموذج هذا الزر قبل ان يدخل في النص ، لذا يجب عليك ان تعدل في اعدادت النموذج وتجعل اعداد KeyPreview=Yes . او تستعمل حدث تحميل النموذج ، وتضع عليه كود التفعيل اعلاه: Private Sub Form_Load() Me.KeyPreview = True End Sub جعفر
-
تستطيع ان تستعمل الكود الذي اعطيتك في آخر مشاركة ، مع إضافة حقل Auto_Date في الجدول (كما اشرت له سابقا) ، بحيث تحصل على ارقام تسلسل لكل سنه بصيغة 1 2 3 ... 100 101 جعفر
-
وعليكم السلام سؤال: 1. هل قصدك ان الرقم المسلسل يبدأ من اليوم الى ما لا نهاية من السنوات ، او 2. الرقم المسلسل يبدأ سنويا؟ اذا جوابك كان رقم 2 ، فيجب وجود حقل في الجدول فيه معلومة عن تاريخ ادخال السجل ، وانا دائما يكون عندي حقلين في جميع الجداول اللي اعملها: Auto_ID : ترقيم تلقائي ، Auto_Date : نوع تاريخ ، ونضع القيمة الافتراضية التالية في الجدول: Now بهذه الطريقة ، يكون كود الترقيم: If Len(Me.Seq & "") <> 0 Then Exit Sub Me.Seq = Nz(DMax("[Seq]", "tb1", "year([Auto_Date])=" & Year(Now)), 0) + 1 جعفر 679.1.ترقيم جديد كل سنة جديدة وبجداول جديدة.accdb.zip
-
طلب كود حذف الحروف والمسافات والإبقاء على الأرقام فقط
jjafferr replied to حامل المسك's topic in قسم الأكسيس Access
السلام عليكم بما ان أخي شفان جاء بكود اخونا أبو ابراهيم الغامدي ، فاليك التغيير المطلوب لحل مشكلتك: Function GetNumbersOnly(SText) Dim Numbers if len(SText & "")=0 then GetNumbersOnly="" exit function end if For i = 1 To Len(SText) If IsNumeric(Mid(SText, i, 1)) Then Numbers = Numbers & Mid(SText, i, 1) End If Next GetNumbersOnly = Trim(Numbers) End Function جعفر -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
jjafferr replied to sandanet's topic in قسم الأكسيس Access
السلام عليكم شباب أخي أوس ، خلينا من اللف والدوران ، والاشارة بين الروابط إذن الفكرة ان كل يرنامج سيكون لديه الصلاحية في الدخول لهذه الصفحة وانزال البرنامج المرفق فيها ، بغض النظر عن الرابط ، اذا الجواب نعم ، ضع برنامجك في موقع معين ، واعطنا صلاحية تغيير الملف ، وخلينا نجرب عليه جعفر -
وعليكم السلام شوف الرابط التالي ، قد يفيدك جعفر
-
أخي محمد المفروض ان تختار الجواب الاصح ، كأفضل مشاركة ، ولا تختار مشاركتك!! ولقد سبق ان قمت بنفس الشيء في مشاركة سابقة ايضا جعفر
-
وعليكم السلام رجاء النظر في المرحلة الاولى من التقرير . وهو عبارة عن تقرير رئيسي وفيه تقرير فرعي ، الآن يجب عليك عمل تقريرين فرعين (حسب شكل الصورة التي ارفقتها) ، واهم شيء في هذين التقريرين هو عمل الاستعلام الذي سيأتيك بالمعلومات ، فيجب عمل معيار حسب السنوات التي تريدها ونصيحة: اعمل اول تقرير فرعي ، وضعه في التقرير الرئيسي ، ولما يكون كل شيء تمام ، اعمل نسخة منه للتقرير الثاني ، ونسخة من الاستعلام ، ثم قم بتغيير معيار الاستعلام ليتلائم مع طلبك ، ثم ضعه في التقرير الرئيسي جعفر 680.الاجازات - Copy.accdb.zip
-
الرابط يعطيك احد الاسباب جعفر
-
توجيه الرقم من قارئ الباركود أو غيره إلى محله في النموذج
jjafferr replied to حامد عبد الكريم's topic in قسم الأكسيس Access
تفضل if left(me.activecontrol,1)="*" and right(me.activecontrol,1)="*" then me.Barcode_Field_Name = me.activecontrol cancel=true exit sub endif جعفر -
توجيه الرقم من قارئ الباركود أو غيره إلى محله في النموذج
jjafferr replied to حامد عبد الكريم's topic in قسم الأكسيس Access
شكرا اخي حامد ، عندما تُدخل رقم/حرف/اشارة/رمز في الكمبيوتر ، فهي قيمة تراها انت ، ولكن الكمبيوتر يرى هذه الارقام ، وكنت اتمنى ان ارى رقم (رقم + انتر) ، ولكنه ليس هناك في هذه الحالة الافضل لك ان جعفر