بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9910 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
طلب اظهار جميع السجلات الموجودة في الجدول في النموذج الفرعي
jjafferr replied to psdk1414's topic in قسم الأكسيس Access
السلام عليكم ما قاله اخي كاسر صحيح ، مع تعديل بسيط . العلاقة بين الجدولين معناها ، اظهر الارقام الموجوده في الجدولين (نفس الارقام) . لتغيير العلاقة في الاستعلام ، انقر مرتين على الخط بالفأرة اليسار) او : 1. انقر على الخط بالفأرة اليمين ، 2. اختر اعدادات الربط . اختر : جميع السجلات الموجودة في الجدول "كفالة فقير" ، اللي هو رقم 2 . نشوف الآن ان الخط العلاقات تغير . والنتيجة: . جعفر 933.30.accdb.zip -
حياك الله اذا نظرت في مشاركة ام ناصر الثانية ، انظر في الكود ، فسترى انها وضعت هذه الارقام ، فأعتقدت بأنها تسأل عنها ، فأجبتها جعفر
-
وعليكم السلام انزلت مرفق اخي kanory مما شجعني على الرد ، بنفس طريقته تقريبا ، ولكن بكود مختلف ومختزل Private Sub cmd_Go_Click() Dim rst As DAO.Recordset Dim rst2 As DAO.Recordset Dim db As DAO.Database Dim RC As Integer Dim i As Integer Dim j As Integer Dim x() As String Set db = CurrentDb db.Execute ("Delete * From tbl_temp") Set rst2 = db.OpenRecordset("Select * From tbl_temp") Set rst = db.OpenRecordset("Select * From Table1 Where [mawad] is not null") rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For i = 1 To RC x = Split(rst!mawad, "/") For j = LBound(x) To UBound(x) rst2.AddNew rst2!mawad = x(j) rst2.Update Next j rst.MoveNext Next i rst.Close: Set rst = Nothing rst2.Close: Set rst2 = Nothing db.Close DoCmd.OpenQuery "qry_Statistics" End Sub جعفر 932.count_.mdb.zip
-
والآن اجيب على اسئلتك: 1. هناك نوعين من Recordset ، نوع يخص DAO وآخر يخص ADO ، ومع تشابههما ، إلا ان هناك الكثير من الاوامر التي تختلف بينهم ، فإذا لم نخصص نوع الـ Recordset ، فالاكسس يستعمل مكتبة الاولى في القائمة ، مثلا ، في الصور التالية ، مكتبة ADO قبل مكتبة DAO ، فعند كتابة Recordset فقط ، فالاكسس يعتبرها تابعه لـ ADO: في الاكسس 2003 . وفي الاكسس 2010 فما فوق تم دمج مكتبة DAO في MS Office 14 Access Database engine object . 2. هذا امر OpenRecordset ، فيه عدة اختيارات ، والمبرمج اختار هذه لأسبابه ، ويمكنك الاستغناء عن الجزئين الاخيرين منها ، حيث هذا يكفي: (Set rst = db.OpenRecordset(strSQL . 3. المؤشر في سجلات Recordset يكون كما في القائمة التالية: BOF Record1 Record2 .. .. EOF حيث BOF = Begining Of File EOF = End Of File فإذا كنا على BOF او EOF فلا يوجد هناك سجلات ، فالسطر معناه ، اننا مادمنا لسنا قبل بداية ولا بعد نهاية الـ Recordset ، فقم بالخطوة التالية ، 4. انتقل الى اول سجل تصادفه (رجاء متابعة النقطة التالية) ، 5. اذا اردنا ان نجعل الـ Recordset بالكامل في ذاكرة الكمبيوتر ، فعلينا ان نأخذ المؤشر الى آخر سجل ، ثم عندما نأخذ المؤشر الى اول سجل ، فيعرف البرنامج عدد سجلات هذا الـ Recordset ، بينما في الرقم#4 اعلاه ، فنحن طلبنا منه البدء من اول سطر وبدون معرفة عدد السجلات ، والنقطتين معناها سطر جديد في الكود ، يعني: بدل كتابة For i = 1 To RC childrst.Delete childrst.MoveNext Next i يمكننا كتابة For i = 1 To RC: childrst.Delete : childrst.MoveNext : Next i . ولكننا اذا عملنا هذا الشيء لكل الكود ، فلن نعرف كيف نتصيد الخطأ ، ولا نستطيع استعمال Goto ، فنحن نستعمله في نطاق نعمل انه لن تكون لدينا اخطاء فيه جعفر
-
انظر الى الحقل في الجدول الآن ، ستجد ان المرفقات لاتزال موجودة ، ولكن الاكسس لا يستطيع فتحها!! تفضلي اختي : 1. لكي تحذفي مرفقات السجل الذي انتي عليه فقط ، 2. واذا كان السجل يحتوي على اكثر من مرفق ، واردتي حذف مرفق معين من هذا السجل ، فيمكنك استعمال هذا السطر ، جعفر
-
هلا والله اخوي عبد الفتاح فكرة حلوة ، بس شوف الحقل في الجدول بعد الحذف ، وحاول تفتح المرفق من هناك!! هذا الحقل ليس كحقل آخر عادي ، فيجب التعامل معه بطريقة اخرى جعفر
-
قمت بتعديل مشاركتي السابقة ، فبدل "فحفظ الصور" اصبح "فحفظ المرفقات سواء الصور/pdf" وهذه بعض المشاركات السابقة لي عن موضوع المرفقات ، ورجاء قراته بالكامل : . وطرق الاستغناء عنها بمجلد في الوندوز . جعفر
-
السلام عليكم اخي وقبل ان تواصل العمل في برنامجك ، فحفظ اي انواع من المرفقات سواء الصور/pdf في البرنامج يُعتبر خطأ كبير وفادح ، وضرره اكثر بكثير من فوائده!! احفظ المرفقات في مجلدات داخل الوندوز ، وبالكود تقدر اظهارها في النماذج ، او ارفاقها بالايميل. جعفر
-
طلب بوضع اقصى قيمة للشريط التقدمى بالكود
jjafferr replied to Elsayed Bn Gemy's topic in قسم الأكسيس Access
وعليكم السلام وهذا مؤشر معمول في البيت ، يعني تقدر تغير فيه مثل ما تريد جعفر -
وعليكم السلام ضعي هذا الكود على زر: Dim strSQL As String Dim rst As DAO.Recordset Dim childrst As DAO.Recordset Dim db As DAO.Database Dim RC As Integer Dim i As Integer 'from https://stackoverflow.com/a/42239279 strSQL = "SELECT * FROM Table1 WHERE Not (Table1.image.FileData) Is Null;" Set db = CurrentDb Set rst = db.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges) If Not rst.BOF And Not rst.EOF Then rst.MoveFirst End If Do Until rst.EOF Set childrst = rst.Fields("image").Value childrst.MoveLast: childrst.MoveFirst RC = childrst.RecordCount For i = 1 To RC 'Debug.Print rst!ID & " > " & childrst.Fields("FileName") 'If childrst.Fields("FileName") = "11.jpg" Then childrst.Delete 'End If childrst.MoveNext Next i rst.MoveNext Loop . جعفر
-
رسالة لم يتم العصور على العنصر فى هذه المجموعة
jjafferr replied to حمدى الظابط's topic in قسم الأكسيس Access
وعليكم السلام اخي حمدي مع اني اقرأ جميع اسئلتك ، ولكن لسبب ما ، لا اعرف الاجابة عليها السبب في حصولك على الخطأ هو عدم وجود قيمة للمتغير xMada (لاحظ ان نتيجتها False) ، فالاستعلام لا يحتوي على الحقل المطلوب ، فيظهر لك الخطأ: . وبعد عمل هذه التعديلات ، اتضح ان هناك اخطاء كثيرة في السطر: CurrentDb.Execute "UPDATE Ashgal SET " & xMada & "= '" & rstTeacher!المادة & " xFasl & " = " & rstTeacher!الفصل & " ' WHERE ((([اليوم])=" & randOFDays & "));" وعلشان اعرفها ، اضطررت ان افكك هذا السطر هكذا mySQL = "UPDATE Ashgal SET " & xMada mySQL = mySQL & " = '" & rstTeacher!المادة & "'" mySQL = mySQL & " ,Fasl" & nNumber & " = '" & rstTeacher!الفصل & "'" mySQL = mySQL & " WHERE [اليوم]=" & randOFDays Debug.Print mySQL CurrentDb.Execute (mySQL) 'DoCmd.RunSQL (mySQL) . وهذا السطر كان المعاون الاساسي لمعرفة المتغيرات Debug.Print mySQL انا لا ادري اذا كانت النتائج صحيحة ، ولكني اعرف بأن الاخطاء توقفت ، وانتهى الكود من العمل جعفر 930.تعديل.accdb.zip -
وعليكم السلام آخر مرة اشتغلت على كود الاوتلوك كان قبل حوالي 10 سنوات ، ومنذ ذلك الوقت لم اشتغل على الاوتلوك!! في مجموعة طرق تسمح لك ترسل ايميل من الاكسس ، وهنا احد الطرق: https://www.devhut.net/2010/09/03/vba-outlook-automation/ ولكن ، الظاهر يجب ان تحفظ المرفقات في مجلد خارجي ، ومنها ترفقها للاوتلوك. آسف اني ما اقدر اساعد اكثر من هذا جعفر
-
وعليكم السلام اخي محمد حقل الترقيم التلقائي هو للبرنامج ، وفهرسة السجلات ، وتوليد ارقام فريدة للسجلات ، ولكنه ليس للمبرمج. المبرمج يجب ان يعمل له الحقول التي يحتاج لها لبرمجته ، ولا مانع من الاستفادة من حقل الرقم التلقائي ، لذلك ، ليس مهما اي رقم هو رقمك التلقائي ، ومن اهميته ، فلا يسمح لك الاكسس تغييره ، واذا فقدت رقم تسلسل واستعملت الرقم الذي بعده ، فلا يمكنك استرجاع اي من الارقام المفقودة والتي وسط الارقام الاخرى ، مثلا ارقامك 1،3،4،6 ، فلا يمكنك استرجاع الارقام 2،5 ، اما اذا (خلينا نتابع المثال المرفق) ، الرقم الجديد الذي نحصل عليه هو 31 ، . 1. آخر رقم تم استعماله هو 23 ، بينما فقدنا جميع الارقام بعد الـ 23 ، فإذا اردنا البرنامج ان يبدأ الرقم التالي بالرقم 24 ، فعلينا عمل ضغط واصلاح لقاعدة البيانات ، 2. بينما اذا اردنا ان نبدأ الرقم التلقائي برقم غير 24 ، بالرقم 25 مثلا ، فنستطيع ان نستعمل الكود التالي: . والكود الذي يقوم بذلك هو: Private Sub cmd_Do_Click() If Len(Me.int_Start_2 & "") = 0 Then MsgBox "What is the initial number?" Me.int_Start_2.SetFocus Exit Sub End If biggest_Number = Nz(DMax("[Auto_ID]", "Data"), 0) If Me.int_Start_2 - 1 <= biggest_Number Then MsgBox "the biggest_Number in the table is :" & biggest_Number & vbCrLf & _ "Your initial number SHOULD be bigger than this number" Me.int_Start_2.SetFocus Exit Sub End If 'from http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp 'add the initial number mySQL = "INSERT INTO Data ( auto_ID )" mySQL = mySQL & " SELECT " & Me.int_Start_2 - 1 & " AS Expr1;" CurrentDb.Execute (mySQL) 'Delete the dummy number mySQL = "DELETE * FROM Data WHERE auto_ID=" & Me.int_Start_2 - 1 CurrentDb.Execute (mySQL) MsgBox "Now the NExt Auto_ID will be " & Me.int_Start_2 End Sub . ونحصل على النتيجة التالي: . جعفر 927.2.Access4.accdb.zip
-
تنسيق حقل من نوع رقم إلي نص ( في النموذج )
jjafferr replied to محمود أبوسيف's topic in قسم الأكسيس Access
وعليكم السلام تفضل: 1. يجب تغيير نوع الحقل من نص الى مربع تحرير ComboBox ، 2. بما ان البيانات المطلوبة من الجدول tblFotrType ، ونريد بيانات حقلين ، حيث الرقم هو الحقل الاول (ولا نريد ان نراه ، فنجعل حجمه صفر) ، والحقل الثاني هو المطلوب رؤيته (واعطيناه حجم) ، . ويكون ارتباط الحقل الاول بالجدول . والنتيجة . جعفر 928.تنسيق.accdb.zip -
وعليكم السلام اخي ابو عمر تقريبا يمكننا عمل اي شيء بالاكسس ، ولكن ارجو ان تقتح موضوع جديد بهذه الخصوصية ، وترفق لنا مثال مفصل ومرفق بوضح المطلوب جعفر
-
وعليكم السلام بدل هذا السطر Set rst = CurrentDb.OpenRecordset("Select * From Data") استعمل Set rst = CurrentDb.OpenRecordset("Select * From Data Order By [Name]") . جعفر
-
وعليكم السلام اخي مصطفى واهلا وسهلا بك في المنتدى الرابط التالي سيفيدك جعفر
-
اهتزاز في الشاشة عند استعمال حقل مجموع الرصيد في الاستعلام
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
-
اهتزاز في الشاشة عند استعمال حقل مجموع الرصيد في الاستعلام
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
تفضل ، جرب هذا المرفق جعفر 918.5.برنامج المخــــــــــزون - - نسخة.mdb.zip -
اهتزاز في الشاشة عند استعمال حقل مجموع الرصيد في الاستعلام
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
الله يطول عمرك اخوي ابو زاهر انا كنت اريد برنامجك اللي فيه البيانات متكررة ، واريد مجموعة منها ، انا ما اريد ان ادخل البيانات ، وانما اريدك انت ان تدخل البيانات بالطريقة الصحيحة جعفر -
اها ، ما قرأت كل الكود الظاهر يجب ان تعمل connection للجداول قبل خطوة إضافة السجل ، لأن الكود اعلاه يغلق الاستصال بعد الكود ، فكل اللي تقوم فيه من بيانات وسجل سابق ولاحق ، هي موجودة في Recordset الذي جلبته من البيانات قبل اغلاق الاتصال. Ado فيه اتصال وقطع اتصال ، وهذا الذي استعملته انت ، بينما Dao مافيه قطع اتصال ، جعفر
- 7 replies
-
- 1
-
-
- controldata
- datasource
-
(و1 أكثر)
موسوم بكلمه :