-
Posts
9975 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
406
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
لا ، تقدر تستعمل اسم الجدول بدل اسم الاستعلام ، ولكن الاستعلام يعطيك مرونه في استعمال الفرز والتصفية 🙂 انا لم انظر اصلا في كود الجزئين ، فسؤالك كان عن تصدير البيانات 🙂 ولكني لازلت لم افهم طلبك ، انت تصدر البيانات ثم تستوردها مرة اخرى ، من نفس الملف الذي تم تصديره ، الى نفس الجداول التي تم التصدير منها وحذف بياناتها !! جعفر -
مشاكل بعد نقل مشروع من جهاز الى جهاز آخر
jjafferr replied to بندر بندر's topic in قسم الأكسيس Access
وعليكم السلام 🙂 اذا الجهاز الثاني ما فيه عربي ، فمن وين يجيب لك الخطوط العربية اللي انت مستعملها في قاعدة بياناتك !! انصحك بتغيير اسماء جميع الكائنات في قاعدة بياناتك من عربي الى انجليزي ، وهذه لاداة ستساعدك: . جعفر -
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
وعليكم السلام 🙂 1. تفضل هذا التعديل : Public Sub cmd_Export_NEW_Click() On Error GoTo err_cmd_Export_NEW_Click Dim i_strSql As String Dim i_strWorkBook As String Dim i_strCellRef As String Dim i_strWorkSheet As String Dim i_strSaveAs As String Dim i_Auto_Fit As Integer Dim i_Delete_Exisiting_File As Integer Dim i_Open_The_File_on_Completion As Integer Dim i_Field_Names As Integer i_strSql = "qry_1" i_strWorkBook = MakeFolder([CurrentProject].[Path] & "\" & "MyBackup") & "\سجل الكتب.xls" i_strWorkSheet = "" 'Sheet Name i_strCellRef = "" 'start from A1 i_strSaveAs = 56 '.xls, some other extenstions are possible i_Auto_Fit = 1 'yes, 2 don't fit i_Delete_Exisiting_File = 2 'yes, 1 don't delete, but add sheets to the existing i_Open_The_File_on_Completion = 1 'yes, 2 don't open i_Field_Names = 2 'Captions, 1= field Names, 3= No names nor captions Call CopyRs2Sheet(i_strSql, i_strWorkBook, _ i_strWorkSheet, _ i_strCellRef, _ i_strSaveAs, _ i_Auto_Fit, _ i_Delete_Exisiting_File, _ i_Open_The_File_on_Completion, _ i_Field_Names) i_strSql = "qry_2" i_strWorkBook = MakeFolder([CurrentProject].[Path] & "\" & "MyBackup") & "\بيانات أعضاء المكتبة.xls" i_strWorkSheet = "" 'Sheet Name i_strCellRef = "" 'start from A1 i_strSaveAs = 56 '.xls, some other extenstions are possible i_Auto_Fit = 1 'yes, 2 don't fit i_Delete_Exisiting_File = 2 'yes, 1 don't delete, but add sheets to the existing i_Open_The_File_on_Completion = 1 'yes, 2 don't open i_Field_Names = 2 'Captions, 1= field Names, 3= No names nor captions Call CopyRs2Sheet(i_strSql, i_strWorkBook, _ i_strWorkSheet, _ i_strCellRef, _ i_strSaveAs, _ i_Auto_Fit, _ i_Delete_Exisiting_File, _ i_Open_The_File_on_Completion, _ i_Field_Names) Exit Sub err_cmd_Export_NEW_Click: If Err.Number = 53 Then 'file not found Resume Next ElseIf Err.Number = 2450 Then MsgBox Err.Number & vbCrLf & Err.Description DoCmd.Hourglass False Exit Sub Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . 2. و 3. بدل Private Sub أمر1_Click() و Private Sub أمر2_Click() اكتب public Sub أمر1_Click() و public Sub أمر2_Click() . فتصبح الدالة: تصدّر لأكسل ، تحذف بيانات الجداول ، تستورد من اكسل ، يعني ما تحتاج زري الحذف والاستراد : Public Function MyDatabase() 'Export to Excel Call cmd_Export_NEW_Click 'Delete the existing data Call [Form_For Table].ÃãÑ1_Click 'import the data Call [Form_For Table].ÃãÑ2_Click End Function . انا لم اقم بالتجربة ، فرجاء تخبرنا بالنتيجة 🙂 جعفر 1506.1.Export catiopns to excel.mdb.zip -
تفضل 🙂 الآن الكود يبدأ بالرقم الذي تكتبه في اول حقل : Private Sub Numberx_AfterUpdate() ' 'Access looks at it this way: 'user 1 = first entry was done in the Form by hand 'user 2 = the code below enters values automatically ' 'so it will give the popup option to either: save these change, drop the saving, or place them in clipboard 'to avaoid this message, we should first save the hand made value, then run the code 'save the Records If Me.Dirty Then Me.Dirty = False Dim rst As DAO.Recordset Dim i As Long Set rst = Me.RecordsetClone rst.MoveFirst i = Me.Numberx - 1 Do Until rst.EOF i = i + 1 rst.Edit rst!Numberx = i ' rst!serial = Me.str_serial rst.Update rst.MoveNext Loop 'MsgBox "Done" End Sub . او Private Sub Numberx_AfterUpdate() ' 'Access looks at it this way: 'user 1 = first entry was done in the Form by hand 'user 2 = the code below enters values automatically ' 'so it will give the popup option to either: save these change, drop the saving, or place them in clipboard 'to avaoid this message, we should first save the hand made value, then run the code 'save the Records If Me.Dirty Then Me.Dirty = False Dim rst As DAO.Recordset Dim i As Long Set rst = Me.RecordsetClone rst.MoveFirst i = Me.Numberx Do Until rst.EOF rst.Edit rst!Numberx = i ' rst!serial = Me.str_serial rst.Update i = i + 1 rst.MoveNext Loop 'MsgBox "Done" End Sub جعفر
-
استعلام حذف اذا كان فيه حقل اكبر من حقل اخر يتم الحذف
jjafferr replied to الحلبي's topic in قسم الأكسيس Access
يا هلا ومرحبا بك بين اهلك ، مرة اخرى 🙂 سُعدنا بمشاركتك ، ونكون اسعد بمشاركاتك القادمة ان شاء الله 🙂 جعفر -
اذا قصدك تدخل البيانات مباشرة في اول حقل من اول سجل مباشرة . فيصبح الكود: Private Sub Numberx_AfterUpdate() ' 'Access looks at it this way: 'user 1 = first entry was done in the Form by hand 'user 2 = the code below enters values automatically ' 'so it will give the popup option to either: save these change, drop the saving, or place them in clipboard 'to avaoid this message, we should first save the hand made value, then run the code 'save the Records If Me.Dirty Then Me.Dirty = False Dim rst As DAO.Recordset Dim i As Long Set rst = Me.RecordsetClone rst.MoveFirst i = Me.Numberx Do Until rst.EOF i = i + 1 rst.Edit rst!Numberx = i ' rst!serial = Me.str_serial rst.Update rst.MoveNext Loop 'MsgBox "Done" End Sub Private Sub serial_AfterUpdate() Dim rst As DAO.Recordset Dim i As Long Dim str As String str = Me.serial 'save the Records If Me.Dirty Then Me.Dirty = False Set rst = Me.RecordsetClone rst.MoveFirst Do Until rst.EOF rst.Edit ' rst!Numberx = Me.int_Numberx + i rst!serial = str rst.Update rst.MoveNext Loop 'MsgBox "Done" End Sub جعفر 1505.1.make serial numbers.mdb.zip
-
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
تفضل يا سيدي 🙂 جعفر 1506.Export catiopns to excel.mdb.zip طيّرت المزّة 🤣 -
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
الله يطول عمرك اخوي ابا عمرو ، مرفقك لا فيه بيانات ، ولا حتى كود التصدير !! فكيف تريدني اعدل فيه !! ولما استعين بصديق سري لجلب هذه المعلومات ، تقولون عماني 😁 جعفر -
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
نعم كلامك صحيح ، اذا اردنا ان نرى جميع الجداول ، ولا نرى جداول النظام ، ولكن ، طريقتي في تسمية الجداول هي: للجداول المرتبطة بالشبكة: tbl_abc للجداول المحلية: loc_tbl_abc للجداول المؤقته: tmp_tbl_abc و نادرا ان اسمي احد الجداول باسم جدول النظام مثل Msys_abc (في الواقع اني ابداً لم اعمل هذا النوع من الجداول) ، فلا اريد ان يكون هناك مستخدم شاطر يعرف يبحث في الانترنت ويعرف كيف يظهر هذه الجداول ، ويحرق الاخضر واليابس !! فالكود كان معمول حتى يستخرج تسميات/اسماء حقول الجداول التي تبدأ بـ _tbl ، ولم اغير فيه🙂 جعفر -
وعليكم السلام 🙂 اضفت حقلين للنموذج ، int_numberx ، و str_serial ، و زر لتنفيذ العمل ، . وهذا الكود على حدث نقر الزر: Private Sub cmd_Do_Changes_Click() If Len(Me.int_Numberx & "") = 0 Then MsgBox "رجاء تعبئة اول رقم لبداية التسلسل" Me.int_Numberx.SetFocus Exit Sub ElseIf Len(Me.str_serial & "") = 0 Then MsgBox "رجاء تعبئة خانة كلمة الحقل" & vbCrLf & "serial" Me.str_serial.SetFocus Exit Sub End If Dim rst As DAO.Recordset Dim i As Long Set rst = Me.RecordsetClone rst.MoveFirst Do Until rst.EOF i = i + 1 rst.Edit rst!Numberx = Me.int_Numberx + i rst!serial = Me.str_serial rst.Update rst.MoveNext Loop MsgBox "Done" End Sub جعفر 1505.make serial numbers.mdb.zip
-
استعلام حذف اذا كان فيه حقل اكبر من حقل اخر يتم الحذف
jjafferr replied to الحلبي's topic in قسم الأكسيس Access
هممم مبرمج سابق وعلى طول ذكر اسمي ، وبينه وبين ابو بسمله زمالة قديمة ، ويستشهد بأبيات شعر ، فإذا كنت اللي على بالي ، فأهلا وسهلا بك بيننا مرة اخرى ، بإسمك الجديد ، فأنا شخصيا افتقدت مشاركاتك الدقيقة 🙂 جعفر -
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
اليك الموضوع كاملا 🙂 جعفر -
التصدير الى الاكسل بتسمية الحقل وليس اسمه
jjafferr replied to ابا عمرو's topic in قسم الأكسيس Access
وعليكم السلام 🙂 هذا الكود من احد برامجي ، يقرأ تسمية الحقل من الجدول ، واذا لم يجد التسمية ، فيستخدم الاسم ، Public Function ListTables() On Error GoTo err_ListTables Dim tbdf As TableDef Dim fld As Field Dim iField_Caption As String Dim Field_Type As Integer For Each tbdf In CurrentDb.TableDefs 'don't show system tables If Left(tbdf.Name, 4) = "tbl_" Then For Each fld In tbdf.Fields iField_Caption = fld.Properties("Caption") 'Field_Type = DataType_Fields(fld.Type) 'Debug.Print tbdf.Name & vbTab & fld.Name & vbTab & Field_Type & vbTab & iField_Caption Next End If 'left Next Exit_ListTables: Set tbdf = Nothing: Set fld = Nothing Exit Function err_ListTables: If Err.Number = 3270 Then 'this field does not have a caption for it, give it the field name iField_Caption = fld.Name Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_ListTables End If End Function جعفر -
استعلام حذف اذا كان فيه حقل اكبر من حقل اخر يتم الحذف
jjafferr replied to الحلبي's topic in قسم الأكسيس Access
السلام عليكم 🙂 حسب قراءتي للامرين ، الفرق بينهم كالذي ينظر لكوب نصفه فاضي ، والآخر ينظر للنصف المليان من نفس الكوب ، والاثنين على حق 🙂 وبنفس القراءة ، فهمنا بعض بطرق مختلفة ، ويبقى لكُلٌ مكانته عالياً ، والعشاء على حسابي 🙂 جعفر -
ممتاز ، بس هالكلمتين ما يفيدون صاحب السؤال ، فرجاء اخبرنا بالطريقة 🙂 جعفر
-
عفوا المهندس قاسم ، الظاهر انه صار التباس في فهم كلامي !! انا لم اقل انه لن يكون هناك اطار ، وليس هذا طلب اخونا احمد صاحب السؤال ، وانما الطلب كان: ان تظهر نماذجه بنفس الشكل في جميع اصدارات الوندوز 🙂 فأذا ممكن ان تجربه بهذه الطريقة 🙂 وللعلم ، فالاكسس لن يطبق نسق الوندوز غلا على برنامج انت عملته : جعفر
-
النسبة عبارة عن رقم ضرب 100 : 1 = 1 * 100 = 100% 0.75 = 0.75 * 100 = %75 0.5 = 0.5 * 100 = %50 0.1= 0.1 * 100 = %10 فأرقام النسبة ستكون من الرقم صفر الى الرقم 1 (لهذا السبب اقترحت عليك حقل Double ، لأنه يقبل الارقام قبل الفاصلة العشرية 🙂 ) ، وهكذا تقدر تفرق بين ارقامك 🙂 ولا تحتاج الى حقل المؤشر 🙂 جعفر
-
وعليكم السلام 🙂 الاكسس يأخذ اعدادات "نسق الوندوز" Windows theme ، ليعطي برنامج الاكسس نفس شكل الوندوز من ناحية البراويز والاطارات ووو مثلا ، هذا الشكل يعطيه للوندوز فستا و وندوز 7 . وطبيعي ان يتغير مع الاصدارات الاخرى للوندوز ، بينما نستطيع ان نطلب من الاكسس ان يوقف التعامل مع نسق الوندوز ، فيعطينا هذا الشكل ، والذي به لن يتغير بتغيير الوندوز : . هذا الاعداد المؤشر عليه بعلامة الصح داخل المربع الاحمر في الصورة ادناه (لاحظ انه يخص قاعدة البيانات هذه فقط) : . احذف علامة الصح ، ثم شغل برنامجك على كمبيوترات تحمل وندوز مختلف 🙂 ولكن حذار ، فانت ستغير كل اشكال الكائنات في برنامجك ، فرجاء تجربة جميع نماذجك والتقارير قبل ان تعطي البرنامج للزبون 🙂 جعفر
-
السلام عليكم اخي احمد 🙂 الموقع بإسم مايكروسوفت ، مثله مثل الكثير من المواقع ، ولكن لا علاقة لمايكروسوفت رسميا بإجاباته ، فالخبراء والشركات التي تتعامل معها مايكروسوف ، هم من يقوم بالرد ، وقد يكون احد موظفي مايكروسوفت 🙂 انظر في الرابط : https://answers.microsoft.com/ar-sa/page/faq#faqWhosWho1 ، ثم انظر في "السير الذاتية في المجتمع" 🙂 جعفر
-
السلام عليكم 🙂 اخي الفاضل ، قاعدة بيانات الاكسس لن تعمل على كمبيوتر لا يوجد به: 1. برنامج الاكسس كاملا ، سواء الاكسس بمفردة او كجزء من حزمة الاوفيس ، او 2. الاكسس المجاني والذي يعمل بطريقة RunTime ، والذي فقط يشغل قواعد بيانات الاكسس ولا تستطيع عمل برامج به ، وهذا رابط اكسس 2016 RunTime فعليه ، تغيير صيغة برنامج الاكسس من accdb او accde الى ملف تنفيذي بصيغة exe لن يعمل في كمبيوتر لا يوجد به احد الاختيارين اعلاه ، فما الفائدة منه اذن !! جعفر
-
كتابة الاسماء بالعربي والتحويل إلى الانحليزي
jjafferr replied to العوام's topic in قسم الأكسيس Access
وعليكم السلام 🙂 المنتدى به عدة مواضيع عن: ترجمة الكلمات ، وتحويل الاسماء من لغة الى اخرى ، فالبحث هو صديقك 🙂 هذه بعضها . . جعفر -
وعليكم السلام 🙂 واهلا وسهلا بك في المنتدى 🙂 للإستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى : اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة لو اخبرتينا بطلبك بالضبط ، علشان اعرف شو اشرح لك 🙂 جعفر
-
السلام عليكم 🙂 فيه خطوط جاهزة تعمل مثل خطوط شاشات العرض LCD ، مرفق احدها ، واليك طريقة استعمال الخط Font : أ. قم بتنصيب الخط في الوندوز ، ثم في الاكسس استعمله كأي خط عادي ، وفي حالتك ، استعمله للارقام 🙂 ، او ب. او اذا لا تريد ان تنصب الخط في الوندوز (قد لا تستطيع الوصول لحاسبة جميع المستخدمين) فيمكنك ان تجعل برنامجك يستعمله لبرنامجك فقط (في احد برامجي ، استعمل خط الباركود code39.ttf ويجب ان يكون في البرنامج علشان ينتج الباركود ، فاستعمل هذه الطريقة) : 1. ضع الخط في نفس مجلد برنامجك ، 2. اعمل وحدة نمطية مستقلة ، احفظها باسم mod_AddFonts ، واضف فيها هذا الكود: Option Compare Database Option Explicit Private Declare PtrSafe Function AddFontResource Lib "gdi32.dll" Alias "AddFontResourceA" ( _ ByVal lpFileName As String) As Long Public Function AddFonts(Font_Name_Path As String) Dim result As Long result = AddFontResource(Font_Name_Path) 'MsgBox Result & " fonts added" End Function 3. في حدث "عند تحميل" اول نموذج في برنامجك ، نادي الدالة اعلاه هكذا (طبعا تكتب اسم الخط ومساره في مجلد برنامجك) : 'Code39.ttf Font, install it, just in case it is not installed before Call AddFonts(CurrentProject.Path & "\Barcode_Font\code39.ttf") 4. بس على كمبيوترك (كمبيوتر المبرمج) ، يجب ان تنصب الخط في الوندوز لأول مرة ، ثم تعمل برنامجك ، ولما كل شيء يكون تمام ، تقدر تحذف الخط من الوندوز ، وتستعمل الطريقة اعلاه 🙂 وبما انه خط عادي ، فما فيه داعي لكود خاص علشان تعرض الارقام ، والتعديل والالوان وحجم الخط ووووو ، يكون بكل سهولة ، لأنه مجرد خط 🙂 جعفر digital-7.zip