اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

jjafferr

أوفيسنا
  • Posts

    9998
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    406

كل منشورات العضو jjafferr

  1. السلام عليكم اخوي ابو ياسين في الرابط التالي ، اخبرتك عن الطريقة الصحيحة في وضع الكود في مشاركات المنتدى ، وجعل الكود سهل القراءة ، فطريقتك هي (كما هو الحال في الكود الذي وضعته في مشاركتك اعلاه) : DoCmd.RunSQL "UPDATE حركات SET حركات.البيان = Format([Forms].[Search]![snddate],""""""دخل يوم """"dddd ""), حركات.[نوع السند] = "" دخـل"",.حركات = ""الخزينه"" " & vbCrLf & _"WHERE (((حركات.[تاريخ الحركة])=[Forms].[Search]![snddate]));" بينما لو اتبعت تعليماتي في الرابط: . لكان كودك هكذا: DoCmd.RunSQL "UPDATE حركات SET حركات.البيان = Format([Forms].[Search]![snddate],""""""دخل يوم """"dddd ""), حركات.[نوع السند] = "" دخـل"",.حركات = ""الخزينه"" " & vbCrLf & _ "WHERE (((حركات.[تاريخ الحركة])=[Forms].[Search]![snddate]));" . فأي الطريقتين ستستخدم في وضع الكود في مشاركتك التالية جعفر
  2. وعليكم السلام إحترافياً ، الامر On Error Resume Next يجب استخدامه في حالات خاصة وضيقة جداً (طبعا حالتك كانت خاصه علشان تحصل على الجواب السريع) ، لأن الامر يوقف جميع رسائل الخطأ ، والتي بعضها ضروري لمعرفة ماهية الخطأ ، ومن ثم معالجته. قمت بالتعديل على الملف المرفق ، والذي يصطاد الخطأ (وفي حالتنا ، البرنامج اخبرنا بأن رقم الخطأ هو 53): Private Sub cmd_Remove3_Click() On Error GoTo err_cmd_Remove3_Click .... .... 'delete the temp cvs file Kill nFile_Name Exit_cmd_Remove3_Click: Exit Sub err_cmd_Remove3_Click: If Err.Number = 53 Then 'file not found Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub . وتم تحديث الملف في المشاركة السابقة جعفر
  3. اصلحت المرفق السابق
  4. اها دقيقة الكود الجديد اصبح Private Sub cmd_Remove3_Click() On Error GoTo err_cmd_Remove3_Click 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 Kill Replace(Me.txtPath, ".csv", ".xls") 'now we have a csv file correctly saved, 'convert it to xls Dim objXLApp As Object Dim wBook As Object Set objXLApp = CreateObject("Excel.Application") Set wBook = objXLApp.Workbooks.Open(nFile_Name, Format:=6, Delimiter:=",") wBook.SaveAs Replace(Me.txtPath, ".csv", ".xls"), FileFormat:=xlExcel8 wBook.Close 'False objXLApp.Quit Set wBook = Nothing Set objXLApp = Nothing 'delete the temp cvs file Kill nFile_Name Exit_cmd_Remove3_Click: Exit Sub err_cmd_Remove3_Click: If Err.Number = 53 Then 'file not found Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Sub جعفر 862.298.Remove_3_Lines_csv.mdb.zip
  5. المرفق ما فيه رساله اصلا
  6. الكود لا يتحقق ، وزيادة الخير ، خيرين ، يصير عنده 4 اصفار زيادة القصد من هذا الكود هو ان يقوم به المبرمج يدويا ، مرة واحدة فقط ، وبدون كود اما اذا كان في يد المستخدم ، فممكن نجعل المعيار: Len([Phone])=6 . جعفر
  7. السلام عليكم اخي عبدالله الطريقة اللي انا اعمل عليها في معظم برامجي ، اني اضع خلفية البرنامج BE ، وجميع المجلدات ، مع بعض ، مثلا: و . بهذه الطريقة ، 1. اذا اردت تغيير مكان البرنامج ، او نقله الى سيرفر ، او الى هارد دسك اسرع SSD مثلا ، فكل اللي اعمله هو ، مجرد نقل المجلد رقم 1 الى المكان الجديد ، وهذا الرابط فيه مثال على هذه الطريقة . 2. في الرابط ، فيه وحدة نمطية ، احفظها في برنامج FE ، . هذه الوحدة النمطية تنظر الى مكان/مسار وجود الجداول ، يعني ممكن البرنامج لا يكون مجزأ ، ويمكن يكون مجزأ الى FE و BE ، وتخبرنا الوحدة النمطية عن مكان وجودها (الجداول) ، ونناديها هكذا: msgbox BE_or_FE ، ولما نعرف مكان وجود BE ، فإننا نستخدم هذا المسار ، لمعرفة مسار جميع المجلدات الموجودة معه في نفس المجلد (طبعا هذا اذا عملت مثل طريقتي) ، ولهذا السبب ، فجداولي لا تحتوي على حقل مسار الصورة ، لأن المسار دائما ثابت والوصول اليه هو عن طريق مكان وجود برنامج BE ، فإذا اردت ان اقرأ الصورة ، هكذا (حسب الصوره اعلاه) حسب الصورة على اليمين me.Pic.Picture = Images_Location & "\Personnel_Images\Employee_Pictures\" & me.Employee_ID & ".jpg" وحسب الصورة على اليسار me.Pic.Picture = Images_Location & "\Images\Employee_Pictures\" & me.Employee_ID & ".jpg" . وطبعا تحفظ الصورة على نفس المسار اعلاه ، و الوحدة Image_Location تأخذ قيمتها من مكان وجود BE وهي من الوحدة BE_or_FE Function Images_Location() 'If we want the Backend Folder Images_Location = BE_or_FE & "\archive" 'or we can assign any location we want 'Images_Location = "\\Server01\Images\archive" End Function . ودائما عندك الاختيار ان تجعل مجلد الصور في مكان مختلف عن مكان وجود قاعدة البيانات ، لذلك تستطيع ان تكتب المسار في نفس الوحدة Image_Location ، وتقرأ الصور او تحفظهم بنفس الكود بعاليه. جعفر
  8. اخي rooz ، واخي alwazeer شكرا على ابداء آرائكم ، ولننتقل للسؤال التالي جعفر
  9. ومثل ما قال اخي الوزير ، وضغطت على الزر ، وطلع لي هذا الكود '------------------------------------------------------------ ' Combo3_AfterUpdate ' '------------------------------------------------------------ Private Sub Combo3_AfterUpdate() On Error GoTo Combo3_AfterUpdate_Err DoCmd.SearchForRecord , "", acFirst, "[رقم الموظف] = " & Str(Nz(Screen.ActiveControl, 0)) Combo3_AfterUpdate_Exit: Exit Sub Combo3_AfterUpdate_Err: MsgBox Error$ Resume Combo3_AfterUpdate_Exit End Sub جعفر
  10. هممم هذا اللي انت طالبه من زمان طيب ارفق لي قاعدة بيانات مصغرة ، وانا احاول اعمل موضوع خاص به ان شاء الله جعفر
  11. السلام عليكم اليك هذا المرفق الجديد : . طبعا بعد ما تدخل وووو وتصبح صفحة الادخال امامك ، 1. رجاء ادخال البيانات في صفحة الموقع يدويا ، وادخل بيانات في كل حقول الصفحة ، سواء كنت محتاج تدخلها او لا ، ولكن لا تخل نفس المعلومة مرتين (يعني اذا الاسم جعفر واسم الجد جعفر ، غيّر اسم الجد الى جعفر ، ونفس الشيء بالنسبة الى الارقام والاختيارات ، لا تدخل نفس الرقم مرتين) ، وياريت تعمل صورة من الصفحة ScreenShot . ثم انقر على زر "استيراد البيانات من صفحة الانترنت" ، واعطها شوية ثواني ، ثم افتح الجدول tbl_Retrieve ، واللي فيه حقلين Field_ID و Field_Value ، فإذا شفت البيانات التي ادخلتها في حقول صفحة الموقع ، شفتها موجودة في حقل Field_Value ، فهذا معناه ممكن التحكم في الصفحة ، وسنتعامل مع ارقام تسلسل الحقول في الصفحة بدل اسمائها ، 2. الخطوة التالية ، اريدك تضغط على الزر "ارسال البيانات الى صفحة الانترنت" (بس قبل ان تعمل هذا ، اريدك تكون اخذت صورة من الصفحة ScreenShot) ، فإذا الصفحة تتقبل ان نرسل لها بيانات ، بتشوف حقول الصفحة فيها ارقام مسلسلة ، وكذلك اريدك تأخذ صورة من الصفحة ScreenShot. 3. اريدك ترسل لي قاعدة البيانات اللي فيها بيانات حقول الموقع ، و صورة الصفحات ScreenShot اللي اخذتها (طبعا تقدر تحذف المعلومات الحساسة منها) ------------------------------ اما اذا قمت في عمل الخطوة رقم 1 والخطوة رقم 2 ، ومافي نتائج مثل ما اخبرتك ، فما بإمكاني عمل اي شيء زيادة !! جعفر 852.123.WebImport.mdb.zip
  12. السلام عليكم الكود الجديد سيغلق الاكسل ، ويقوم بحذف الملف رقم 2 بدل هذا الكود '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 استخدم هذا 'now we have a csv file correctly saved, 'convert it to xls Dim objXLApp As Object Dim wBook As Object Set objXLApp = CreateObject("Excel.Application") Set wBook = objXLApp.Workbooks.Open(nFile_Name, Format:=6, Delimiter:=",") wBook.SaveAs Replace(Me.txtPath, ".csv", ".xls"), FileFormat:=xlExcel8 wBook.Close 'False objXLApp.Quit Set wBook = Nothing Set objXLApp = Nothing جعفر 862.298.Remove_3_Lines_csv.mdb.zip
  13. حيا الله اخوي ابو خليل هاي يحتاج لها تجربة ، لأني من بحثي ، ما لقيت جواب لها جعفر
  14. وعليكم السلام نفترض ان حقل الادخال هو A وحقل النتيجة هو B ، فيصير الكود: عند ادخال رقم اكبر من 2000 و اصغر من 5000 ظهور رقم '2 واذا اكبر من 5000 و اصغر من 10000 ظهور رقم '3 if me.A>2000 and me.A <5000 then me.B=2 elseif me.A>5000 and me.A <10000 then me.B=3 endif جعفر
  15. حياك الله اخبرني بالضبط ماذا تريد ، وماذا فعلت ، وياريت مرفق صغير علشان افهم جعفر
  16. ووالديك ان شاء الله هذه هي الطريقة الابسط في عمل الكود ، وبدون اخطاء (لأنك تتعامل مع متغير واحد فقط في كل سطر) ، والاسهل انك شوي شوي تجرب سطر وتضيف آخر ، والارتب اذا بعدين اردت تغير شيء في الكود ، فتعرف وين تروح ، وتعرف انه ما بيأثر على الشروط/الاسطر الاخرى يعني شطارتي مو في الكود ، وانما في الترتيب المرتب جعفر
  17. وعليكم السلام http://www.utteraccess.com/forum/index.php?showtopic=1992076 رقم 63 http://www.helenfeddema.com/Code Samples.htm وتستطيع ان تنزل كود البرنامج ايضا http://www.skrol29.com/us/vtools.php واللي كان افضلهم http://www.rickworld.com/products.html جعفر
  18. وعليكم السلام خليك في النموذج مال الكود اعلاه في وضع التصميم ، وشاشة الكود مغلقة ، انقر على الكيبورد Ctrl+G ، بتدخل الكود ، وبيكون في نافذة صغيرة في اسفل شاشة الكود ، في الكود اعلاه ، احذف الشرطة من امام Debug.print ، ارجع للنموذج ، شغله ، وخليه يعطيك النتائج ، ارجع لشاشة الكود ، وشوف الشاشة في الاسفل شو مكتوب فيها جعفر
  19. جرب هذا المرفق Muscat_Browsing_csv_all.zip
  20. وعليكم السلام اعتقد بأني استاهل علامتين بس علشان هذا الترتيب ، واما اذا الاجابة صح ، فنور على نور criti = "[Num_brnamge] =" & Forms![Forme_Fatora].[Num_brnamge] criti = criti & " And" criti = criti & " ([service] Between 1 and 3 or [service] Between 6 and 8)" criti = criti & " And" criti = criti & " [Independent_Facilities] Between 1 and 3" 'Debug.Print criti Me.peoplev = DCount("[service]", "Tabil_Visitors", criti) Me.peoplev2 = DCount("[service]", "Tabil_Visitors2", criti) جعفر
  21. وعليكم السلام تستطيع تحقيق ذلك عن طريق استعلام تحديث ، ولكن وقبل ان تبدأ العمل ، اعمل نسخة من برنامجك ، لأنه اذا صارت لك مشكلة ، تقدر ترجع لبياناتك . جعفر
  22. وعليكم السلام هذه طريقتي في جميع برامجي: وهناك تحديث لكود الربط ، ويمكن انزاله من هنا http://www.jstreettech.com/files/JStreetAccessRelinker2.zip جعفر
  23. وعليكم السلام نعم ، الموقع كان به تحديث قبل قليل ، ولكن الان كل شيء تمام ومن اليمين لليسار ، هذا اعداد في الاكسس . جعفر
×
×
  • اضف...

Important Information