اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. تفضل: 'strConnectionString="ODBC;DSN=database_name;UID=username;PWD=password;DBQ=ADPR;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F;" 'التحكم في جميع المتغيرات Dim strConnectionString As String strConnectionString="ODBC;DSN=" & Me.database_name & ";" & _ "UID=" & Me.username & ";" & _ "PWD=" & Me.password & ";" & _ "DBQ=" & Me.ADPR & ";" & _ "DBA=" & Me.W1 & ";" & _ "APA=" & Me.T1 & ";" & _ "EXC=" & Me.F1 & ";" & _ "FEN=" & Me.T2 & ";" & _ "QTO=" & Me.T3 & ";" & _ "FRC=" & Me.Ten1 & ";" & _ "FDL=" & Me.Ten2 & ";" & _ "LOB=" & Me.T4 & ";" & _ "RST=" & Me.T5 & ";" & _ "BTD=" & Me.F2 & ";" & _ "BNF=" & Me.F3 & ";" & _ "BAM=" & Me.IfAllSuccessful & ";" & _ "NUM=" & Me.NLS & ";" & _ "DPM=" & Me.F4 & ";" & _ "MTS=" & Me.T6 & ";" & _ "MDI=" & Me.F5 & ";" & _ "CSR=" & Me.F6 & ";" & _ "FWC=" & Me.F7 & ";" & _ "FBS=" & Me.64000 & ";" & _ "TLO=" & Me.O1 & ";" & _ "MLD=" & Me.Zero1 & ";" & _ "ODA=" & Me.F8 & ";" 'او التحكم في اسم السيرفر واليوزر وكلمة السر strConnectionString="ODBC;DSN=" & Me.database_name & ";" & _ "UID=" & Me.username & ";" & _ "PWD=" & Me.password & ";" & _ "DBQ=ADPR;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BNF=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=O;MLD=0;ODA=F;"
  2. وعليكم السلام 🙂 هل تريد تمرير قيمة اخرى بدلا عن "MyPassthroughQuery" جعفر
  3. تفضل يا سيدي اعمل اغلق النموذج/التقرير اولا (لاحظ مافيه اسم النموذج) ، ثم افتح النموذج الآخر لاحقا . لماذا ؟ شوف المقطع التالي: . جعفر
  4. جرب تقلب الكود ، كالتالي DoCmd.Close acForm, Me.Name DoCmd.OpenForm "main" وأريد اضافة الكود لإغلاق التقرير المفتوح DoCmd.Close report, Me.Name DoCmd.OpenForm "main" . او خلينا نشوف اللي عملته ، نشوف وين الخطأ
  5. عندك الكود ، واعمل هذا التغيير : بدل Me.Results.BackColor = RGB(0, 255, 0) 'green اكتب Me.Results = "اخضر" . وهكذا مع بقية الشروط
  6. وعليكم السلام 🙂 عمل جميل ، وعالي العال 🙂 كنت ناوي اشتغل عليه البارحة واخلي اللاعب يلعب بالماوس (مسك وافلات) ، ولكن ما شاء الله فعل ، وما صار عندي وقت 😞 جعفر
  7. تفضل ، الله يطول في عمرك 1611.البيان.accdb.zip
  8. وعليكم السلام 🙂 قاعدة ذهبية: لا تبدأ اسماء الكائنات او الحقول بأرقام. اسم حقل التاريخ اصبح iDate ، واسم حقل النتائج اصبح Results . انا عملت تغيير في خلفية الحقل Results على اسا قيمة iDate : Private Sub Form_Current() Call iDate_AfterUpdate End Sub Private Sub iDate_AfterUpdate() 'send the date properly Call Check_Dates(DateSerial(Year(Me.iDate), Month(Me.iDate), Day(Me.iDate))) End Sub Function Check_Dates(D As Date) 'Debug.Print DateSerial(Year(D), Month(D), Day(D)) If (Day(D) >= 1 And Month(D) >= 1) And (Day(D) <= 31 And Month(D) <= 3) Then Me.Results.BackColor = RGB(0, 255, 0) 'green ElseIf (Day(D) >= 1 And Month(D) >= 4) And (Day(D) <= 30 And Month(D) <= 6) Then Me.Results.BackColor = RGB(0, 0, 255) 'blue ElseIf (Day(D) >= 1 And Month(D) >= 7) And (Day(D) <= 30 And Month(D) <= 9) Then Me.Results.BackColor = RGB(255, 0, 0) 'red ElseIf (Day(D) >= 1 And Month(D) >= 10) And (Day(D) <= 31 And Month(D) <= 12) Then Me.Results.BackColor = RGB(0, 0, 0) 'black End If End Sub . جعفر
  9. اخي الفاضل 🙂 هل حاولت عمل ماكرو ؟ في الواقع اللي انت تريده يمكن لأي هاوي عمله ، فشد حيلك وحاول ، واحنا نساعدك لما تحصل على صعوبة 🙂 جعفر
  10. نعم الصفحة فيها رابط التنزيل ، وطريقة تنصيب البرنامج ، وشرح طريقة العمل وووو وهذا رابط التنزيل المباشر: https://www.skrol29.com/download/download.php?file=v2016_183.zip&sid=1 جعفر
  11. اسهل طريقة هو الرجوع الى نفس المحادثة مع الذكاء الصناعي ، واخبره عن الخطأ اعلاه ، وسيقوم باعطائك حلول 🙂 صعوبة التدخل في تعديل كود ، هو معرفة فكرة المبرمج في عمل المتغيرات ، وتسلسل التطبيق كذلك. اما اذا تريد مساعدة في عمل جديد ، فاطرح موضوع جديد ، بأمثلة من واقع برنامجك ، والشباب ما بيقصروا معاك ان شاء الله 🙂 جعفر
  12. اولا: . ثم يفتح لك هذا النموذج ، 1. اكتب اسم الحقل (الكلمة التي تريد البحث عنها) الذي تريد ان تبحث عنه في جميع كائنات البرنامج ، حسب ما تم التأشير عليه من جداول واستعلامات وتقارير ونماذج وكود ، 4. انقر البحث ، فيعطيك قائمة بكل كائن فيه هذه الكلمة (تنقر مرتين فيفتح لك الكائن ، وتقدر تغير الكلمة يدويا) ، وبعد ان تطمئن انه لا يوجد خلط وكل شيء واضح ، يمكنك النقر على رقم 2 وتكتب كلمة التغيير/الاستبدال التلقائي لهذه الكلمة في جميع الكائنات.
  13. وعليكم السلام 🙂 احد البرامج اللي ما اقدر استغني عنها في كل كمبيوتر اساسي ابرمج عليه ، هو هذا البرنامج :https://www.skrol29.com/us/vtools.php وفيه بحث/استبدال في قاعدة البيانات كاملة 🙂 وهنا بعض البرامج الاخرى اللي تعمل نفس الشئ: جعفر
  14. وعليكم السلام 🙂 اما انا فلم افلح مع الذكاء الصناعي !! ما ادري ، يمكن اسألتي صعبة 😁 الخطأ يقول: اول قيمة في الدالة ، نوع المتغير studentID في الدالة IsTeacherAssigned هو Integer . بينما بدلا عن تدخل قيمة Integer ، انت ادخلت قيمة من نوع: . الخطأ في السطر: . سهله 🙂 جعفر
  15. تفضل 🙂 الحقل في النموذج الرئيسي ، ومخفي : . جعفر 1609.One_Query_Several_Forms.accdb.zip
  16. وعليكم السلام 🙂 هذه طريقتي في تفكيك الكود الى اسطر ، كما انه مافي داعي لتكرار اسم الجدول لكل حقل ، إلا اذا كان هناك ربط بين اكثر من جدول ، وهناك اسماء حقول متشابهه ، حينها يجب استعمال اسم الجدول واسم الحقل معا : Dim mySQL as string mySQL="SELECT ID, tdate, code, age, hgb, hgb_s, rbc, rbc_s, hct, hct_s," mySQL=mySQL & " hgbp, mcv, mcv_s, mch, mch_s, mchc, mchc_s, rdwcv, rdwcv_s," mySQL=mySQL & " rdwsd, rdwsd_s, plt, plt_s, pct, pct_s, pdw, pdw_s, mpv, mpv_s," mySQL=mySQL & " wbc, wbc_s, netp, netp_s, lymp, lymp_s, monp, monp_s, eosp, eosp_s," mySQL=mySQL & " basp, basp_s, net, net_s, lym, lym_s, mon, mon_s, eos, eos_s, bas, bas_s," mySQL=mySQL & " MIDp, MIDp_s, Mid, MID_s, comment, segmp, segmp_s, bandp, bandp_s, segm, segm_s," mySQL=mySQL & " [band], band_s, WBC_HISTOGRAM, RBC_HISTOGRAM, PLT_HISTOGRAM" mySQL=mySQL & " FROM CBC_tbl" mySQL=mySQL & " WHERE ID=" & [Forms]![visit_frm]![ID] Me.RecordSource = mySQL . . لما يكون عندك استعلام ، الاكسس يعمل له Compile ، ويعمل له شيء اسمه Query plan (خطة عمل الاستعلام) ، فيكون اسرع لان الاكسس عمل طريقه تنفيذيه للاستعلام حسب المعايير والفرز (يعني يقوم بعمل اي معبار قبل الآخر ، ووهل يعمل الفرز قبل تطبيق المعيار وفهرسة الحقول لها دور كبير في عمل هذه الخطة) ، (ويمكنك انزال برنامج تستطيع من خلاله رؤية هذه الخطة وطريقة عملها ، وحتى عمل التغيير عليها ، هنا https://isladogs.co.uk/jet-showplan-manager/index.html ، وللعلم ، فانا اعرف عن خطة عمل الاستعلام اكثر من عقدين ولكني لم اتدخل في عملها الى الآن 🙂)، بينما لما نعمل الاستعلام عن طريق الكود (وهذا يحدث في كل مرة يقرأ بها الاكسس الكود) ، فيقوم الاكسس بعمل خطة عمل ، ومن ثم تنفيذ الاستعلام. ولكن وبعد ان اصبحت الكمبيوترات سريعة ، ففارق الوقت في الفترة التي يأخذها الاكسس في تنفيذ كِلا الاستعلامين ، تُعتبر شبه لا شيء ، ولكن الافضل (ولعدة اسباب ، وخصوصا عند عمل التغيير) والاسرع ، هو عمل الاستعلام شخصيا 🙂 القاعدة الذهبية في فهرسة حقول الاكسس هي: كل حقل تعمل معيار او فرز (سواء في الاستعلام او الكود او فلترة في النموذج او التقرير). ومن هذه القاعدة ، يجب ان يكون حقل ID في جدولك ، مفهرس 🙂 . طريقة فلترة (استعمال المعيار في الاستعلام) ، هي افضل وبأقل كود من استعمال التصفية/الفلترة في النموذج (Me.Filter والذي نحتاج الى عدة اسطر كود للتصفية وتشغيله وحذفه ، وفي عدة احداث) ، اما طريقة عمل التصفية في الاستعلام ، حسب المتغير الذي في النموذج: في الاستعلام ، في الحقل الذي نريد وضع المعيار عليه ، نكتب مسار متغير المعيار كاملا ، مثل Forms!visit_frm!ID ، او اذا كان في نموذج فرعي Forms!visit_frm!SubForm_Name!ID ، ويكون الاستعلام اعلاه مصدر بيانات النموذج visit_frm ، وفي النموذج يكون عندنا سواء مربع نص او مربع سرد او مربع قائمة ، وعلى حدث "بعد التحدبث" للحقل بعد كتابة القيمة فيه او اختيار القيمة ، نكتب me.Requery ، العيب في هذه الطريقة هو ، لا يمكنك استعمال هذا الاستعلام إلا بهذا النموذج ، فلو اردنا استعمال الاستعلام اعلاه مع المسار التالي Forms!myfrm!ID ، فلن يعمل ونظطر لعمل استعلام آخر له. والطريقة التي اتعامل معها في برامجي هي نفس الطريقة اعلاه ، ولكن : في برامجي ، هناك دائما نموذج اساسي لا يتم اغلاقه (frm_1 مثلا) ، واعمل فيه حقول نص مخفية ، مثل ID ، وفي الاستعلام اعلاه ، اعمل المعيار بهذا المسار: Forms!frm_1!ID ، ثم في النموذج visit_frm او myfrm ، وفي حدث "بعد التحديث" للحقل ، اكتب قيمة ID الى النموذج frm_1 ، ثم اشغل الاستعلام ، هكذا: Forms!frm_1!ID = Me.ID Me.Requery بهذه الطريقة يصبح الاستعلام مرن ويمكن استعمال معياره لاكثر من نموذج 🙂 جعفر
  17. وعليكم السلام ورحمة الله وبركاته فكرة جميلة في استخدام قواعد البيانات في امور لسنا معتادين عليها ، شكرا جزبلا لمشاركة الفكرة والبرنامج 🙂 جعفر
  18. همممم يتم الاحتفاظ بـ Login_Name في ملف صلاحيات المستخدمين mdw. ، واللي كان يُستخدم في الاكسس 2003 فما قبل ، والموجود في في الاكسس 2007 فما فوق ولكنه ليس لاستخدام المستخدمين 🙂 لهذا السبب ، وعند استخدام الكود الذي عرضته انا (والذي لا يحتاج الى معرفة مكان هذا الملف ، ومن المعروف ان المسؤول بإمكانه عمل ملف mdw لكل برنامج حسب مستخدميه ، ويعيد تسمية الملف) ، او كود قراءة ملف ldb. (للاكسس 2003 فما قبل) او laccdb. (للاكسس 2007 فما فوق) الذي عرضته انت ، فالملف لا يوجد به اسماء المستخدمين ، وانما به قطعاً Computer_Name والذي ياخذه من الوندوز 🙂 جعفر
  19. اخي محمد 🙂 رجاء اختيار افضل اجابة من اجابات الشباب، ولبس اجابتك 🙂 جعفر
  20. نعم ، اعمل الجدول ، والنموذج على اساس الجدول ، والباقي سهل ان شاء الله. ولا ما عندي عمل ممكن ارفقه. الخطوة اعلاه هي اساس العمل كله، والباقي خطوات سهله 🙂 جعفر
  21. سيدي الفاضل: بما انه عندك ربط بين جدولين في الاستعلام ، فعلشان تقدر تدخل بيانات في جميع الجداول ، رجاء عمل التغيير على "نوع السجلات" كما هو موضح في الصورة : . وعمل نفس الشئ في النموذج كذلك: . واخيرا ، وبما انه يجب عليك ادخال معلومات معينة في الجدول f2 ، فيجب ان تعمل الحقلين في المربع الاحمر ، وتدخل بياناتهم كذلك : جعفر
  22. وعليكم السلام 🙂 تحصل على النتيجة التالية (لأني الوحيد اللي فاتح البرنامج، فلا ترى الا اسم كمبيوتري) : COMPUTER_NAME LOGIN_NAME CONNECTED SUSPECT_STATE myPC Admin True Null من الكود التالي: Function ShowUserRosterMultipleUsers_Jet_4() Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Set cn = CurrentProject.Connection ' The user roster is exposed as a provider-specific schema rowset ' in the Jet 4.0 OLE DB provider. You have to use a GUID to ' reference the schema, as provider-specific schemas are not ' listed in ADO's type library for schema rowsets Set rs = cn.OpenSchema(adSchemaProviderSpecific, _ , "{947bb102-5d43-11d1-bdbf-00c04fb92675}") 'Output the list of all users in the current database. Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _ "", rs.Fields(2).Name, rs.Fields(3).Name While Not rs.EOF Debug.Print rs.Fields(0), rs.Fields(1), _ rs.Fields(2), rs.Fields(3) rs.MoveNext Wend rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Function . طريقة العمل: اعمل جدول فيه حقل Computer_Name ، واسم المستخدم ، والكود اعلاه يعطيك Computer_Name المتصل بقاعدة البيانات الان ، فمن ذي وذاك ، تتوصل الى معرفة اسم المستخدم اللي فاتح قاعدة البيانات الان 🙂 جعفر
  23. وعليكم السلام اخوي خليفة 🙂 . 1. انا عملت اللي فهمي من كلمة التبويب ، والان عند صاحب السؤال الطريقتين 🙂 2. بالنسبة لعمل الشرح عن طريق Gif ، فيمكنك اللعب بطول وعرض Recorder بسحبه من اطرافه ، حتى لا تحتاج الى سحب نموذج الاكسس الى نافذة التسجيل 😁 جعفر
  24. السلام عليكم 🙂 اذا كنت تريد النتائج في تقرير ، ايش رايك بهذه الطريقة : . تقاصيل العمل هنا (بس لا يغرك الموضوع طويل ، ترى التعديل يتم على سطر واحد في الكود ، وبعض اعدادات الحقول في التقرير 🙂 ) : . جعفر 1606.المشاركات والوظائف السابقة.accdb.zip
×
×
  • اضف...

Important Information