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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    404

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

  1. اخي ابو حسان 🙂 هل هذه الاسئلة الاخيرة لها علاقة بموضوع صلاحيات المستخدمين ؟ اذا لم تكن ، فرجاء افتح لها موضوع جديد 🙂 جعفر
  2. وعليكم السلام اخوي عمرو 🙂 فكرة جميلة 🙂 انا تقريبا جميع برامجي مفتوحة المصدر ، لهذا السبب ، هذه المواضيع ليست من تخصصي ، ورحم الله امرئ عرف قدر نفسه 🙂 جعفر
  3. اخي مصطفى ، بالله عليك ، هل تستطيع انت ان تقرأ المعلومات اللي في الصورة التي ارفقتها !! ساعدنا حتى نساعدك !! حسب من استطعت قراءته ، الرسالة تقول ، ان الحقل/الكائن Exp1 غير موجود في النموذج ، فتأكد من الاسم 🙂 فوائد الماكرو : 1. في الاكسس 2010 ، عملت مايكروسوفت على جعل الاكسس يعمل في الانترنت ، ولكنه كان يقبل الماكرو فقط (وبعدين وبعد ان شافوا قوته وكثرة تهافت المبرمجين عليه ، اوقفوه حتى يستعملون برامج مايكروسوفت الاخرى والمخصصة لصفحات الانترنت ، وطبعا قواعد البيانات SQL Server ) ، 2. في بعض الشبكات ، يتم وقف اكواد VBA ، وفقط يمكنك استعمال الماكرو في عملك (لأن الكثير الفايروسات وبرامج التخريب تعمل بلغة VBS وهو مشابه لـ VBA ، فالشبكات توقفه) ، 3. الماكرو سهل في التعامل معه ، فقط نحتاج الى ممارسة 🙂 جعفر
  4. السلام عليكم 🙂 هذا الموضوع يُعتبر تتمة للموضوع الذي تم حله ، ويمكن الاستفادة من الكود هناك في حل الموضوع الجديد جعفر
  5. وعليكم السلام 🙂 الخطأ الابسط: عندكم خطأ في اسم الحقل في المعادلة ، يجب ان تكون بالمقلوب: واردت اتاكد ان الكلمات العربية ما قلبت الكود : والخطأ الاكبر: النموذج مرتبط بجدول ، فأي تغيير في بياناته يجعلك تغير بيانات الجدول ، فلما تدخل رقم الهوية (لسبب مؤقت وهو البحث) في حقل مرتبط في الجدول ، فانت تُخبر نظام قاعدة البيانات بأنك في وضع تعديل: . . فالطريقة الصحيحة ان يكون عندك حقل غير مضمن للبحث ، هكذا مثلا: . ثم تستعمل هذا الكود على حدث "بعد التحديث" Private Sub srch_Card_AfterUpdate() Dim X As Long Dim i As String Dim xSplit() As String X = Me.srch_Card.Text 'i = DLookup("[aa] & '|' & [bb] & '|' & [cc]", "BeneficiaryT", "[رقم الهوية]=" & X) i = Nz(DLookup("[الاسم] & '|' & [اسم الاب] & '|' & [العائلة]", "BeneficiaryT", "[رقم الهوية]=" & X), "There_Are_No_Records_Here") If i <> "There_Are_No_Records_Here" Then xSplit = Split(i, "|") i = xSplit(0) & " " & xSplit(1) & " " & xSplit(2) MsgBox "رقم الهوية" & " ( " & X & " ) " & " تم تسجيله مسبقاُ" & "بأسم" & " " & i, vbCritical, " تنبيه" Me.card.SetFocus DoCmd.FindRecord X, , , , , , True DoCmd.GoToControl "srch_Card" Me.srch_Card.SetFocus Else MsgBox "لا يوجد سجل لهذه الهوية", vbCritical, " تنبيه" Exit Sub End If End Sub . وتلاحظ اني لم استدعي البيانات من الجدول 3 مرات باستعمال 3 اوامر Dlookup ، وانما استدعيتها مرة واحدة (هذا جدا مهم خصوصا لما تكون قاعدة بياناتك مقسمة وعلى السرفر ويستعملها اكثر من مستخدم ، فيجب ان تقلل من زياراتك للجدول ، حتى تخفف العبء عليها وعلى الشبكة) 🙂 جعفر
  6. الشفافية ليست لون ،والشفافية في حقل النص ، معناه عدم وجود خلفية : . ومساعد اكسس يخبرنا طريقة استعمال هذه الاعدادات: . me.textbox.BackSyle = 0 وللاسف هذا الخيار لا يوجد في التنسيق الشرطي 😁 جعفر
  7. معلومات اكثر عن الامر Like في الاستعلام جعفر
  8. السلام عليكم 🙂 الكثير يعتقد ان الامر Like في الاستعلام للبحث يكون بهذه الطريقة فقط: Like "*" & Forms!frm_Main!Srch_Item & "*" . بينما هناك العديد من الطرق للاستفادة من هذا الامر : عندنا هذا الجدول وفيه مجموعة اسماء: . ما تفرق ان نستخدم العلامة المزدوجة " او العلامة الاحادية ' اذا استعملنا الامر في اسم الحقل ، فنتائج السجلات الصحيحة التي تطابق معيار Like تكون -1 (بمعنى صح True)، هذه الطريقة ممكن نستفيد منها في جمع عدد الحقول . النجمة * معناها جميع الحروف ، جميع السجلات التي تبدأ بالحرف a او A ، وبقية الحروف التي خلفها (خلف a او A) ، والاكسس لا يفرق بين الحروف الصغيرة a والكبيرة A في الاستعلام . ولما نسبق الامر Like بالامر Not ، فهذا معناه عكس الاختيار السجلات التي لا تبدأ بالحرف a . السجلات التي تنتهي بحرف a . جميع السجلات التي تحتوي على الحرفين المتسلسلين ou . علامة الاستفهام ? معناها رقم الخانة التي يوجد بها الحرف (لاحظ انها علامة استفهام بالانجليزي وليست بالعربي) السجلات التي ثاني حرف فيها هو r . السجلات التي ثالث حرف فيها هو r . السجلات التي يكون فيها حرف r ثلاث خانات قبل الاخير . السجلات التي تبدأ بحرف a ، وطولها بعد حرف a لا يكون اقل من 15 خانه . السجلات التي تبدأ بالحرف a وتنتهي بالحرف n بغض النظر عن طول الحقل . الرمز # معناه رقم السجلات التي تبدأ بالحرف a وثاني حرف في الحقل يكون رقم . الحروف/الارقام/الرموز في الاقواس المستطيلة [] ، معناها البحث الحروف يكون فقط بين القوسين السجلات التي تبدأ بحرف B الى D فقط (يعني B و C و D) . السجلات التي تنتهي بالحروف B الى E . السجلات التي تبدأ بالحروف B و E و W فقط . العلامة ! معناها لا تُظهر السجلات التي لا تبدأ بالحرف B . السجلات التي لا تبدأ بالحروف من A الى B . السجلات التي تبدأ بحرف d وثاني حرف فيها بين الحروف N الى W . السجلات اللي فيها ارقام فقط بين الارقام 0 الى 9 . وهكذا نستعملها في الاستعلام مع الامر iif Like IIf([Forms]![frm_Main]![Srch_Item]=1,"*","*" & [Forms]![frm_Main]![Srch_Item] & "*") الشرح: اذا نتيجة [Forms]![frm_Main]![Srch_Item]=1 اعرض جميع السجلات Like "*" وإلا، اعرض فقط السجلات التي تحتوي على الحروف من الحقل في النموذج Like "*" & [Forms]![frm_Main]![Srch_Item] & "*") جعفر استفدت من هذا الرابط في بعض الاوامر اعلاه: https://www.w3schools.com/SQL/sql_like.asp Like Examples.zip
  9. او اعمل لك وحدة نمطية ، ترسل لها البيانات المطلوبة من الاستعلام ، وفي الوحدة النمطية ، اعمل معادلاتك ، وارسل النتيجة الى الاستعلام. هذا مثال: جعفر
  10. وعليكم السلام 🙂 لو قرأت المواضيع في الروابط ، فجميعها تستخدم JSON وتناديه بطريقة API او بطرق اخرى. جعفر
  11. وعليكم السلام 🙂 اهلا وسهلا بك في المنتدى 🙂 للاستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى : اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة قبل كتابة موضوع جديد 1. استخدم البحث في المنتدى قبل وضع سؤالك فقد يكون مكررا. وذلك لتفادي عواقب التكرار وأهمها أن تكرار الموضوع سيصعب المهمة على من يبحث بعدك كما أنه يمكنك توفير جهد الأعضاء للإجابة على موضوع آخر لم يطرح سابقاً. رجاء مراعاة هذا في المستقبل 🙂 تفضل ، هنا جمعت مواضيع الفاتورة الالكترونية . جعفر
  12. شكرا على التوضيح 🙂 جعفر
  13. اخي الفاضل ابو جابر 🙂 هذا المنتدى لتبادل معلومات المبرمجين ، وليس لطلب برامج جاهزة ، فاذا حاولت في عمل برنامج ، تستطيع ان تطرح اسئلة استوقفتك عن اكمال برنامجك ، وإلا ، فقسم إعلانات شخصية بأجر للاعضاء هو القسم الصحيح لطلبك. جعفر
  14. لما تتكلم عن تلوين او تنسيق جزء من النص ، فانت تتكلم عن اضافات عن طريق لغة HTML في حقل تنسيق ، وهذا سيجعل النموذج ابطأ في العمل ، وخصوصا انك تتعامل مع حقل مذكرة. الغريب في سؤالك ، انه كلما سأل عضو عن موضوع الاحاديث والمساند ، فيتطرق الى هذه النقطة !! ما هو القاسم المشترك الذي يجعلهم جميعا يطلبون هذا الطلب !! جعفر
  15. المثال موجود في الرابط وفي الدالة نفسها : 1. To find the last value, include DESC in the OrderClause, e.g.: ELookup("[Surname] & [FirstName]", "tblClient", , "ClientID DESC") 2. To find the lowest non-null value of a field, use the Criteria, e.g.: ELookup("ClientID", "tblClient", "Surname Is Not Null" , "Surname") جعفر
  16. تفضل 🙂 الدالة اسمها Elookup ، وتُستخدم بالضبط مثل Dlookup ، وفيها متغير اخير يعمل فرز : http://allenbrowne.com/ser-42.html جعفر
  17. وعليكم السلام 🙂 ممكن عمل تغيير بسيط على عمل اخوي ابو جودي ، حتى يظهر العمل بأنه اسرع ، وهو عمل التركيز على حقل آخر غير حقل المذكرة nass : . جعفر
  18. السلام عليكم 🙂 عندما لا توجد علاقات في الاستعلام ، وبدون علاقة بين الجداول (او الاستعلامات) في الاستعلام: 1. فالاستعلام يعطيك نتيجة كل جدول بطريقة مستقلة ، ثم 2. عدد سجلات الاستعلام تكون: عدد سجلات الجدول الاول X عدد سجلات الجدول الثاني X عدد سجلات الجدول الثالث X عدد سجلات الجدول الرابع .... مثلا ، حول استعلام 1_infoEmp الى استعلام عادي ، فيكون . والنتيجة 254,464 سجل : . اذا افترضنا عندك 3 سجلات في كل جدول ، فالاستعلام يعرض السجلات حسب ترتيب تسلسل هذه الجداول في الاستعلام ، ويبدأ من الجهة اللي فيها مسميات . ويعرض النتائج هكذا : ولاحظ عدد السجلات : 3x3x3x3 فالعدد يكون 81 سجل . جعفر
  19. في الواقع مثل ما قال ابوخليل في مشاركته ، انت محتاج استعلام واحد ويحل جميع مشاكلك ، بس لأن سؤالك كان عن مجموعة من الاستعلامات ، فاتجهت في اجابتي نحو استعلام التوحيد!! ولا محتاج جدول مؤقت ، ولا ولا ، إلا هذا الاستعلام 🙂 هذا الاستعلام اللي تريده: . SELECT Dwam_Emp_ALL.Emp_No_A, Emp_Info.Emp_Ar_Name, Sum(IIf([Emp_ABSCENT]=Yes,1,0)) AS SumAbsentYes, Sum(IIf([sick]=Yes,1,0)) AS SumsickYes, Sum(Dwam_Emp_ALL.OTH) AS SumOfOTH FROM Emp_Info INNER JOIN Dwam_Emp_ALL ON Emp_Info.Emp_No = Dwam_Emp_ALL.Emp_No_A WHERE (((Dwam_Emp_ALL.Dwam_Date) Between [Forms]![frmPrintSalary]![txtdate1] And [Forms]![frmPrintSalary]![txtdate2])) GROUP BY Dwam_Emp_ALL.Emp_No_A, Emp_Info.Emp_Ar_Name HAVING (((Dwam_Emp_ALL.Emp_No_A)=IIf([Forms]![frmPrintSalary]![OP]=1,[Emp_No_A],[Forms]![frmPrintSalary]![cbEmpNo]))); . . والتقرير: . ما عليك من التقرير الآن ، لأنه تحصيل حاصل ، رجاء استعمل الاستعلام اللي اعطيتك ، واخبرني اذا عندك مشكلة فيه 🙂 جعفر
  20. وعليكم السلام 🙂 اعمل الخلفية بالالوان التي تحب في احد برامج الرسومات ، مراعي حجم الصورة يكون حجم A4 ، في التقرير ، اختار الصورة ، اجعلها مربوطة ولبس مضمنه: جعفر
  21. تفضل يا سيدي: النموذج يظهر لك جميع البيانات ، ولكن يجب ان تكون متصل بالانترنت . كود حدث "عند النقر" على الزر في النموذج : Private Sub cmd_IP_Country_Click() Dim city_IP As String Dim public_IP As String Me.my_PC_MAC = GetMyMACAddress Me.my_Local_IP = GetMyLocalIP Me.my_country_IP = IPcountry(city_IP, public_IP) Me.my_country_IP = DLookup("[Country_A]", "tbl_Countries_Currency_Codes", "Country_Code_E2='" & Me.my_country_IP & "'") Me.my_Public_IP = public_IP Me.my_city_IP = city_IP End Sub . والوحدات النمطية التي تقوم بالعمل: Option Compare Database Option Explicit '---------------------------------------------------------------------------- 'This module contains 3 functions for determing the public IP, the local IP 'and the MAC address of the computer that runs those functions. ' 'Written By: Christos Samaras 'Date: 22/11/2014 'E-mail: xristos.samaras@gmail.com 'Site: http://www.myengineeringworld.net '---------------------------------------------------------------------------- Function GetMyPublicIP() As String Dim HttpRequest As Object On Error Resume Next 'Create the XMLHttpRequest object. Set HttpRequest = CreateObject("MSXML2.XMLHTTP") 'Check if the object was created. If Err.Number <> 0 Then 'Return error message. GetMyPublicIP = "Could not create the XMLHttpRequest object!" 'Release the object and exit. Set HttpRequest = Nothing Exit Function End If On Error GoTo 0 'Create the request - no special parameters required. HttpRequest.Open "GET", "http://myip.dnsomatic.com", False 'Send the request to the site. HttpRequest.send 'Return the result of the request (the IP string). GetMyPublicIP = HttpRequest.responseText End Function Function GetMyLocalIP() As String 'Declaring the necessary variables. Dim strComputer As String Dim objWMIService As Object Dim colItems As Object Dim objItem As Object Dim myIPAddress As String 'Set the computer. strComputer = "." 'The root\cimv2 namespace is used to access the Win32_NetworkAdapterConfiguration class. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 'A select query is used to get a collection of IP addresses from the network adapters that have the property IPEnabled equal to true. Set colItems = objWMIService.ExecQuery("SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 'Loop through all the objects of the collection and return the first non-empty IP. For Each objItem In colItems If Not IsNull(objItem.IPAddress) Then myIPAddress = Trim(objItem.IPAddress(0)) Exit For Next 'Return the IP string. GetMyLocalIP = myIPAddress End Function Function GetMyMACAddress() As String 'Declaring the necessary variables. Dim strComputer As String Dim objWMIService As Object Dim colItems As Object Dim objItem As Object Dim myMACAddress As String 'Set the computer. strComputer = "." 'The root\cimv2 namespace is used to access the Win32_NetworkAdapterConfiguration class. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 'A select query is used to get a collection of network adapters that have the property IPEnabled equal to true. Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 'Loop through all the collection of adapters and return the MAC address of the first adapter that has a non-empty IP. For Each objItem In colItems If Not IsNull(objItem.IPAddress) Then myMACAddress = objItem.MACAddress Exit For Next 'Return the IP string. GetMyMACAddress = myMACAddress End Function Function IPcountry(IPcity As String, IPPublic As String) As String ' 'from: https://www.mrexcel.com/board/threads/need-to-get-location-based-on-ip-address-in-vba.1115981/ 'edited by jjafferr 20-01-22 'we don't send any values when calling the Function, but return 3 values ' Dim http As Object Dim xmlDoc As MSXML2.DOMDocument60 Dim strURL As String ' requires reference to Microsoft XML 6.0 IPPublic = GetMyPublicIP strURL = "https://ipapi.co/" & IPPublic & "/xml/" Set http = CreateObject("MSXML2.XMLHTTP") http.Open "GET", strURL, False http.send Set xmlDoc = New MSXML2.DOMDocument60 xmlDoc.LoadXML http.responseText 'Debug.Print http.responseText IPcity = xmlDoc.SelectSingleNode("//root/city").Text IPcountry = xmlDoc.SelectSingleNode("//root/country").Text End Function . والدالة الاخيرة هي التي يتم مناداتها من النموذج ، اضفت شيء فيه لإرجاع البيانات للنموذج ، فعند مناداة الدالة ، لا نرسل لها اي قيمة ، وانما هي تُرجع 3 قيم للنموذج ، فالطريقة لطيفة للنظر فيها 🙂 اسم الدولة التي تُرجعه الدالة هو اختصار اسم الدولة ، فأرفقت احد جداول من احد برامجي فيه بقية بيانات الدوله ، وبقية الدول (الجدول عمره حوالي 8 سنوات ، فقد تكون هناك دول جديدة نشأة من وقتها ، فعليه ، يجب عليك تحديث الجدول 🙂) جعفر 1452.IP Country.accdb.zip
×
×
  • اضف...

Important Information