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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام 🙂 هذ التغيير الذي عملته في الكود ، والباقي لم المسه 🙂 On Error Resume Next 'تعديل سجل موجود في الجدول ' W = "" Set rs = CurrentDb.OpenRecordset("Alsnaf") 'البحث عن رقم السجل المعدل 'اذا وجد السجل rs.FindFirst "[ID_Sanf] =" & ID_Sanf 'تحريره rs.Edit rs!ID_Sanf = ID_Sanf rs!Sanf = Sanf rs!Alwsf = Alwsf rs!Price_Bought = Price_Bought rs!Price_Sales = Price_Sales rs!Almwka = Almwka rs!Albdil = Albdil rs!Albdil2 = Albdil2 rs!Albdil3 = Albdil3 rs!rsdaolalmdh = rsdaolalmdh rs!Source = Source rs!Packing = Packing rs!ASRKA = ASRKA rs!A2 = A2 rs.Update rs.MoveNext Me.txt_2 = rs!ID_Sanf If rs.NoMatch Then MsgBox "لم يتم العثور على السجل" Exit Sub End If ' MsgBox "تم الحفظ" 'End If . ولكن يا ابو زاهر ، في طريقة جدا اسهل من طريقتك ، فالاكسس يقوم بكل هذا تلقائيا وتقريبا بدون كود ، وخصوصا اشوف انك داخل في غياهب الـ Recorset اجعل النموذج مصدر بياناته استعلام ومصدر بيانات الاستعلام الجدول Alsnaf ، وحقل البحث يكون غير منتظم ، والاستعلام يكون فيه معيار البحث من النموذج ، والاكسس يواصل عمله من هنا تلقائيا ، سواء بالحفظ او الحصول/عدم الحصول على سجل البحث ، وبدون كود تقريبا 🙂 جعفر 1137.التالي.accdb.zip
  2. السلام عليكم ابو ياسين 🙂 غريبة ما سألتني: في جدول Data ، بما انه هناك اكثر من قماش وطول لكل زبون ، فانت عندك 8 الى الآن ، فالمفروض انك تخرج هذه الحقول من هذا الجدول ، وتعمل جدول جديد مثل sData ، فيه حقل قماش (يجب ان يكون مفهرس) وطول فقط ، طبعا مع حقل يأخذ ID من جدول Data ، ثم في النموذج تعمل نموذج فرعي للجدول sData ، وتضيف فيه اي عدد من الاقشمة والاطوال حتى لو جاب القبيلة كلها 🙂 طبيعة استعلام الـ union اللي انا عملته ، بطيء ، لأني دمجت 8 استعلامات فيه ، والحقل قماش غير مفهرس ، فلما تربط جدولين في استعلام بحقول غير مفهرسة ، فالاستعلام يكون ابطئ جعفر
  3. سيدي الفاضل ، ما قدرت اخلي التحديث اسرع من هاي 🙂 واذا السرعة عجبتك ، اخبرك كيف تجعلها اسرع ان شاء الله 🙂 جعفر 1134.jjafferr.accdb.zip
  4. اذا البرنامج بصيغة mdb او mde ، فنعم في برامج لفك كلمة السر ، ولكن لا يوجد برنامج لفك كلمة السر للبرامج بصيغة accdb او accde ، فكل البرامج عندها محاولات لفك كلمة السر ، كما ذكرت في الرابط اعلاه 🙂 والحكم الانترنت ، ابحث ، وبتشوف النتائج 🙂 جعفر
  5. حياك الله 🙂 بس اجابات الاستعلام كانت غريبه ، فهل حصلت على النتائج الصحيحة من واقع بياناتك؟ جعفر
  6. تفضل 🙂 هذا الاستعلام ، وبسبب ان عدد الحقول كثيرة اللي نرسلها للوحدة النمطية ، استعملت الطريقة الاولى 🙂 هكذا ننادي الوحدة النمطية: وهذه النتيجة: وهذه الوحدة النمطية: Public Function Add_All(ID As Long) As String On Error GoTo err_Add_All 'G1, R1, K1, G2, R2, K2, G3, R3, K3, G4, R4, K4, G5, R5, K5, G6, R6, K6, G7, R7, K7, G8, R8, K8, G9, R9, K9, G10, R10, K10 Dim rst As dao.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl1 Where ID=" & ID) If Nz(rst!G1, 0) < Nz(rst!R1, 0) * 0.3 Then Add_All = Nz(rst!K1, 0) ElseIf Nz(rst!G1, 0) < Nz(rst!T1, 0) Then Add_All = "K1" ElseIf Nz(rst!G2, 0) < Nz(rst!R2, 0) * 0.3 Then Add_All = Nz(rst!K2, 0) ElseIf Nz(rst!G2, 0) < Nz(rst!T2, 0) Then Add_All = "K2" ElseIf Nz(rst!G3, 0) < Nz(rst!R3, 0) * 0.3 Then Add_All = Nz(rst!K3, 0) ElseIf Nz(rst!G3, 0) < Nz(rst!T3, 0) Then Add_All = "K3" ElseIf Nz(rst!G4, 0) < Nz(rst!R4, 0) * 0.3 Then Add_All = Nz(rst!K4, 0) ElseIf Nz(rst!G4, 0) < Nz(rst!T4, 0) Then Add_All = "K4" ElseIf Nz(rst!G5, 0) < Nz(rst!R5, 0) * 0.3 Then Add_All = Nz(rst!K5, 0) ElseIf Nz(rst!G5, 0) < Nz(rst!T5, 0) Then Add_All = "K5" ElseIf Nz(rst!G6, 0) < Nz(rst!R6, 0) * 0.3 Then Add_All = Nz(rst!K6, 0) ElseIf Nz(rst!G6, 0) < Nz(rst!T6, 0) Then Add_All = "K6" ElseIf Nz(rst!G7, 0) < Nz(rst!R7, 0) * 0.3 Then Add_All = Nz(rst!K7, 0) ElseIf Nz(rst!G7, 0) < Nz(rst!T7, 0) Then Add_All = "K7" ElseIf Nz(rst!G8, 0) < Nz(rst!R8, 0) * 0.3 Then Add_All = Nz(rst!K8, 0) ElseIf Nz(rst!G8, 0) < Nz(rst!T8, 0) Then Add_All = "K8" ElseIf Nz(rst!G9, 0) < Nz(rst!R9, 0) * 0.3 Then Add_All = Nz(rst!K9, 0) ElseIf Nz(rst!G9, 0) < Nz(rst!T9, 0) Then Add_All = "K9" ElseIf Nz(rst!G10, 0) < Nz(rst!R10, 0) * 0.3 Then Add_All = Nz(rst!K10, 0) ElseIf Nz(rst!G10, 0) < Nz(rst!T10, 0) Then Add_All = "K10" Else Add_All = "OK" End If Exit_Add_All: rst.Close: Set rst = Nothing Exit Function err_Add_All: If Err.Number = 3265 Then 'No field Add_All = "" Resume Exit_Add_All Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function جعفر 1136.D3.accdb.zip
  7. بالنسبة الى ارسال البيانات من الاستعلام الى الوحدة النمطية ، فتكون هكذا: A: myFunction([G1],[R1],K1,[T1],[G2],[R2]....) وفي الوحدة النمطية تستقبل هذه البيانات بنفس عدد المتغيرات ، هكذا: public function myFunction(G1,R1,K1,T1,G2,R2....) جعفر
  8. تارة ممكن نرسل هذه البيانات من الاستعلام الى الوحدة النمطية ، وتارة ممكن نرسل ID السجل من الاستعلام ، ثم في الوحدة النمطية ننادي السجل بالكامل ، ونحصل منه على هذه البيانات ، هكذا: public function Add_All(myID) dim rst as dao.recordset set rst= currentdb.openrecordset ("Select * From myTable Where ID=" & myID) do while not rst.eof هنا ناخذ اسماء الحقول من الجدول if rst!G1 < rst!R1 then end if loop Add_All = myAnswer_back_to_the_query rst.close : set rst = nothing end function جعفر
  9. وعليكم السلام 🙂 استعمل وحدة نمطية ، زنادها من الاستعلام 🙂 جعفر
  10. السلام عليكم 🙂 سر ولازم اكشفه 🙂 في الكثير من المواضيع المهمة اللي اريد اتابعها ، ولكن بدون ان اضيف مشاركة ، اقدر اتابع هكذا : جعفر
  11. عمل جميل اخي ابو الكرم 🙂 جعفر
  12. عفوا اخوي كاسر ، كلامك صحيح 🙂
  13. تأخرت لأني كنت ابحث عن الموضوع 🙂 تفضل ، مادام واجهة ، فالامر سهل 🙂 جعفر
  14. هذا معناه عندك بيانات غير اللي ارفقتها ، فياريت ترسلها لي على الخاص. شكرا
  15. نسينا نسأل ، اذا اليومين مال الارض ، او مال كوكب ثاني ولازلنا في الانتظار 🙂 جعفر
  16. للأسف ما عندي تجربة في مثل الشيء ، وبعد البحث اخبرتك 🙂 وقوانين المنتدى تقول: 1. يمنع منعا باتا نشر أية مواد تخالف حقوق الملكية الفكرية لا تسمح بأن نفك كلمة سر برنامج (هذا اذا كنا قادرين اصلا) ، ولكن الانترنت مليان مثل هذه الاسئلة 🙂 جعفر
  17. وعليكم السلام 🙂 كلمة سر البرنامج او VBA ؟ صيغة البرنامج mdb او accdb ؟ هل البرنامج جزء واحد او مقسم الى جزئين واجهة وجداول ، واذا مقسم ، هل تريد كلمة سر الواجهة او الجداول ؟ جعفر
  18. انا عملت اللي ممكن اقدر عليه في الكود ، جربه واخبرنا لو سمحت Function IsAutoNumber2() 'DoCmd.SetWarnings False Dim n, f, D, E, L, t, h, G As Integer Dim rst As DAO.Recordset Dim bb As Integer ' Dim i As Integer, RC As Integer ' Set rst = CurrentDb.OpenRecordset("SELECT * FROM [اقمشة]") ' rst.MoveLast: rst.MoveFirst ' RC = rst.RecordCount ' For i = 1 To RC Set rst = CurrentDb.OpenRecordset("SELECT komash, qunt4 FROM [اقمشة]") Do While Not rst.EOF rst.Edit n = Nz(DSum("[quntt]", "Data", "komash='" & rst!komash & "'"), 0) f = Nz(DSum("[quntt1]", "Data", "komash1='" & rst!komash & "'"), 0) D = Nz(DSum("[quntt2]", "Data", "komash2='" & rst!komash & "'"), 0) E = Nz(DSum("[quntt3]", "Data", "komash3='" & rst!komash & "'"), 0) L = Nz(DSum("[quntt4]", "Data", "komash4='" & rst!komash & "'"), 0) t = Nz(DSum("[quntt5]", "Data", "komash5='" & rst!komash & "'"), 0) h = Nz(DSum("[quntt6]", "Data", "komash6='" & rst!komash & "'"), 0) G = Nz(DSum("[quntt7]", "Data", "komash7='" & rst!komash & "'"), 0) rst("qunt4").Value = n + f + D + E + L + t + h + G rst.Update rst.MoveNext Loop ' Next i rst.Close: Set rst = Nothing MsgBox " تم تعديل السجلات في الجدول بنجاح ", vbInformation, "تنبيه" 'DoCmd.SetWarnings True End Function جعفر
  19. وعليكم السلام اخوي ابو ياسين 🙂 الموضوع معقد اكثر مما اعتقدت ، وعدة محاولات باءت بالفشل ، ولكني لم أيأس بعد 🙂 جعفر
  20. اختنا الفاضلة زهرة ام عهود ، الغائبه و الحاضره دائما معانا 🙂 هذه قطرة من كرمها 🙂 http://arabteam2000-forum.com/index.php?/topic/170095-الحل-الكامل-لمشكلة-project-is-unviewable/ جعفر
  21. يجب عليك معرفة كلمة سر كود VBA لهذه الخطوة !! جعفر
×
×
  • اضف...

Important Information