-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم أخي علاء ، المنتدى مليء بمثل هذا السؤال ، وكل ما عليك عمله هو استخدام خاصية البحث ، قواعد المشاركة فى الموقع اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة و بصفة خاصة نؤكدعلى ما يلي 1- يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية و يرجى الابلاغ عن المشاركات المخالفة من خلال زر تقرير اسفل المشاركة 2-يجب استخدام خاصيةالبحث قبل طرح السؤال توفيرا للوقت و الجهد. 3-ضرورة كتابة عنوان واضح للموضوع يدل على محتواه ويعطي وصفاً مختصرا للسؤال. 4-ممنوع منعا باتاً كتابة عناوين سينمائية مثل عاجل ، نداء الي فلان ، الي الخبراء ، طلب مساعدة ، أريد حلا..... 5-يمكن استعجال الرد باستخدام تعبير -للرفع- و غير مسموح بالالحاح او اللوم فجميع الاعضاء يشاركون تطوعا طبقا لسعة وقتهم. ومخالفة ذلك تعرض الموضوع للحذف واليك بعض هذه المواضيع: https://www.officena.net/ib/topic/43015-استخراج-تاريخ-الميلاد-من-الرقم-القومي-عنوان-معدل/?do=findComment&comment=247938 https://www.officena.net/ib/topic/49846-طريقة-كتابة-الرقم-القومي/?do=findComment&comment=304211 https://www.officena.net/ib/topic/73911-إستخراج-تاريخ-الميلاد-والسن-والنوع-من-الرقم-القومي/?do=findComment&comment=475682 https://www.officena.net/ib/topic/62992-استخراج-تاريخ-من-الرقم-القومي/?do=findComment&comment=409130 وهذا البحث يعطيك جميع المواضيع التي تخص الاكسس https://www.google.com/search?biw=1400&bih=870&ei=ugIfWp7dC8qza6a5m9AG&q=-excel+access+"الرقم+القومى"+site%3Awww.officena.net&oq=-excel+access+"الرقم+القومى"+site%3Awww.officena.net&gs_l=psy-ab.3...18076.24409.0.25876.0.0.0.0.0.0.0.0..0.0....0...1.1.64.psy-ab..0.0.0....0.ngMmP-xMScE جعفر
-
هذه هي الطريقة الصحيحة ، ولم يتوقف عندي الكود ، واكمل بالطريقة الصحيحة جعفر ششششش ، لا يسمعوك ويردون عليك
-
انت عملت موضوع جديد لسؤالك الجديد ، وهذه هي الطريقة الصحيحة ، حسب قوانين المنتدى جعفر
-
وهذه مشاركة كانت مع اخي شفان جعفر
-
السلام عليكم لم اعرف كيف اجعل برنامجك يفتح النموذج FormTest عند اختيار "فهرسة" ، الظاهر يجب ان تضيفه الى قائمة النماذج في احد جداولك ، وتعطيه الصلاحية جعفر 765.MyPRG.mdb.zip
-
الى الصباح خير ان شاء الله ، ولكن انزل هذا المرفق ، وفيه كل الكود اللي تريده ان شاء الله http://blog.nkadesign.com/wp-content/uploads/2008/05/DatabaseRestart.zip جعفر
-
وبعدين اذا ما تعرف ، اخوي شفان ما يسمح لي ان اعمل الاشياء الصغيرة البسيطة الله يسلمك هاي تقدر تعملها بالخطوات التالية: 1. احفظ الكود الطويل اللي في مشاركتي السابقة في وحدو نمطية ، 2. اكتب الكود التالي علشان يشغل الوحدة النمطية ويغلق البرنامج: call CompactDB docmd.quit والسلام جعفر
-
السلام عليكم اخي علي عدم وجود الاجابة لأن الموضوع مو بالسهولة ، وشيء لا يتم تداوله يوميا الجواب بإختصار وحسب قرآتي ، لا يمكن عمل الضغط والاصلاح على البرنامج الذي تعمل عليه. تحذير ، انا لم اجرب اي من هذه الطرق ، فرجاء التجربة على نسخة من برنامجك. هناك طريقتين لعمل الضغط والاصلاح على البرنامج الذي تعمل عليه: 1. كود يجعل البرنامج يضغط ويصلح عند اغلاق البرنامج: Application.SetOption "Auto compact", True او للإصدارات السابقة Dim control As Office.CommandBarControl Set control = CommandBars.FindControl( Id:=2071 ) control.accDoDefaultAction 2. كود : أ. يقوم بعمل برنامج صغير خارج برنامجك ، ب. هذا البرنامج الصغير فيه امر ان يقوم بعمل الضغط والاصلاح لبرنامجك ، ج. هذا البرنامج ينتظر 5-10 ثواني (حسب برمجتك) ، او يراقب الملف ldb. او laccdb. حتى اختفائه (هذا المرفق يغلق تلقائيا لما تغلق قاعدة بيانات الاكسس) ، وبعدها يصدر الامر اعلاه (ب) ، د. ثم الكود يغلق برنامجك مباشرة بعد عمل البرنامج الصغير ، هـ. وعندها يقوم البرنامج الصغير بالامر ، و. وتستطيع ان تطلب من البرنامج الصغير ان يفتح قاعدة البيانات عند انتهاء عمله: Public Function CompactDB() Dim strWindowTitle As String On Error GoTo err_Handler strWindowTitle = Application.Name & " - " & Left(Application.CurrentProject.Name, Len(Application.CurrentProject.Name) - 4) strTempDir = Environ("Temp") strScriptPath = strTempDir & "\compact.vbs" strCmd = "wscript " & """" & strScriptPath & """" Open strScriptPath For Output As #1 Print #1, "Set WshShell = WScript.CreateObject(""WScript.Shell"")" Print #1, "WScript.Sleep 1000" Print #1, "WshShell.AppActivate " & """" & strWindowTitle & """" Print #1, "WScript.Sleep 500" Print #1, "WshShell.SendKeys ""%yc""" Close #1 Shell strCmd, vbHide Exit Function err_Handler: MsgBox "Error " & Err.Number & ": " & Err.Description Close #1 End Function جعفر
-
نعم ، بالاضافة الى التغييرات الاخرى اللي ذكرتها لك في مشاركتي السابقة جعفر
-
السلام عليكم سيدي الفاضل ، انت اذكى من ان تطرح مثل هذا السؤال السهل ولكن صادفتك رسالة الخطأ "Query is too complex" ، والتي لم تستطع التغلب عليها ، والتي اخذت مني كل هذا الوقت تقريبا !! المشكلة كانت في حقل المجموع الاخير txtTotal !! انا عملت عملت الزر C04 ، فرجاء النظر في الكود الذي فيه ، واعمل الكود لبقية الازرار التغييرات التي عملتها في البرنامج: نقوم بتصفية بيانات الاستعلام qryDiscountReport عن طريق الحقل Transfer ، والذي يأخذ معلومته من الحقل المخفي iTransfer في النموذج FrmTransfer_Comptabilité . ولأننا قمنا بتصفية البيانات ، لذا فالاستعلام qry_rptD_0 يأتينا جاهزا بالبيانات المطلوبة فقط ، فعليه قمت بجمع قيمة الحقل TheSum منه الى الحقل txtTotal في التقرير. جعفر 766.تصفية.mdb.zip
-
وبعد قراءة السؤال مرة ثانية ، اتضح انك محتاج متوسط شخص واحد فقط ، لذا ، فإجابة اخي شفان تفي بالموضوع جعفر
-
السلام عليكم كنت محتاج غفوة شكرا اخي شفان ، ولكن اذا كان عندك اكثر من شخص ، فاستعلامك يعطيك اكبر 3 قيم لشخص واحد فقط هذه بيانات الجدولين: . استعملت الاستعلام التالي لنحصل على اكبر 3 نتائج لكل شخص: SELECT insert.idd, sub.reading FROM [insert] INNER JOIN sub ON insert.idd = sub.id WHERE (((sub.reading) In (SELECT TOP 3 sub.reading FROM sub WHERE sub.id=[insert].[idd] ORDER BY sub.reading DESC))); . وهذا شكله في التصميم . والنتيجة . ثم عملت استعلام تجميعي لنحصل على المتوسط . والنتيجة . جعفر 768.Database1.accdb.zip
-
رجاء ترفق الجداول حتى نعمل الاستعلام
-
يجب عمل استعلام وتربط فيه الجدولين ، ثم تجعل الاسم الحقل الاول والفرز تصاعدي Asc ، ثم تجلب الحقل المطلوب وتجعل الفرز تنازلي Desc جعفر
-
اخفاء حقل واحد بشرط فورم Continuous Forms
jjafferr replied to Ahmed.IQ's topic in قسم الأكسيس Access
-
شكرا اخي رعد ، ولكنك لم توضح ماهو المطلزب جعفر
-
وعليكم السلام اعمل الفرز للحقل المطلوب من الاكبر الى الاصغر Desc. جعفر
-
وعليكم السلام اخي كريمو ان شاء الله تكون في صحة وعافية ، صار لي زمان ما شفت لك مشاركة رجاء تخبرني الطريقة اللي اوصل للمكان المطلوب (لأن الظاهر ان المسميات العربية والانجليزية في سؤالك تداخلت ، وجعلت السؤال غير مفهوم) ، جعفر
-
الظاهر من الكود ان التسلسل تمام!! اعمل التالي: شوف الرابط التالي اللي بتدخل به داخل الكود ، واعمل النقطة رقم 1 على اول سطر عندك في الكود ، وشغل النموذج الى ان يجي التركيز على الزر ، عندها بينقلك البرنامج الى الكود ، والسطر اللي يكون باللون الاصفر ما بيكون البرنامج قد نفّذه ، فكل اللي عليك عمله هو الضغط على الزر F8 من لوحة المفاتيح كيبورد ، واللي بينتقل السطر الاصفر للسطر التالي حسب طلب الكود. المطلوب منك هو: انت تدري اي حقل يجب ان ينتقل اليه الكود ، ثم اي حقل تالي ، فأثناء متابعتك للكود ، لاحظه لما ينتقل الى سطر غلط في تسلسل حقول النموذج ، وعندها خلي مؤشر الفأرة على اسماء الحقول في الكود لتعرف قيمتها ، ومنها نتعرف وين المعادلة الخطأ. بهذه الطريقة تعرف وين المشكلة ، وبعدين تشوف شو طريقة حل المشكلة جعفر
-
اخفاء حقل واحد بشرط فورم Continuous Forms
jjafferr replied to Ahmed.IQ's topic in قسم الأكسيس Access
وعليكم السلام 1. بالنسبة للنموذج المستمر ، اي تغيير تعمله في حقل ، فسيغير الحقل في جميع السجلات ، لهذا السبب يجب عليك استعمال التنسيق المشروط Conditional Formating ، فيمكنك ان تغير لون الخط الى ابيض مثلا ، فيكون كأنه مخفي 2. في اعدادات النموذج ، اجعل Allow Additions = No جعفر -
وعليكم السلام أخوي كاسر واسعد الله ايامكم بهذا اليوم المبارك انا نظرت الى الكود وليس على طريقة عمله ، وشفت ان المشكلة انك ما رابط Else مع IF اللي خلفها ، فالمفروض ان الجمله تكون ElseIf مثل بقية الكود اللي فوق واللي بدون مشاكل ، وهذا مثال: فانت هنا ضيعت الكود ، وما اعطيته الطريقة الصحيحة لفحص الشرط If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Kinship].SetFocus Else If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service]) Then Forms![Forme_Fatora]![Forme_Visitors2]![service].SetFocus Else If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Travel].SetFocus Else If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary].SetFocus End If وهذا تعديل الكود من طرفي ، مع تعديل التنسيق ، حتى كل شيء يكون واضح ومرتب: Private Sub sav_GotFocus() If (IsNull(Me![Num_brnamge])) Then MsgBox "أدخل رقم الرحلة ", 48, "تـنـبـيـه !" Me.Num_brnamge.SetFocus ElseIf (IsNull(Me![PcDigtf])) Then MsgBox "أدخل رقم الزائر ", 48, "تـنـبـيـه !" Me.PcDigtf.SetFocus ElseIf (IsNull(Me![Fdate])) Then MsgBox "أدخل تاريخ الفاتورة ", 48, "تـنـبـيـه !" Me.Fdate.SetFocus ElseIf (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities] = "") Then MsgBox "أدخل الوضع !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities].SetFocus ElseIf (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![service])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![service] = "") Then MsgBox "أدخل الخدمة المطلوبة !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![service].SetFocus ElseIf (Forms![Forme_Fatora]![Forme_Visitors]![service] <= 5 _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![Travel])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![Travel] = "")) Then MsgBox "أدخل طريقة السفر !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![Travel].SetFocus ElseIf (Forms![Forme_Fatora]![Forme_Visitors]![service] <= 5 _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors]![Itinerary])) _ Or (Forms![Forme_Fatora]![Forme_Visitors]![Itinerary] = "")) Then MsgBox "أدخل خط سير الرحلة !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors].SetFocus Forms![Forme_Fatora]![Forme_Visitors]![Itinerary].SetFocus End If 'IsNull(Me![Num_brnamge] '"===== If DCount("[id_visitors2]", "Tabil_Visitors2", "[Id_fatora]=id") < 1 And _ ((Forms![Forme_Fatora]![Forme_Visitors]![Independent_Facilities])) = 2 Then MsgBox "أدخل المرافقين !!!", 48, "تـنـبـيـه !" Forms![Forme_Fatora]![Forme_Visitors2].SetFocus Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2].SetFocus '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 'ملاحظة 'من هنا تبدأ مشكلة تداخل الكود '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ElseIf Not (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2]) _ Or (Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2] = "")) Then On Error Resume Next Me.Forme_Visitors2.SetFocus On Error GoTo 0 DoCmd.GoToRecord , , acFirst For i = 0 To Me.Forme_Visitors2.Form.Recordset.RecordCount - 1 If Not (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![PcDigtv2])) _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship])) _ Or (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service])) _ Or (Forms![Forme_Fatora]![Forme_Visitors2]![service] <= 5) _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel])) _ Or (Forms![Forme_Fatora]![Forme_Visitors2]![service] <= 5) _ And (IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary])) Then MsgBox "أدخل هذا الحقل !!!", 48, "تـنـبـيـه !" If IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Kinship].SetFocus ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![service]) Then Forms![Forme_Fatora]![Forme_Visitors2]![service].SetFocus ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Travel]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Travel].SetFocus ElseIf IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary]) Then Forms![Forme_Fatora]![Forme_Visitors2]![Itinerary].SetFocus End If 'IsNull(Forms![Forme_Fatora]![Forme_Visitors2]![Kinship]) Exit Sub End If 'Not DoCmd.GoToRecord , , acNext Next i End If 'DCount جعفر
-
حياك الله ولكي يكتمل الكود ، يجب ان تفحص الجدول اذا كانت هذه القيمة تم اضافتها سابقا ، وإلا فسيكون عندك تكرار في سجلات الجدول 2 جعفر
-
-
تفضل هذا الكود يقوم بالعمل: Private Sub cmd_Do_Records_Click() Dim i As Integer Dim rst As dao.Recordset Set rst = CurrentDb.OpenRecordset("Select * From [2]") For i = Me.NumFrom To Me.NumTo rst.AddNew rst!ID = Me.ID rst![name] = Me!name rst!Numall = i rst![date] = Me.[date] rst.Update Next i rst.Close: Set rst = Nothing MsgBox "Done" End Sub جعفر 759.Database22.accdb.zip
-
وعليكم السلام انا اعرض عليك طريقة التصفح فقط اذا فهمت سؤالك صح ، فانت تريد مواضيع قسم الاكسس اللي في الموقع ، ابتدأ من الموضوع 1 الى 774 ، كل اللي عليك تعمله هو عمل سجلات من 1 الى 774 بهذه الطريقة (فقط تغير الرقم 20 بالرقم المطلوب) ، https://www.officena.net/ib/topic/20-؟ . وكود عمل هذه السجلات ممكن يكون هكذا: dim rst as dao.recordset set rst=currentdb.openrecordset("Select * From [اسم الجدول]") for i = 1 to 774 rst.addnew rst![اسم الحقل]="https://www.officena.net/ib/topic/" & i & "-?" rst.update next i rst.close:set rst=nothing . ويمكنك استخدام احد برامجي من الروابط التاليه ، وتطويعها لتصفح صفحات الموقع: . . . وشيخ البرامج اعلاه . جعفر