-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم اخي BFS 1. تم نقل سؤالك كموضوع مستقل في قسم الاكسس (كما اشار عليك الاخ محمد ايمن ، شكرا اخي محمد) ، هنا https://www.officena.net/ib/topic/73627-بحث-بالحرف-الابجدى/ 2. قوانين المنتدى لا تسمح بوضع اكثر موضوع لنفس السؤال. جعفر
-
السلام عليكم تم نقل السؤال هنا كموضوع مستقل جعفر
-
مطلوب كود تحويل جدول اكسيس الى ملف اكسيل
jjafferr replied to safwat Maher's topic in قسم الأكسيس Access
وعليكم السلام احنا لما نسمع واحد يتأوه ، نقول له: بسم الله عليك حياك الله جعفر -
كيفيه استيراد جدول من موقع الي قاعده البيانات
jjafferr replied to احمد سيد المتر's topic in قسم الأكسيس Access
وعليكم السلام أخي محمد ، وكان لكم وحشة جعفر -
كيفيه استيراد جدول من موقع الي قاعده البيانات
jjafferr replied to احمد سيد المتر's topic in قسم الأكسيس Access
وعليكم السلام هذه امثلة عن الطريقة: http://arabteam2000-forum.com/index.php?/topic/282771-استيراد-البيانات-من-صفحة-ويب/ و http://arabteam2000-forum.com/index.php?/topic/243087-استيراد-البيانات-من-النت-إلى-قاعدة-أكسس/ وطبعا لازم تشمر عن ساعديك وتدخل فيها بالمليان جعفر -
مطلوب كود تحويل جدول اكسيس الى ملف اكسيل
jjafferr replied to safwat Maher's topic in قسم الأكسيس Access
وتفضل هذا نموذج جاهز ، فما عليك الا: 1- تعبئة البيانات المطلوبة ، من اسم الجدول او الاستعلام ، ومكان الحفظ ، وصيغة الحفظ ، ووو او 2- تستخدم دالة كود النموذج ، وترسل المطلوب عن طريق الكود اليها (انا لم اشر الى هذا في الموضوع السابق) ، وهذا الكود من البرنامج المرفق: هذه بعض المتغيرات ، والمتغيرات الباقية مأخوذة مباشرة من النموذج i_strSql = "Select * From " & Me.cmb_TQ_Name i_strWorkSheet = Nz(Me.cmb_Sheet_Name, "") i_strCellRef = Nz(Me.cmb_Upper_Left_cell, "") i_strSaveAs = Nz(Me.cmb_SaveFormat, "") وهكذا تستطيع ان تنادي الدالة ، فتقوم بالعمل بدل من استخدام النموذج Call CopyRs2Sheet(i_strSql, i_strWorkBook, _ i_strWorkSheet, _ i_strCellRef, _ i_strSaveAs, _ Me.frm_Auto_Fit, _ Me.frm_Delete_Exisiting_File, _ Me.Open_The_File_on_Completion) جعفر -
مطلوب كود تحويل جدول اكسيس الى ملف اكسيل
jjafferr replied to safwat Maher's topic in قسم الأكسيس Access
وهذه مشاركة مع اخي شفان اذا اردت اسماء الحقول تظهر في اعلى اعمدة الاكسل DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Table1", "D:\Temp\my.xlsx", True وبدون اسماء الحقول DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12, "Table1", "D:\Temp\my.xlsx", False جعفر -
وعليكم السلام اذا ممكن عمل هذا النموذج في الوورد او برنامج الرسم ، حتى نستطيع ان نصمم شئ مثله ، بدل المحاولات العشوائية جعفر
-
صيغة الداله Dmax مع استخدام اكثر من شرط
jjafferr replied to ahmedbasheer's topic in قسم الأكسيس Access
تفضل جرب هذا الكود myCriteria = "[نوع الكتاب]='aa'" myCriteria = myCriteria & " And Year([حقل التاريخ])=" & Year(date()) a = DMax("[حقل رقم الوارد]", "Tbl_Main", myCriteria) جعفر -
صيغة الداله Dmax مع استخدام اكثر من شرط
jjafferr replied to ahmedbasheer's topic in قسم الأكسيس Access
السلام عليكم الرابط التالي يعطيك مثال في كيفية عمل اكثر من شرط للدالة Dlookup والتي تستطيع استخدام الدالة Dmax بدلا عنها في المثال: جعفر -
السلام عليكم اخوي ابوخليل اسمح لي ادخل في النص ، واحاول اطبق الفكرة اللي شرحتها هنا: في المرفق ، يوجد زر اسمه "وزّع" ، وذلك لعمل سجلات الاجازات للجدول tbl_mn7_Details ، وذلك لمنح الاجازة ، وزر "استقطع" ، وذلك للتأشير على السجلات التي سوف تُستقطع من الاجازات الممنوحة ، في الجدول tbl_mn7_Details . الآن ، الجدول tbl_mn7_Details به الاجازات الممنوحة ، والمستقطعة ، لذلك يمكن عمل استعلام لحساب الاشياء الاخرى المطلوبة أعتذر مسبقا عن عدم تمكني من عمل اي شئ إضافي ، لأني على سفر بعد اقل من 11 ساعة ولمدة عدة اسابيع جعفر 413.الاجازات.mdb.zip
-
وعليكم السلام الكود يقوم بفتح الملف الموجود مساره واسمه في الحقل DTPath فمثلا الملف التالي سيفتحه الكود اعلاه بإستخدام البرنامج الافتراضي في الوندوز لفتح هذه الصيغة: DTPath= "F:\Officena\Report_Time.txt" جعفر
-
مطلوب عمل تقرير نهائي كما موضح بالصور ومرتبط بنموذج
jjafferr replied to محمود_سعيد's topic in قسم الأكسيس Access
السلام عليكم تكملة للتجربة اعلاه ، وبعد وضع كود جديد في المشاركة الاخيرة ، وهذا الكود يعتمد على انشاء جدول مؤقت ، اضع لكم النتائج: 1-7-2016 to 30-7-2016 j = 335.2969 R = 239.1992 Transpose = 148.8281 والكود على هيئة دالة Option Compare Database Function transposer() 'http://www.access-programmers.co.uk/forums/showpost.php?p=907107&postcount=15 'Edited by jjafferr on 22-7-2016 Dim db As DAO.Database Dim tdfNewDef As DAO.TableDef Dim fldNewField As DAO.Field Dim rstSource As DAO.Recordset Dim rstTarget As DAO.Recordset Dim i As Integer, j As Integer Dim strSource As String Dim strTarget As String Dim sqlcode As String Dim t_array() As Variant Dim t_no_of_rows As Integer Dim t_no_of_columns As Integer Dim s_no_of_rows As Integer Dim s_no_of_columns As Integer Dim T As Long On Error GoTo Transposer_Err 'strSource = "tbl_input" strSource = "qry_blagh_2" strTarget = "tbl_output" Set db = CurrentDb() 'Set rstSource = db.OpenRecordset("SELECT * FROM tbl_input ORDER BY sample_type", dbOpenDynaset) Set rstSource = db.OpenRecordset("SELECT * FROM " & strSource, dbOpenDynaset) rstSource.MoveLast t_no_of_rows = rstSource.Fields.count t_no_of_columns = rstSource.RecordCount + 1 s_no_of_columns = rstSource.Fields.count s_no_of_rows = rstSource.RecordCount + 1 DoCmd.SetWarnings False sqlcode = "DELETE tbl_output.* FROM tbl_output" DoCmd.RunSQL sqlcode DoCmd.SetWarnings True ReDim t_array(t_no_of_rows, t_no_of_columns) ' Fill the first field of the array with ' field names from the original table. For i = 0 To t_no_of_rows - 1 t_array(i, 0) = rstSource.Fields(i).Name Next i rstSource.MoveFirst ' Fill each column of the array ' with a record from the original table. For j = 0 To t_no_of_rows - 1 ' Begin with the second field, because the first field ' already contains the field names. For i = 1 To t_no_of_columns - 1 ' Debug.Print i & " " & j t_array(j, i) = rstSource.Fields(j) rstSource.MoveNext Next i rstSource.MoveFirst Next j ' Fill the target table with fields from the array Set rstTarget = db.OpenRecordset(strTarget) For j = 0 To t_no_of_rows - 1 rstTarget.AddNew T = 0 For i = 0 To t_no_of_columns - 1 'rstTarget.Fields(i) = t_array(j, i) rstTarget.Fields(i + 1) = t_array(j, i) 'j If j > 0 And IsNumeric(t_array(j, i)) Then T = T + Val(t_array(j, i)) End If Next i rstTarget!Totals = T rstTarget.Update Next j db.Close 'MsgBox ("finished") Exit Function Transposer_Err: Select Case Err Case 3061 'Too Few parameters, expect 2 Set db = CurrentDb Set qdf = db.QueryDefs(strSource) For Each prm In qdf.Parameters prm.Value = Eval(prm.Name) Next prm Set rstSource = qdf.OpenRecordset(dbOpenDynaset) Resume Next Case 3010 MsgBox "The table " & strTarget & " already exists." Case 3078 MsgBox "The table " & strSource & " doesn't exist." Case Else MsgBox CStr(Err) & " " & Err.Description End Select Exit Function End Function اما الجدول المؤقت فهكذا شكله: وهذه نتيجته جعفر- 16 replies
-
- 2
-
-
- قاعدة بيانات
- تقرير
-
(و2 أكثر)
موسوم بكلمه :
-
السلام عليكم أخي صالح ، شرحك هو حول الامر NZ هنا تحدثت عن هذا الامر: فالدالة Len هي لحساب عدد الحروف في حقل او قيمة ، بغض النظر عن نوع الحقل ، نص او رقم او تاريخ او .. جعفر
-
تستطيع استعمال اي من هذه الطرق الثلاث: Private Sub أمر1_Click() 'On Error Resume Next '1. ' Me.dd.SetFocus ' DoCmd.GoToRecord , , acNext '2. Me.dd.Form.Recordset.MoveNext '3. ' Me.dd.SetFocus ' DoCmd.RunCommand acCmdRecordsGoToNext End Sub Private Sub أمر3_Click() On Error Resume Next '1. ' Me.dd.SetFocus ' DoCmd.GoToRecord , , acPrevious '2. Me.dd.Form.Recordset.MovePrevious '3. ' Me.dd.SetFocus ' DoCmd.RunCommand acCmdRecordsGoToPrevious End Sub جعفر
-
وعليكم السلام Option Compare Database Private Sub أمر1_Click() On Error Resume Next Me.dd.SetFocus DoCmd.GoToRecord , , acNext End Sub Private Sub أمر3_Click() On Error Resume Next Me.dd.SetFocus DoCmd.GoToRecord , , acPrevious End Sub جعفر
-
السلام عليكم ادلو بدلوي اللي انا عملته في مجموعة من برامجي ، وخصوصا عند حساب الحضور في برنامج البصمة ، ان يكون عندي جدول خاص بالاجازات: حقل واحد للتاريخ (مفهرس) ، وليس حقلين: من تاريخ والى تاريخ ، وانما هو حقل واحد للتاريخ ، حيث في النموذج اجعل البرنامج يعمل سجلات بعدد ايام الاجازة ، حقل نوع الاجازة ، حقل قطع اجازته ، نعم/لا ، الفائدة من جعل حقل واحد للتاريخ ، هو امكانية عمل الامر Between بين تاريخين ، وإلا فنضطر الى عمل كود ليحسب بين التاريخين !! والفرق: عندما نتعامل مع قاعدة بيانات فيها 100 او 1000 سجل ، فما في مشكلة ، جميع الطرق تحقق لك سرعة مقبولة ، ولكن لما تتعامل مع اكثر من 300,000 سجل شهريا ، وعندك اكثر من جدول يجب التعامل معه ، فسترى ان طريقة الحقل الواحد اسرع واريح في العمل طبعا باستخدام الامر Between بين تاريخين جعفر
-
مطلوب عمل تقرير نهائي كما موضح بالصور ومرتبط بنموذج
jjafferr replied to محمود_سعيد's topic in قسم الأكسيس Access
السلام عليكم أخي محمود ، للأسف الشديد ، لا برنامجي كان ينفع ولا برنامج أخي رمهان ، لأن برنامجك المرفق الجديد يختلف عن البرنامج السابق ، للأسف الشديد ما ممكن نعمل تقرير للنتيجة ، لأن عدد الحقول غير معروف (نعم عندك 10 انواع بلاغ الآن ، ولكن قد يزيدوا لاحقا ، فلا يمكن عمل تقرير ثابت) !! رجاء استخدم النموذج frm_Main ، ونتيجة الزر الآن تكون الجدول tbl_Output ، واللي يمكنك عمل ما تشاء به. جعفر 411.Blagh_OK.accdb.zip- 16 replies
-
- قاعدة بيانات
- تقرير
-
(و2 أكثر)
موسوم بكلمه :
-
حياك الله يمكن يكون اسهل لك بأن تعمل استعلام ، وفي وضع تصميم SQL ، استعمل هذه الجملة والتي ستعطيك سجل واحد فقط ، واجعل هذا الاستعلام مصدر معلومات النموذج: Select TOP 1 * From task Order by Auto_ID Desc جعفر
-
تفضل: dim rst as dao.recordset mySQL = "Select * From task Order by Auto_ID Desc" set rst=currentdb.openrecordset (mySQL) rst.MoveLast: rst.MoveFirst Me.textbox15 = rst!cash جعفر
-
وعليكم السلام اليك هذا الرابط ، ولكن للقيمة الاولى ، وما عليك إلا استخدام Desc ، هكذا: mySQL = "Select * From tbl2 Order by Auto_ID Desc" جعفر
-
مطلوب عمل تقرير نهائي كما موضح بالصور ومرتبط بنموذج
jjafferr replied to محمود_سعيد's topic in قسم الأكسيس Access
السلا عليكم الموضوع هذا اصبح له حلّان: حلّي انا بإستخدام الاستعلام الجدولي ولأكثر من مرة ، وحل اخوي رمهان بإستخدام دالة Dcount في التقرير اكثر من مرة (اما موضوع النتائج الغير صحيحة كما اشرت اليها في مشاركتي السابقة ، فهو موضوع سهل حلّه على اخوي رمهان) . السؤال الذي طرأ على بالي هو: اي الطريقتين هي الاسرع (على اساس ان الطريقتين تعطيان النتائج الصحيحة) ، وبذلك نقترح هذه الطريقة على الاخ محمود سعيد في برنامجه لحساب السرعة ، يجب ان تكون الجداول كبيرة ، حتى يكون للمقارنة معنى ، لذلك عملت التالي: 1. عملت الفهرسة للحقول التي تحتاج فهرسة ، 2. جعلت عدد السجلات في الجداول كالتالي: Blagh = 3,845,966 ، المصابين = 1,922,966 ، الوفيات = 1,538,373 3. بحيث اصبح حجم قاعدة البيانات حوالي 328MB الموضوع اخذ مني يوم كامل ، والنتائج: وطريقة احتساب الوقت الذي أخذه كل تقرير على حده هو: t = Timer docmd.openreport .... Time_Took = Timer - t والنتيجة بالثوان: j = جعفر ، R = رمهان 1-7-2016 to 7-7-2016 j = 109.8164 R = 132.0977 1-7-2016 to 15-7-2016 j = 230.1016 R = 187.8359 1-7-2016 to 30-7-2016 j = 335.2969 R = 239.1992 وهذه صور التقرير النهائي: جعفر: . رمهان: لهذا السبب ، فانا اقترح على الاخ محمود سعيد ان يستخدم طريقة الاخ رمهان (طبعا بعد ان يتم تصحيح النتائج بها) ، فهي الاسرع في الاداء جعفر- 16 replies
-
- 3
-
-
- قاعدة بيانات
- تقرير
-
(و2 أكثر)
موسوم بكلمه :
-
مطلوب عمل تقرير نهائي كما موضح بالصور ومرتبط بنموذج
jjafferr replied to محمود_سعيد's topic in قسم الأكسيس Access
السلام عليكم نعم أخوي رمهان اللي تقوله يصير ، ولكني كنت اشير الى الطريقة التي عملت فيها برنامجي ، فبرنامجي معتمد عليه: وبالبرمجة ممكن عمل اي شئ وانزلت برنامجك واتضح انك تستخدم دالة Dcount في التقرير ، وعملت مقارنة بين نتائجي ونتائجك ، بس الظاهر ان عندك خطأ في الجمع: نتيجتي (بعد ان اخذت بيانات جداولك): . ونتيجتك: ورجاء متابعة المشاركة التالية جعفر- 16 replies
-
- 1
-
-
- قاعدة بيانات
- تقرير
-
(و2 أكثر)
موسوم بكلمه :
-
السلام عليكم نعم ، عندك كود إخفاء الخلفية في نموذج الافتتاح ، فتم توقيفه عن العمل ، هكذا: Private Sub Form_Open(Cancel As Integer) 'fSetAccessWindow (SW_SHOWMINIMIZED) End Sub جعفر 412.برنامج تدريبي.accdb.zip