بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9907 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام 🙂 استخدمت نتائج Debug.print في الكود تبعك ، ثم حولته الى استعلام (اتضح انه استعلام الحاقي) ، حتى ابدأ من هنا 🙂 طريقتي: اعمل الاستعلام بالطريقة المعتادة: . هذه المسمات لا قيمة ولا فائدة منها ، ويمكننا ان نحذفها ، لأن الاكسس بيعطينا اسم جديد لأي حقل مافيه اسم : . جميع الحقول في الاستعلام تحتاج الى قيمة ، فيجب ان تكون جميع هذه القيم متغيرات ، وعددها 12 حقل ، بالاضافة الى اسم الجدول ، ولتبسيط هذه العملية ، سأستخدم اسم الحقل المراد الاضافة اليه بالاضافة الى الرقم 9 ، مثل: IDUser9 ، IDGroup9 ، بتحويل الاستعلام الاصل الى SQL ، نحصل على هذه الجملة: INSERT INTO UsystbllvlUsers( IDUser,IDGroup,UName,UPassword,FullName,lvlQ1 ,lvlAnsr1,lvlQ2 ,lvlAnsr2,lvlQ3 ,lvlAnsr3,Umail ) SELECT 1 AS IDUser, 3 AS IDGroup, Encoder("admin") AS UName, Encoder("admin") AS UPassword, Encoder("admin") AS FullName, 20 AS lvlQ1, Encoder("administrator") AS lvlAnsr1, 20 AS lvlQ2, Encoder("admin") AS lvlAnsr2, 20 AS lvlQ3, Encoder("managaer") AS lvlAnsr3, Encoder("admin@admin.com") AS Umail; ومن هنا سأبدأ عملية التغيير الى كود ، والهدف بعد الدقة ، هو سهولة الوصول الى الحقول المتشابهة ، اي الحقل والحقل الذي ستاتي منه البيانات ، 1. تفكيك جزئي الجملة ، الجزء الى والجزء من ، وتحويل جميع علامات " الى ' في الجملة (ما عدا التي يجب ان تبقى) : mySQL = "INSERT INTO UsystbllvlUsers( IDUser,IDGroup,UName,UPassword,FullName,lvlQ1 ,lvlAnsr1,lvlQ2 ,lvlAnsr2,lvlQ3 ,lvlAnsr3,Umail )" mySQL = mySQL & " SELECT 1 AS IDUser, 3 AS IDGroup, Encoder('admin') AS UName, Encoder('admin') AS UPassword, Encoder('admin') AS FullName, 20 AS lvlQ1, Encoder('administrator') AS lvlAnsr1, 20 AS lvlQ2, Encoder('admin') AS lvlAnsr2, 20 AS lvlQ3, Encoder('managaer') AS lvlAnsr3, Encoder('admin@admin.com') AS Umail" 2. تفكيك كل جزء الى اسم الجدول ، ثم السطر الثاني يكون اسماء الحقول ، ولنسمي هذه الاسطر 1، 2، 3، 4 mySQL = "INSERT INTO " & UsystbllvlUsers mySQL = mySQL & " ( IDUser,IDGroup,UName,UPassword,FullName,lvlQ1 ,lvlAnsr1,lvlQ2 ,lvlAnsr2,lvlQ3 ,lvlAnsr3,Umail )" mySQL = mySQL & " SELECT " mySQL = mySQL & " 1 AS IDUser, 3 AS IDGroup, Encoder('admin') AS UName, Encoder('admin') AS UPassword, Encoder('admin') AS FullName, 20 AS lvlQ1, Encoder('administrator') AS lvlAnsr1, 20 AS lvlQ2, Encoder('admin') AS lvlAnsr2, 20 AS lvlQ3, Encoder('managaer') AS lvlAnsr3, Encoder('admin@admin.com') AS Umail" ثم ندرج السطر الثاني والرابع تحت بعض (مؤقتا) ، حتى لا نخطأ ، ويكون الحقل من والى تحت بعض (لاحظ الفاصلة بين الحقول) : وعليه ، يصبح السطرين mySQL = mySQL & " ( IDUser, IDGroup, UName, UPassword, FullName, lvlQ1, lvlAnsr1, lvlQ2 , lvlAnsr2, lvlQ3 , lvlAnsr3,Umail )" mySQL = mySQL & " IDUser9, IDGroup9, Encoder('" & UName9 & "'), Encoder('" & UPassword9 & "'), Encoder('" & FullName9 & "'), lvlQ19, Encoder('lvlAnsr19'), lvlQ29, Encoder('lvlAnsr9'), lvlQ39, Encoder('lvlAnsr39'), Encoder('Umail9')" ثم نقوم بتغيير السطر حتى يأخذ المتغيرات (بدلا من مجرد وجودها في السطر الثاني) ، وهنا العمل الفعلي : الآن تم تعديل الكود لكي يستعمل المتغيرات ، ويمكنك استعماله بهذه الطريقة : mySQL = "INSERT INTO " & UsystbllvlUsers mySQL = mySQL & " ( IDUser, IDGroup, UName, UPassword, FullName, lvlQ1, lvlAnsr1, lvlQ2, lvlAnsr2, lvlQ3, lvlAnsr3,Umail )" mySQL = mySQL & " SELECT " mySQL = mySQL & IDUser9 & ", " & IDGroup9 & ", Encoder('" & UName9 & "'), Encoder('" & UPassword9 & "'), Encoder('" & FullName9 & "')," & lvlQ19 & ", Encoder('" & lvlAnsr19 & "'), " & lvlQ29 & ", Encoder('" & lvlAnsr9 & "'), " & lvlQ39 & ", Encoder('" & lvlAnsr39 & "'), Encoder('" & Umail9 & "')" فيصبح الكود النهائي بالشكل الذي انت تريده ، ولاحظ اهمية كتابة رقم الحقل بحيث الجزء الآخر يأخذ نفس الرقم ، فيسهل عليك معرفة كل جزء من الكود : Function Run_SQL(UsystbllvlUsers9, IDUser9, IDGroup9, UName9, UPassword9, FullName9, lvlQ19, lvlAnsr19, lvlQ29, lvlAnsr29, lvlQ39, lvlAnsr39, Umail9) Dim mySQL As String mySQL = "INSERT INTO " & UsystbllvlUsers9 mySQL = mySQL & "( IDUser," '1 mySQL = mySQL & "IDGroup," '2 mySQL = mySQL & "UName," '3 mySQL = mySQL & "UPassword," '4 mySQL = mySQL & "FullName," '5 mySQL = mySQL & "lvlQ1 ," '6 mySQL = mySQL & "lvlAnsr1," '7 mySQL = mySQL & "lvlQ2 ," '8 mySQL = mySQL & "lvlAnsr2," '9 mySQL = mySQL & "lvlQ3 ," '10 mySQL = mySQL & "lvlAnsr3," '11 mySQL = mySQL & "Umail )" '12 mySQL = mySQL & " SELECT " mySQL = mySQL & IDUser9 & ", " '1 mySQL = mySQL & IDGroup9 & ", " '2 mySQL = mySQL & " Encoder('" & UName9 & "'), " '3 mySQL = mySQL & " Encoder('" & UPassword9 & "'), " '4 mySQL = mySQL & " Encoder('" & FullName9 & "'), " '5 mySQL = mySQL & lvlQ19 & ", " '6 Questions '6 mySQL = mySQL & " Encoder('" & lvlAnsr19 & "'), " '7 mySQL = mySQL & lvlQ29 & ", " '6 Questions '8 mySQL = mySQL & " Encoder('" & lvlAnsr29 & "'), " '9 mySQL = mySQL & lvlQ39 & ", " '6 Questions '10 mySQL = mySQL & " Encoder('" & lvlAnsr39 & "'), " '11 mySQL = mySQL & " Encoder('" & Umail9 & "') " '12 'Debug.Print mySQL DoCmd.SetWarnings False DoCmd.RunSQL mySQL DoCmd.SetWarnings True End Function . وتناديه بإرسال قيم هذه المتغيرات : Call Run_SQL(tbl_Name,IDUser, IDGroup, UName, UPassword, FullName, lvlQ1, lvlAnsr1, lvlQ2, lvlAnsr2, lvlQ3, lvlAnsr3, Umail) جعفر
-
وعليكم السلام 🙂 اي حقل يخبرنا عن الشهر؟ انا استعملت [تاريخ البداية] ، واذا كان غير ، فرجاء تغير الاسم هنا : . وفي هذا النموذج تختار الشهر والسنه ، ويتم التصدير لنفس مجلد البرنامج ، ويكون الملف باسم: Client_Year-Month ، مثل Client_2021-10.xlsx . وهذا كود التصدير: Dim xls_File As String xls_File = Application.CurrentProject.Path & "\Clients_" & Me.iYear & "-" & Me.iMonth & ".xlsx" DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "qry_Export_to_Excel", xls_File, True جعفر 1503.تصدير.zip
-
نعم تقدر تستفيد من هذه الطريقة 🙂 قام حظك ابو جودي 🙂 جعفر
- 22 replies
-
- 2
-
-
- ابا جودى
- حقول إجبارية
- (و7 أكثر)
-
وعليكم السلام 🙂 في اعدادات الاكسس ، قم بإختيار status bar (في الدائرة الحمراء) . فلما تأتي للنموذج ، تجد ان القيمة موجودة هنا (السهم الاحمر) 🙂 . لذلك ، استخدم Tag بدلا عن Status Bar Text ، لأن الاكسس قد يستعمل هذه الخاصية ، وتختفي علامة * ويتم استبدالها بقيمة اخرى🙂 جعفر
- 22 replies
-
- 2
-
-
- ابا جودى
- حقول إجبارية
- (و7 أكثر)
-
مشكلة في حساب عدد الاسابيع مع التواريخ بالحلقات التكرارية
jjafferr replied to AliAli47's topic in قسم الأكسيس Access
طبعا اعرف هذا الشيء ، فهذه هي الحاسة السابعة للمبرمج 🙂 جعفر -
مشكلة في حساب عدد الاسابيع مع التواريخ بالحلقات التكرارية
jjafferr replied to AliAli47's topic in قسم الأكسيس Access
وهذه مشاركتي مع اخوي ابوجودي 🙂 استعمل النموذج frm_Generate_Weeks . وهكذا اصبح الكود: Private Sub cmd_Calc_Click() 'all weeks of the year 'Week Number, Saturday, Thursday 'do we have a Year If Len(Me.iYear & "") = 0 Then MsgBox "رجاء ادخال السنه التي تريد العمل عليها" Me.iYear.SetFocus Exit Sub End If 'Do we have iYear data in the table? If DCount("*", "semaine", "Year([dates1])=" & Me.iYear) Then MsgBox "الجدول به بيانات سنة " & Me.iYear & vbCrLf & vbCrLf & _ "لا يمكن الاستمرار" Exit Sub End If Dim D As Date, Date_1 As Date, Date_2 As Date Dim i As Integer, W As Integer Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From semaine") For i = 0 To 366 D = DateAdd("d", i, "1-1-" & Me.iYear) If D >= "31-12-" & Me.iYear Then Exit For If Weekday(D) = 7 Then Date_1 = D 'Saturday Date_2 = DateAdd("d", 5, Date_1) 'Thursday W = W + 1 rst.AddNew rst!n_semaine = W rst!dates1 = Date_1 rst!dates2 = Date_2 rst.Update 'Debug.Print W & vbTab & Date_1 & vbTab & Date_2 End If Next i MsgBox "Done" End Sub جعفر Week, Saturday, Thursday of the year.zip -
فرز التاريخ، اذا كانت البيانات في حقل نص (معدل)
jjafferr replied to salim07's topic in قسم الأكسيس Access
وعليكم السلام 🙂 بالاضافة الى ملاحظة اخوي حسين ، فقوانين المنتدى تتطلب ان يكون لكل سؤال موضوع خاص 🙂 جعفر -
انا عن نفسي ، لم استخدم هذه الطريقة ابداً في اي من برامجي ، وإنما استخدم طريقة اكسس التقليدية 🙂 طبعا هذا لا يعني ان لا يكون هناك حالات خاصة في المستقبل قد استعملها فيها 🙂 بكلام آخر ، انا دائما استخدم طرق اكسس التقليدية : 1. استخدم ربط الجداول بالطريقة العادية ، 2. لا اعمل اخفاء للجداول والاستعلامات والنماذج و.. 3. استخدم قوائم زر الفأرة اليمين ، 4. واستخدم العمود الفقري وقوة الاكسس ، الاستعلامات العادية ، والجأ الى الكود وقت الحاجة ، 5. وووو جعفر
-
وعليكم السلام 🙂 تفضل: Private Sub Command4_Click() Call ApendData("MyTable", Me) End Sub Function ApendData(strTableName As String, frm As Form) Dim db As DAO.Database Dim rs As DAO.Recordset Dim ctl As Control Set db = CurrentDb() Set rs = db.OpenRecordset(strTableName) rs.AddNew For Each ctl In frm.Controls If ctl.ControlType <> acLabel And ctl.ControlType <> acCommandButton Then rs.Fields(ctl.Name) = ctl.Value End If Next ctl rs.Update rs.Close End Function جعفر ApendDataByRecordset.zip
-
اخفاء واظهار صور في نموذج مستمر ( مرفق مثال )
jjafferr replied to hosslom's topic in قسم الأكسيس Access
الآن عندك بحر من الحلول 🙂 هلا والله بالمتواضع 🙂 جعفر -
اخفاء واظهار صور في نموذج مستمر ( مرفق مثال )
jjafferr replied to hosslom's topic in قسم الأكسيس Access
تم تعديل الطريقة الاولى ، بتسمية الاستعلام qry_Show_imgs1 ، والنموذج Form1 ، وتمت الاستفادة من جزئية من كود اخوي حسين @د.كاف يار لضبط المسار تلقائيا (مع اني جربته سابقا ولم يعمل لسبب ما!!) ، شكرا اخوي حسين 🙂 وتم اضافة طريقة ثانية للعمل ، بإضافة الصور الى جدول خاص بها (لأن الصور محدودة وصغيرة فلن تأثر كثيرا على حجم البرنامج) ، فما صرنا محتاجين الى صور خارج البرنامج ، وعليه ، الاستعلام qry_Show_imgs2 ، والنموذج Form2 ، يقومان بالعمل 🙂 جعفر 1501.2.icons_3.zip -
اخفاء واظهار صور في نموذج مستمر ( مرفق مثال )
jjafferr replied to hosslom's topic in قسم الأكسيس Access
السلام عليكم 🙂 في النموذج المستمر ، لا يمكن عمل شيء لحقل دون آخر ، إلا استعمال التنسيق الشرطي 🙂 الطريقة الاخرى ، ان يكون هناك حقل لمسار للصور: هذا المجلد الذي فيه الصور . الاستعلام مصدر بيانات النموذج ، وفيه مسار الصور ، 1- يجب تغيير المسار يدويا ، 2- اسم الصورة هو دمج (مو جمع) الحقلين Completed و Printed . لاحظ اسم الملفات . والنتيجة . جعفر icons_3.zip -
مع اني التشفير مو تخصصي ، والظاهر انه في شيء انا مو فاهمه !! كنت اعتقد ان التشفير يكون عادة لجدول المستخدمين ، كلمة الدخول وكلمة السر فقط ، حتى لا يستطيع مستخدم آخر من معرفة هذه المعلومات. ولكن تشفير هذا الكم الكبير من الحقول !! هل برنامجك من السرّية اللي تشفر جميع هذه الحقول ؟ القصد ، مو بسبب توفر وسهولة استخدام مواد وطرق معينة ، اننا نستخدمها بإسراف 🙂 جعفر
-
فرز التاريخ، اذا كانت البيانات في حقل نص (معدل)
jjafferr replied to salim07's topic in قسم الأكسيس Access
شكرا على التحليل والملاحظة 🙂 المرفق ، وفيه استعلامين ، احدهم بالتواريخ الصحيحة ، والآخر تستفيد منه في معرفة التواريخ الخطأ ، جرب نموذج البحث ، وبعدين نتكلن في التفاصيل ان شاء الله 🙂 جعفر IsDate,CDate.zip -
فرز التاريخ، اذا كانت البيانات في حقل نص (معدل)
jjafferr replied to salim07's topic in قسم الأكسيس Access
وعليكم السلام 🙂 ارفق البرنامج لوسمحت 🙂 جعفر -
ممكن ان تستعمل النموذج الجديد (واعمل فيه حقل البحث txt1) ، كنموذج بحث وتتخلّص من النموذج book : استبدل اسم الحقل المحلي بدل عن حقل النموذج : فبدلا عن: str_Search = Forms!Book!tx1 يكون: str_Search = Me.tx1 ولكني انصحك بالتصفية كما تقوم به الآن ، بحيث يبقى فقط السجلات التي بها كلمة البحث. جعفر
-
انا اعطيتك التفاصيل ، خطوة بخطوة ، جربها على نسخة من برنامجك ، واذا صادفتك مشكلة ، اخبرنا عنخا ، وان شاء الله تجد الجواب في المنتدى 🙂 جعفر
-
سؤال سؤال عن : Dcount بأكثر من شرط من خلال vba Code
jjafferr replied to ابو جودي's topic in قسم الأكسيس Access
حياالله ولد بلادي 🙂 استخدم Trim ، وابتعد عن Like قدر الامكان ، لأنها بطيئه نوعا ما 🙂 جعفر- 20 replies
-
- 1
-
-
- سؤال فى الدوال
- سؤال عن dcount
- (و2 أكثر)
-
ARROWS SYMBOLS هل هناك كود ليظهر هذا الشكل فى المربع
jjafferr replied to DR WALID SALAH's topic in قسم الأكسيس Access
مثل ما دائما اقول: المبرمج مثل الطباخ ، من نفس المكونات يصنع عشرات الوجبات وبنكهات مختلفة 🙂 جعفر -
وهو الذي عملته انا في آخر مرفق
-
وإضافة بسيطة لم استطع اكمالها البارحة: 1. يخبرك تسلسل كلمة البحث الواقف عليها ، 2. الاسهم تبدا التضليل من جديد عندما تصل الى آخر كلمة (طبعا مع اختلاف ذلك ، صاعدا او نازلا) : . جعفر تلوين2.zip
-
فصل الفرق بين تاريخين إلى سنوات، وشهور وأيام
jjafferr replied to capitala's topic in قسم الأكسيس Access
السلام عليكم 🙂 لا وانت الصادق ، من 1-2-2021 الى 1-3-2021 يعتبر شهر 🙂 لأن يوم 28-2-2021 بعد منتصف الليل يكتمل اليوم ، وهذا معناه ان اليوم اصبح 1-3-2021 🙂 جعفر -
السلام عليكم 🙂 صار لكم 15 ساعة وما وصلتوا الى نتيجة ، بسبب قلة المعلومات 🙂 محتاجين مرفق. جعفر
-
مشكلة في حساب عدد الاسابيع مع التواريخ بالحلقات التكرارية
jjafferr replied to AliAli47's topic in قسم الأكسيس Access
وعليكم السلام 🙂 تفضل: 'all weeks of the year 'Week Number, Saturday, Thursday Dim D As Date, Date_1 As Date, Date_2 As Date Dim i As Integer, W As Integer For i = 0 To 366 D = DateAdd("d", i, "1-1-" & Year(Date)) If D >= "31-12-" & Year(Date) Then Exit For If Weekday(D) = 7 Then Date_1 = D 'Saturday Date_2 = DateAdd("d", 5, Date_1) 'Thursday W = W + 1 Debug.Print W & vbTab & Date_1 & vbTab & Date_2 End If Next i . جعفر -
فرز التاريخ، اذا كانت البيانات في حقل نص (معدل)
jjafferr replied to salim07's topic in قسم الأكسيس Access
المشكلة عندك بأن حقل التاريخ عندك عبارة عن نص ، فنستعمل الامر CDate ومعناه حوّل البيانات الى تاريخ Convert to Date ، ومنها تستطيع عمل الفرز 🙂 هي نفس المشكلة في اسماء الملفات في المجلد ، اذا كانت الاسماء عبارة عن تاريخ ، لا يمكن فرزها بالطريقة الصحيحة !! جعفر