-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم ورحمة الله وبركاته في احد البرامج التي اشتغلت عليها ، كان المطلوب احد الاشياء التالية مثلا: مدة الخدمة ، من تاريخ التوظيف الى اليوم ، إضافة خدمة (سنوات/اشهر/ايام) الى تاريخ التوظيف ، خصم مدة (سنوات/اشهر/ايام) من تاريخ التوظيف ، فبدل الحساب اليدوي ، عملت نموذج لآلة حاسبة ، للتواريخ النموذج frm_Date_Diff : حساب الفرق بين تاريخين: 1. ادخل التاريخ الاكبر في الحقل 1 ، وعند تغيير التاريخ سنرى الفرق بين التاريخين في الحقول سنة/شهر/يوم ، 2. ادخل التاريخ الاصغر في الحقل 2 ، وعند تغيير التاريخ سنرى الفرق بين التاريخين في الحقول سنة/شهر/يوم ، وعند النقر المزدوج على 1 او 2 ، فان القيم سيتم حفظها في الحقول 11 و 22 مؤقتا ، بحيث تستطيع ان تقوم بعمليات اخرى وتغيير التواريخ ، بينما تحتفظ بأصل التواريخ في 11 و 22 ، إضافة / طرح (سنوات / اشهر / ايام) من تاريخ: 1. احذف التاريخ من الحقل 2 ، 2. ادخل سنة/شهر/يوم الى الخانات 3 و4 و5 ، 3. حسب الحاجة ، اختر 6 لإضافة السنة/شهر/يوم الى التاريخ الاول ، وسترى النتيجة في الحقل 2 ، 4. حسب الحاجة ، اختر 7 لطرح السنة/شهر/يوم من التاريخ الاول ، وسترى النتيجة في الحقل 2 ، وعند النقر المزدوج على 3 او 4 او 5 ، فان القيم سيتم حفظها في الحقول 543 مؤقتا ، بحيث تستطيع ان تقوم بعمليات اخرى وتغيير السنوات/الاشهر/الايام ، بينما تحتفظ بالاصل في 3 و4 و5 وهنا مثال متحرك: جعفر 301.Dates_Calculations.mdb.zip
- 18 replies
-
- 10
-
-
-
-
السلام عليكم أخي الموسى انا اعتذر منك لأني ماكنت ادري انك مدرس ملف الاكسل فيه معلومات كثيرة ، فهل انت متأكد انك محتاج هذه المعلومات الثلاث فقط!! مثل ما لاحظت في الرابط السابق ، استخرجنا الكثير من المعلومات من ملف الاكسل جعفر
-
مشكلة اختفاء مربع التحديد داخل تصميم النموذج فى البرنامج
jjafferr replied to اسلام سيد's topic in قسم الأكسيس Access
وعليكم السلام سؤالك غير واضح فاذا كان قصدك انك تريد ان تجعل النموذج الفرعي تحت "رأس النموذج" الرئيسي ، فاليك الطريقة: اختر النموذج الفرعي ، احذفه ، اضغط على "راس النموذج" وسيتغير لونه ، اعمل لصق ، وسيكون النموذج الفرعي هناك جعفر -
كود لحذف الاسطر 3 الاولى من شيت اكسل بالأكسس
jjafferr replied to SABER_EDP's topic in قسم الأكسيس Access
تفضل أخي صابر انت تختار الملف ، ويقوم الكود بالباقي الكود هو: Dim TextLine, File_Name, File_ext, Folder_Name, nFile_Name File_Name = Dir(Me.txtPath) 'the file name only File_ext = Mid(File_Name, InStrRev(File_Name, ".") + 1) 'the file extension Folder_Name = Replace(Me.txtPath, File_Name, "") 'the folder name 'a temp csv file to transfer to it the correct lines nFile_Name = Folder_Name & Mid(File_Name, 1, Len(File_Name) - Len(File_ext) - 1) & "_2." & File_ext 'open both Input and Output files Open Me.txtPath For Input As #1 Open nFile_Name For Output As #2 i = 0 Do While Not EOF(1) ' Loop until end of file. Line Input #1, TextLine ' Read line into variable. i = i + 1 'skip the 1st 3 lines, and write the rest If i >= 4 Then Print #2, TextLine End If Loop Close #1 Close #2 'now we have a csv file correctly saved, 'convert it to xls 'make reference to Microsoft Excel xx.x object Library Dim wBook As workbook Set wBook = Workbooks.Open(nFile_Name, Format:=6, Delimiter:=",") wBook.SaveAs Replace(Me.txtPath, ".csv", ".xls"), FileFormat:=xlExcel8 wBook.Close False 'delete the temp cvs file Kill nFile_Name جعفر 298.Remove_3_Lines_csv.mdb.zip -
-
وعليكم السلام انا قمت بالمطلوب حسب طلبك!! جعفر
-
النقر المزدوج لفتح تقرير بواسطة نموذج فرعي
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
السلام عليكم أخي كريمو كنت اعتقد بأني جربت المرفق وكان يعمل بطريقة صحيحة ، ولكن الظاهر اني كنت مخطئ ، فاعتذر منك الان وبعد التعديل ، جربته ، والظاهر انه يعمل كما يجب ، ان شاء الله الان حين تضغط على الزر "معاينة التحويل" ، فالكود يبحث عن التاريخ (شهر - سنة) الذي في النموذج ، يبحث عنه في الجدول CCP ، فاذا وجده ، فيعطيك الخيار في تحديث رقم الحساب (اي انه لن يغير القيمة) ، واذا لم يجد التاريخ في الجدول ، فيعطيك الخيار في ادخال سجل جديد جعفر 288.krimo2015V2.mdb.zip -
وعليكم السلام الرابط التالي فيه الكود المطلوب ، مع مرفق http://www.officena.net/ib/topic/65067-ما-هي-طريقة-استيراد-بيانات-من-عدة-صفحات-اكسل-الى-جدول-اكسس/?do=findComment&comment=427542 جعفر
-
ما هي طريقة استيراد بيانات من عدة صفحات اكسل الى جدول اكسس
jjafferr replied to jandbi's topic in قسم الأكسيس Access
السلام عليكم أستاذ الظاهر ان موقع النور فيه نوع آخر من ملفات الاكسل ، والذي بشمل علامات لغتي الخالدة فقط ، عليه ، اليك طريقة استيرادهم ، بنفس الطريقة القديمة ، ولكن لجدول خاص به النموذج يطلب منك اختيار نوع ملف الاكسل ، والباقي يقوم الكود به . وهذا كود الاستيراد (طبعا هناك مجموعة من الاستعلامات في البرنامج): Option Compare Database Private Sub Browse_Click() Dim fpath As Variant With Application.FileDialog(3) .Title = "Choose File" .Filters.Clear .Filters.Add "Excel Files", "*.xls ; *.xlsx" '.Filters.Add "Excel Files", "*.csv" .AllowMultiSelect = False .InitialFileName = "" If .Show = -1 Then Me.txtPath = .SelectedItems(1) End If End With Exit Sub End Sub Private Sub ImportData_Click() If Me.frm_Which_Type = 0 Then 'the user didn't choose anything, let him know MsgBox "رجاء اختيار اي نوع من الملفات تريد ان تستورد" & vbCrLf & "Please Select an option" Exit Sub ElseIf Len(Me.txtPath & "") = 0 Then 'don't leave the path empty MsgBox "رجاء اختيار ملف الاكسل" & vbCrLf & "Please select an Excel file" Exit Sub End If '1 'Empty Table Degrees and tbl_Sheets ' CurrentDb.Execute ("Delete * From Degrees") ' CurrentDb.Execute ("Delete * From tbl_Sheets") '2 'import Sheets Dim blnHasFieldNames As Boolean, blnEXCEL As Boolean, blnReadOnly As Boolean Dim lngCount As Long Dim objExcel As Object, objWorkbook As Object Dim colWorksheets As Collection Dim strPathFile As String, strTable As String Dim strPassword As String ' Establish an EXCEL application object On Error Resume Next Set objExcel = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set objExcel = CreateObject("Excel.Application") blnEXCEL = True End If Err.Clear On Error GoTo 0 ' Change this next line to True if the first row in EXCEL worksheet ' has field names blnHasFieldNames = False ' Replace C:\Filename.xls with the actual path and filename strPathFile = Me.txtPath ' "C:\Filename.xls" ' Replace tablename with the real name of the table into which ' the data are to be imported strTable = "tbl_Sheets" '"tablename" ' Replace passwordtext with the real password; ' if there is no password, replace it with vbNullString constant ' (e.g., strPassword = vbNullString) strPassword = vbNullString '"passwordtext" blnReadOnly = True ' open EXCEL file in read-only mode ' Open the EXCEL file and read the worksheet names into a collection Set colWorksheets = New Collection Set objWorkbook = objExcel.Workbooks.Open(strPathFile, , blnReadOnly, , strPassword) For lngCount = 1 To objWorkbook.Worksheets.Count colWorksheets.Add objWorkbook.Worksheets(lngCount).Name Next lngCount ' Close the EXCEL file without saving the file, and clean up the EXCEL objects objWorkbook.Close False Set objWorkbook = Nothing If blnEXCEL = True Then objExcel.Quit Set objExcel = Nothing ' Import the data from each worksheet into the table For lngCount = colWorksheets.Count To 1 Step -1 'If lngCount <> 9 And lngCount <> 8 Then GoTo Next_lngCount '3 'Empty Table Degrees and tbl_Sheets 'j'CurrentDb.Execute ("Delete * From tbl_Sheets") CurrentDb.Execute ("Delete * From " & strTable) '-- '4 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _ strTable, strPathFile, blnHasFieldNames, colWorksheets(lngCount) & "$" '-- '5 If Me.frm_Which_Type = 2 Then 'the user choose Loqati ONLY add_Loqati = "_Loqati" Else add_Loqati = "" End If my_qry_Select = "qry_Select" & add_Loqati my_qry_Delete_Duplicate = "qry_Delete_Duplicate" & add_Loqati my_qry_Append = "qry_Append" & add_Loqati my_qry_Update_Sheet = "qry_Update_Sheet" & add_Loqati 'Delete Duplicate Dim rstQ As DAO.Recordset mySQL = "Select * From " & my_qry_Select Set rstQ = CurrentDb.OpenRecordset(mySQL) [F16] = rstQ![F16] [F8] = rstQ![F8] [F17] = rstQ![F17] [F29] = rstQ![F29] [F24] = rstQ![F24] rstQ.Close: Set rstQ = Nothing DoCmd.SetWarnings False DoCmd.OpenQuery my_qry_Delete_Duplicate DoCmd.SetWarnings True '------------- '6 'append the data DoCmd.SetWarnings False DoCmd.OpenQuery my_qry_Append DoCmd.SetWarnings True '------------- DoEvents Me.iSheet = colWorksheets.Count Me.iSheet2 = lngCount '------------- '7 'append the data DoCmd.SetWarnings False DoCmd.OpenQuery my_qry_Update_Sheet DoCmd.SetWarnings True '------------- '8 'empty tbl_Sheets CurrentDb.Execute ("Delete * From " & strTable) Next_lngCount: Next lngCount ' Delete the collection Set colWorksheets = Nothing MsgBox "Done" ' Uncomment out the next code step if you want to delete the ' EXCEL file after it's been imported ' Kill strPathFile End Sub جعفر 275.3.ImportDegrees.accdb.zip -
وعليكم السلام شوف الرابط التالي: http://www.officena.net/ib/topic/65625-مشكله-محرجة-في-تشغيل-برنامج/#comment-427127 جعفر
-
مشكلة طلب كلمة السر عند الارتباط بقاعدة البيانات
jjafferr replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
يا سلام أخوي رمهان ، اعرفك فنان من زمان انت قربت الجواب بوضع رابط الموضوع ، وانا دخلت في الرابط وشايف ان المشاركة التالية هي الاقرب لسؤال أخينا أبوعبدالله http://www.officena.net/ib/topic/52619-إدارة-الجداول-المرتبطة-،-أداة-وشروحات/?do=findComment&comment=329298 جعفر -
حياك الله معظم اخطاء جمع المعادلة =Sum([MK]) تكمن في القيم الفارغة في الحقل MK لذا ، يجب تحويل القيم الفارغة الى اصفار ، ثم استعمال المعادلة في الجمع هكذا =Sum(Nz([MK],0)) جعفر
-
مشكلة طلب كلمة السر عند الارتباط بقاعدة البيانات
jjafferr replied to أبو عبدالله الحلوانى's topic in قسم الأكسيس Access
وعليكم السلام أخي عبدالله عندما تقسم برنامجك الى واجهة وجداول ، ثم تضع كلمة سر على جزء الجداول ، الآن كلما تفتح الواجهة ، فانها تطلب منك كلمة سر جزء الجداول !!! للتغلب على هذا الطلب : اقسم البرنامج واجهة وجداول ، ضع كلمة سر على جزء الجداول ، في جزء الواجهة ، احذف ربط الجداول كلها ، اعد عمل الربط ، بإدخال كلمة السر ، ومن الان وصاعدا ، لا تحتاج كلمة السر لقراءة الجداول من جزء الواجهة وطبعا ستحتاج كلمة السر اذا اردت جزء الجداول مباشرة جعفر 297.FE_BE.zip -
-
كود لحذف الاسطر 3 الاولى من شيت اكسل بالأكسس
jjafferr replied to SABER_EDP's topic in قسم الأكسيس Access
واذا حذفنا الاسطر الثلاثة الاولى من ملف csv ، يمشي الحال؟ وهل السطر الاول يحتوي على اسماء الاعمدة ، او البيانات مباشرة؟ جعفر -
تفضل المجموع بالدقائق: افتح النموذج frm_Dates ، وادخل التاريخين الذين تريد ان ترى النتيجة بينهما ، ثم افتح الاستعلام qry_Dates_Summary: . بقية الاشخاص لا توجد مجاميع لهم ، لأنهم في الايام المختارة لم يكن لهم استئذان. جعفر 280.2.New.accdb.zip
-
وعليكم السلام أخي وليد انا لم انظر في اصل المعادلة ولا كيف توصلت لها ، ولا ولا ... وانما ذهبت الى الحل بحسب معطياتك الحقل (1) هو حقلك الاصلي ، والحقل (2) A_1 (تستطيع ان تجعله مخفي) هو نسخة من حقل (1) ، ولكن بتغيير في اعدادات الحقل ، فجعلت المجموع تراكمي ، اما الحقل (3) A_2 فهو يساوي A_1 وبس . والنتيجة: . جعفر 294.تقارير.mdb.zip
-
وعليكم السلام شوف المثال اللي ارفقه أخي الاستاذ عبدالرحمن في الرابط التالي: http://www.officena.net/ib/topic/65649-إدراج-القيم-التابعة-لمربع-تحرير-وسرد-من-نموذج-في-نموذج-فرعي/?do=findComment&comment=427227 جعفر
-
كود لحذف الاسطر 3 الاولى من شيت اكسل بالأكسس
jjafferr replied to SABER_EDP's topic in قسم الأكسيس Access
وعليكم السلام الموضوع هذا جدا كبير ومتشعب لذلك ، ارفق لنا ما عندك وما توصلت اليه ، وعلى قدره نعمل لك التعديل ان شاء الله بما يفيدك جعفر -
إدراج القيم التابعة لمربع تحرير وسرد من نموذج في نموذج فرعي
jjafferr replied to bakoraus's topic in قسم الأكسيس Access
أخي الفاضل bakoraus انت صاحب السؤال ، فرجاء اعط سؤالك حقه من الوقت بشرحه بالتفصيل الدقيق ، وتأكد من ان رابط المرفق يعمل (لأنه للمرة الثالثة لا يعمل)!! جعفر -
النقر المزدوج لفتح تقرير بواسطة نموذج فرعي
jjafferr replied to طاهر اوفيسنا's topic in قسم الأكسيس Access
وعليكم السلام الكود يبحث في الجدول CCP عن وجود الشهر والسنة ، اذا لم يجده : يسألك اذا تريد اضافة السجل ، واذا قلت نعم ، يعمل AddNew ، والذي هو إضافة سجل ، ويكون آخر سجل (اذا عندك رقم تلقائي ستلاحظ هذا) ، واذا قلت لا ، لا يسجل شئ. واذا كان الشهر والسنة موجودان مسبقا (وانت تريد الادخال مرة واحدة فقط) : فيسألك اذا تريد تغيير السجل ، واذا قلت نعم ، يعمل Edit ، والذي يغير السجل الموجود ، بغض النظر عن مكان وجود الشهر في الجدول ، ، واذا قلت لا ، لا يغير شئ. فالظاهر انك لم تنتبه للرسائل التي يعطيك الكمبيوتر ، وعليه حصل ما حصل!! جعفر