-
Posts
9998 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
هل انت متأكد ان لديك الصلاحية في شبكة الشركة بأن تحفظ الملفات؟ يبدو الامر له علاقة بشبكة الشركة وصلاحياتك (او صلاحيات المجلد الذي تحفظ الملف فيه) ، ولا علاقة له ببرنامج الاكسس جعفر
-
انت لم تجب على سؤالي جعفر
-
أخوي أبوفايز طريقتي مرنه وتشتغل على جميع النماذج الرئيسية والفرعية ، ومن الكود كذلك ونعم هناك طرق اخرى ان تنادي المعايير من عدة نماذج لإستعلام واحد ، مثلا: انا في معظم برامجي عندي نموذج واجهة البرنامج ، وهذا النموذج دائما مفتوح اثناء استعمال البرنامج (وطبعا تقدر تستخدم نموذج مخفي اذا اردت) ، فاللي ممكن ان تعمله هو ، ان تعمل حقول غير مضمنه في هذا النموذج (طبعا ستكون مخفيه) ، ثم ترسل قيمة المعايير الى هذه الحقول في نموذج الواجهة ، تغير معيار الاستعلام ، بحيث يشير الى هذه الحقول. جعفر
-
ولكن البرنامج الذي ارفقته انا لم يعالج هذه المشكلة ، بل انا شرحت لك الطريقة فقط ، وانت قمت بالتعديل على برنامجك على العموم ، جرب ان تحفظ الاستعلام بعد التعديل عليه ، وجرب ، ثم اغلق البرنامج ، وجرب ، فاذا ظهرت لك رسالة الخطأ ، انظر في قيمة الاستعلام هل تغيرت ام لا تزال كما كانت. وهناك سؤال آخر ، هل تقوم بعمل الاستعلام برمجيا في الكود؟ جعفر
-
نعم صحيح ، في النسخة الاولى من اكسس 2007 ، الضغط والاصلاح كان يتلف قاعدة البيانات ، واصلحت مايكروسوفت الوضع بإصدار تحديثات له (ولكن وللأسف الشديد ، هناك مستخدمين يستعملون البرنامج الاصلي ، وبدون اي تحديثات له طول العمر!! فلذلك ، ولهذه النسخ بالذات ، كلامك صحيح 100%) ، بس ما دمنا نتكلم عن التحديثات ، احب ان أضيف هذه المعلومة: اول تحديث للأكسس 2000 ، كان يحتوي على اكثر من 300 تصليح/إضافة. لهذا السبب ، التحديث غاية في الاهمية ، سواء لنظام التشغيل الوندوز او الاوفيس. تم استدعائي لأحد الدول لأنظر في مشكلة برنامجهم الذي كان به بعض المشاكل ، ومن ضمن هذه المشاكل فقد جزء من البيانات ، الكهرباء كانت تنقطع ولم تكن منتظمة ، وقد كانت الشبكة عندهم عبارة عن كمبيوترات لابتوب ، والسيرفر عليه UPS ، فالمبرمج الذي عمل البرنامج والشبكة لهم اخذ في الاعتبار مشكلة عدم انتظام الكهرباء بهذه الطريقة ، ولكني اكتشفت المشكلة ، والتي كانت بسبب انقطاع الكهرباء ، وهي ان المبرمج لم يضع UPS على Switch الشبكة ، فتواصل البيانات ينقطع بين الكمبيوترات والسيرفر عند انقطاع الكهرباء ، وتم حل المشكلة بربط الـ Switch بجهاز UPS اذن في هذه الحالة ، نستطيع ان نعمل التالي: 1. بأمر من الاكسس ، نعمل نسخة إضافية من برنامج الجداول ، 2. نتأكد ان نسخة برنامج الجداول موجوده ، 3. وبأمر آخر نعمل الاصلاح والتعديل ، فاذا لأي سبب تلفت هذه النسخة ، فنستطيع استعمال النسخة الاحتياط. طبعا انا هنا اعطيت البديلبسبب انقطاع الكهرباء جعفر جعفر
-
السلام عليكم أخي أبوخليل ، وحيا الله من يانا ممكن تشاركنا تجربتك لوسمحت انا كنت بقترح ان يتم تقسيم البرنامج الى واجهة وجداول ، ثم يتم تفعيل خاصية الضغط على جزء الجداول. جعفر
-
وعليكم السلام ورحمة الله وبركاته لا يؤثر ، اذا كان البرنامج مقسم ، فجزء الواجهة عادة لا يحتاج الى ضغط واصلاح ، إلا اذا كنت تستخدم الجداول المؤقته فيه ، اما جزء الجداول فيحتاج ، بين فترة واخرى ، بل يعمل عدة عمليات لتعديل وضع الجداول واعادة فهرستها ، وتضبيط الاستعلامات ، والتخلص من السجلات المحذوفة (لأنك لما تحذف سجلات ، الاكسس لا يحذفها مباشرة من البرنامج ، وانما الضغط والاصلاح يحذفها ويسترجع المساحة التي كانت تحتجزه) ولكن قرأت في اوائل اصدارات الاكسس 2007 ، واذا كان برنامجك مقسم الى واجهة وجداول مرتبطة ، كان الضغط والاصلاح يحذف ربط الجداول جعفر
-
حل مشكلة تكرار الاسم في تقرير الدفعات المسددة
jjafferr replied to omarahmed1424's topic in قسم الأكسيس Access
ايوه ، كدا الفن إلا بلاش جعفر -
المساعدة في جمع الدقائق حسب الشهر للموظف
jjafferr replied to حربي العنزي's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته جميعا ان شاء الله جعفر -
مساعدة فى حل مشكلة رسالة خطأ 3048 cannot open more anyy data
jjafferr replied to رجب صالح's topic in قسم الأكسيس Access
قد تحتاج الى مجموعة استعلامات الحاقية صغيرة ، بدلا عن استعلام واحد لا يعمل البارحة انا انزلت مرفقك ، ولكنك للأسف اعطيت خطوط عريضة عن مشكلتك ولم تدخل في اين المشكلة بالضبط ، وحتى اسم التقرير اللي ذكرته انت هو بالعربي ، بينما مسميات برنامجك بالانجليزي!! جعفر -
حل مشكلة تكرار الاسم في تقرير الدفعات المسددة
jjafferr replied to omarahmed1424's topic in قسم الأكسيس Access
مرفقك مافيه تقرير!! -
مساعدة فى حل مشكلة رسالة خطأ 3048 cannot open more anyy data
jjafferr replied to رجب صالح's topic in قسم الأكسيس Access
السلام عليكم اذا كان عندك مجموعة استعلامات توحيدية ، فاحد الطرق للتغلب على مشاكلها هو ان تعمل جدول مؤقت ، وتضيف السجلات ، ثم تستخدمه للتقرير ، ولكن انتبه لشغله مهمة وهي ، لأن برنامجك مقسم ، ويستخدمه اكثر من مستخدم ، فاجعل هذا الجدول المؤقت في نسخة البرنامج الاصلي (الواجهة ، وليس في مع بقية الجداول المرتبطة) ، وإلا فستحصل لخبطة بين سجلات المستخدمين جعفر -
انا اشتغلت على هذا الموضوع ، ويمكنك ان تلاحظ فرق الوقت بين وقتك ووقتي اشوف لك النقطة التالية ، لأن عندك مجموعة نقاط في موضوع واحد ، وهذا اربكك انت كذلك ، لذلك المنتدى يطلب عمل موضوع مستقل لكل نقطة جعفر
-
اظهار و اخفاء صور فى تقرير بناء على قيمة حقل معين
jjafferr replied to helmy_foad's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته تفضل وهذا الكود الذي يقوم بالمهمة: Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer) If Me.eat = 1 Then Me.Image13.Visible = True Me.Image14.Visible = False ElseIf Me.eat = 2 Then Me.Image13.Visible = False Me.Image14.Visible = True ElseIf Me.eat = 3 Then Me.Image13.Visible = True Me.Image14.Visible = True Else Me.Image13.Visible = False Me.Image14.Visible = False End If End Sub جعفر 284.New Microsoft Access Database.accdb.zip -
حل مشكلة تكرار الاسم في تقرير الدفعات المسددة
jjafferr replied to omarahmed1424's topic in قسم الأكسيس Access
عليكم السلام افتح التقرير ، ثم اتبع الخطوات في الصورة المرفقة ستلاحظ وجود تغيير في رؤوس التقرير ، العب في مكان "اسم العميل" (طبعا المسمى عندك مختلف) ، وانقل حقل نص الاسم الى الرأس الصحيح ، وكله تمام جعفر -
وعليكم السلام ورحمة الله وبركاته تفضل يا سيدي وبدون استعلام توحيد وتتمة لما قد تحتاجه ، انظر الرابط التالي ، والذي استعنت به لبرنامجك ، وتابعه للنهاية: http://www.officena.net/ib/topic/65067-ما-هي-طريقة-استيراد-بيانات-من-عدة-صفحات-اكسل-الى-جدول-اكسس/?do=findComment&comment=423911 جعفر 283.Import_Names_List.accdb.zip
-
المساعدة في جمع الدقائق حسب الشهر للموظف
jjafferr replied to حربي العنزي's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته تفضل وهذا كود حدث الحالي للنموذج form1 ، والذي عليه قمت بعملية قراءة النموذج الفرعي: Private Sub Form_Current() On Error GoTo err_Form_Current Me.aa1 = Nz(Int(Me![Text31] / 60), 0) Me.gg = Nz(Int(Me![aa1] / 7), 0) Dim rst As DAO.Recordset Set rst = Me.frm2.Form.RecordsetClone rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC If Len(rst!datee & "") <> 0 Then If Month(rst!datee) = 1 Then t1 = t1 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 2 Then t2 = t2 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 3 Then t3 = t3 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 4 Then t4 = t4 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 5 Then t5 = t5 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 6 Then t6 = t6 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 7 Then t7 = t7 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 8 Then t8 = t8 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 9 Then t9 = t9 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 10 Then t10 = t10 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 11 Then t11 = t11 + DateDiff("n", rst![hg1], rst![hg2]) If Month(rst!datee) = 12 Then t12 = t12 + DateDiff("n", rst![hg1], rst![hg2]) End If rst.MoveNext Next i ' ' we get a write conflict when using this method!! ' rst.MoveLast: rst.MoveFirst ' For i = 1 To RC ' If Len(rst!datee & "") <> 0 Then ' rst.Edit ' If Month(rst!datee) = 1 Then rst!DateSum = t1 ' If Month(rst!datee) = 2 Then rst!DateSum = t2 ' If Month(rst!datee) = 3 Then rst!DateSum = t3 ' If Month(rst!datee) = 4 Then rst!DateSum = t4 ' If Month(rst!datee) = 5 Then rst!DateSum = t5 ' If Month(rst!datee) = 6 Then rst!DateSum = t6 ' If Month(rst!datee) = 7 Then rst!DateSum = t7 ' If Month(rst!datee) = 8 Then rst!DateSum = t8 ' If Month(rst!datee) = 9 Then rst!DateSum = t9 ' If Month(rst!datee) = 10 Then rst!DateSum = t10 ' If Month(rst!datee) = 11 Then rst!DateSum = t11 ' If Month(rst!datee) = 12 Then rst!DateSum = t12 ' rst.Update ' End If ' rst.MoveNext ' Next i ' Forms!form1!frm2.SetFocus Forms!form1!frm2.Form.GoToFirstRecord For i = 1 To RC If Len(Forms!form1!frm2!datee & "") <> 0 Then If Month(Forms!form1!frm2!datee) = 1 Then Forms!form1!frm2!DateSum = t1 If Month(Forms!form1!frm2!datee) = 2 Then Forms!form1!frm2!DateSum = t2 If Month(Forms!form1!frm2!datee) = 3 Then Forms!form1!frm2!DateSum = t3 If Month(Forms!form1!frm2!datee) = 4 Then Forms!form1!frm2!DateSum = t4 If Month(Forms!form1!frm2!datee) = 5 Then Forms!form1!frm2!DateSum = t5 If Month(Forms!form1!frm2!datee) = 6 Then Forms!form1!frm2!DateSum = t6 If Month(Forms!form1!frm2!datee) = 7 Then Forms!form1!frm2!DateSum = t7 If Month(Forms!form1!frm2!datee) = 8 Then Forms!form1!frm2!DateSum = t8 If Month(Forms!form1!frm2!datee) = 9 Then Forms!form1!frm2!DateSum = t9 If Month(Forms!form1!frm2!datee) = 10 Then Forms!form1!frm2!DateSum = t10 If Month(Forms!form1!frm2!datee) = 11 Then Forms!form1!frm2!DateSum = t11 If Month(Forms!form1!frm2!datee) = 12 Then Forms!form1!frm2!DateSum = t12 End If Forms!form1!frm2.Form.GoToNextRecord Next i Forms!form1!frm2.Form.GoToFirstRecord Exit Sub err_Form_Current: If Err.Number = 94 Then 'null Resume Next ElseIf Err.Number = 3021 Then 'No Records Exit Sub Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub وفي النموذج الفرعي ، نتحكم في التنقل بين السجلات: Public Sub GoToFirstRecord() Me.datee.SetFocus 'Go to the first record in the subform. DoCmd.GoToRecord , , acFirst End Sub Public Sub GoToNextRecord() Me.datee.SetFocus 'Go to the next record in the subform. DoCmd.GoToRecord , , acNext End Sub Public Sub GoToLastRecord() Me.datee.SetFocus 'Go to the last record in the subform. DoCmd.GoToRecord , , acLast End Sub جعفر 282.za-Time6.12-UP1.mdb.zip -
ما هي طريقة استيراد بيانات من عدة صفحات اكسل الى جدول اكسس
jjafferr replied to jandbi's topic in قسم الأكسيس Access
تفضل 275.2.ImportDegrees.accdb.zip -
إظهار اسم المستخدم في النماذج (عنوان معدل)
jjafferr replied to bakoraus's topic in قسم الأكسيس Access
وعليكم السلام تستطيع ان تستعمل طريقتي: http://www.officena.net/ib/topic/65095-كيفية-ادخال-اسم-المستخدم-في-عامود-بجدول-تلقائيا/#comment-423739 جعفر -
جرب هذا المرفق ، وفيه حساب ساعات العمل ، لكل الايام بس اذا تريد ان لا تتكرر الاسماء ، فيجب ان: 1. تحول الاستعلام الى استعلام مجاميع ، 2. جعل التاريخ معيار بين تاريخين ، ويمكنك استخدام نموذج لإختيار التاريخين جعفر 280.2.New.accdb.zip
-
وعليكم السلام هذه طريقتي : http://www.officena.net/ib/topic/65095-كيفية-ادخال-اسم-المستخدم-في-عامود-بجدول-تلقائيا/?do=findComment&comment=423739 جعفر
-
وعليكم السلام أخي كرار من متابعتي لردودك في المنتدى ، كان يجب علي ان افهم انك جربت تغيير الكود المطلوب واصطدمت بهذه الرسالة ، وتوقفت عندها : وافضل طريقة للتغلب عليها ، ان ترجع الكرة الى ملعبي السبب في حصولك هذه الرسالة ، هو ان لديك معايير 3 في الاستعلام sh11 والذي يعتمد عليه الاستعلام sh . طيب ، اذا الاستعلام sh11 يستطيع ان يقرأ المعايير من النموذج ee ، فلماذا لا يستطيع الكود ان يقرأه!! والجواب ان الاكسس عبارة عن اكثر من برنامج مرتبطه ببعضها ، فمنها الـ jet والذي الان يسمى Ace من الاصدار 2007 ، وهو مسئول عن الاستعلامات وبقية امور الاكسس ، ومنها الاكسس شخصيا ، وكود VBA جزء منه ، والبرنامجين ، صحيح انهم مرتبطين ، ولكن هناك بعض الامور التي لا يتفاهمون عليها مباشرة ، بل يجب عمل وسيط بينهم ، وحل هذه الرسالة هي احد الاشياء اللي محتاجة وسيط كود اصطياد الخطأ ، في الكود المرفق ، هو حلقة الوصل ، واخذ مني الوقت الطويل لتضبيطه ليتلائم مع برمامجك ، فاعتذر عن التأخر على الرد عليك Private Sub cmd_Combine_Click() On Error GoTo err_cmd_Combine_Click 'delete the old data mySQL = "Delete * From tbl_PP" CurrentDb.Execute (mySQL) Dim rstpp As DAO.Recordset Dim rst As DAO.Recordset Dim strSql As String Set rstpp = CurrentDb.OpenRecordset("Select * From tbl_PP") '1 'j Set rst = CurrentDb.OpenRecordset("Select * From sh Order By tash") 'j2 Set rst = CurrentDb.OpenRecordset("Select * From tb_sh Order By [تاريخ الوصل]") strSql = "Select * From sh Order By [تاريخ الوصل]" Set rst = CurrentDb.OpenRecordset(strSql) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'add all the records For i = 1 To RC rstpp.AddNew 'j rstpp!iDate = rst!tash 'j rstpp!Purchase = rst!mbsh rstpp!iDate = rst![تاريخ الوصل] rstpp!Purchase = rst!mb rstpp.Update rst.MoveNext Next i '2 'j Set rst = CurrentDb.OpenRecordset("Select * From ts Order By tats") 'j2 Set rst = CurrentDb.OpenRecordset("Select * From tb_ts Order By [تاريخ]") strSql = "Select * From ts Order By [تاريخ]" Set rst = CurrentDb.OpenRecordset(strSql) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount 'we should check if the date is available, then we should use it For i = 1 To RC 'j rstpp.FindFirst "iDate=#" & rst!tats & "#" rstpp.FindFirst "iDate=#" & rst![تاريخ] & "#" If rstpp.NoMatch Then rstpp.AddNew 'j rstpp!iDate = rst!tats 'j rstpp!Payment = rst!mbts rstpp!iDate = rst![تاريخ] rstpp!Payment = rst!mblk rstpp.Update Else rstpp.Edit 'rstpp!iDate = rst!tats 'j rstpp!Payment = rst!mbts rstpp!Payment = rst!mblk rstpp.Update End If rst.MoveNext Next i rstpp.Close: Set rstpp = Nothing rst.Close: Set rst = Nothing DoCmd.OpenTable "tbl_pp" Exit Sub err_cmd_Combine_Click: If Err.Number = 3061 Then 'too few parameters, expected 1 or more 'this error occurs when trying to run a query which needs its parameters from a Form, 'the Form should be open with the parameter, then this code take the values properly Dim qdf As QueryDef Dim prm As Parameter 'Set qdf = CurrentDb.QueryDefs("strSql") Set qdf = CurrentDb.CreateQueryDef("NewQueryDef", strSql) For Each prm In qdf.Parameters prm.Value = Eval(prm.Name) Next prm Set rst = qdf.OpenRecordset(dbOpenDynaset) DoCmd.DeleteObject acQuery, "NewQueryDef" Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 231.1.New .accdb.zip
-
استفسار بشان تغيير المقاسات بالسنتيمتر بدلا من البوصة
jjafferr replied to محمد سلامة's topic in قسم الأكسيس Access