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

أبو عبدالله الحلوانى

الخبراء
  • Posts

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

  • Days Won

    5

كل منشورات العضو أبو عبدالله الحلوانى

  1. الظاهر أني أتعبت حضرتك بسؤالي حقا أنا آسف 1- استخدمت صيغة accdb 2- لدي علي الجهاز نسختي أكسس 2010 و 2016 (يبدو أن المشكلة بوجود النسختين معا أعتقد هذا لأني حاولت الاتصال بنفس المكتبة من vb.net وأعطاني خطأ في الاتصال ) 3- بعد البحث وجدت هذه الملفات سأجرب وأوفيكم بالنتيجة
  2. جزاكم الله خيرا كنت أحاول فعل هذا من خارج الأكسس بواسطة اسكربت وتمت الفائدة والحمد لله سأرفق هنا الاسكربت بعد التعديل لتعم الفائدة ان شاء الله
  3. اكتبها بهذا الشكل sqry.SQL = StrFlter
  4. اجعل الكود داخل الاستعلام واجعل الاستعلام مصدر سجلات التقرير وفقط (هذا كل شيء)
  5. السلام عليكم بعد التجربة يظهر معي هذا الخطأ ولا يكتمل العمل ما المشكلة هل هذا يعني أن لدي أخطاء يجب معالجتها - رغم أني أقوم بعمل compile ولا تظهر أخطاء كما بالصورة المرفقة وجزاكم الله خيرا
  6. لم أفهم ما تقصد ماذا تريد أن تفعل بالتحديد هل تقصد تشغيل الاستعلام السابق من خلال الضغط علي زر مثلا كل ما عليك أن تكتب هذا الكود خلف الزر المراد التنفيذ من خلاله Docmd.RunSQL "StrFlter" وفقط أما ان كنت تعني شيئا آخر فبرجاء التوضيح أكثر
  7. وهذا شكل الكود الحالي بعد التعديلات الموضحة بالرد السابق Sub Createadbe() On Error Resume Next dim fso dim mePath Set fso = CreateObject("Scripting.FileSystemObject") mePath = fso.GetAbsolutePathName(".") if fso.FileExists(mePath & "\Mydb.accde")= True then fso.DeleteFile mePath & "\Mydb.accde" end if If fso.FileExists(mePath & "\Mydb.accdb")= True then Dim wrk Dim dbs rem======here will make accde file from accdb====== With Createobject("Access.Application") .AutomationSecurity = 1 .SysCmd 603, mePath & "\Mydb.accdb", mePath & "\Mydb.accde" .Quit End With rem======================================================= rem=====here will add a password to accde file ============ rem ====put we want check if file is created or not======= rem ===and wait untile create============================= wscript.sleep(15000) if fso.FileExists(mePath & "\Mydb.accde")= True then With Createobject("Access.Application") set wrk= .DBEngine.Workspaces(0) set dbs= wrk.OpenDatabase(mePath & "\Mydb.accde", True) dbs.NewPassword "", PSW: passDatabase = "myPassword" .Quit End With else msgbox "the program is not found!" end if rem======end and exit==================================== fso.DeleteFile mePath & "\Mydb.accdb" Else msgbox "Some file Not Exists!" End If Rem Now kill My silf: Rem fso.DeleteFile mePath & "\MyVbsName.vbs" if err.number = 0 then with fso If .FileExists(mePath & "\Mydb.accdb") then .DeleteFile(mePath & "\Mydb.accdb") If .FileExists(mePath & "\Database.accdb") then .DeleteFile(mePath & "\Database.accdb") If .FileExists(mePath & "\Database.mdb") then .DeleteFile(mePath & "\Database.mdb") If .FileExists(mePath & "\MyvbsName.vbs") then .DeleteFile(mePath & "\MyVbsName.vbs") End with Else msgbox err.number & err.discription End if End sub
  8. ملف بامتداد vbs. vbScript أضع الكود الأول داخل ملف نصي واحفظه بالامتداد السابق واضعه بجوار قاعدة البيانات لعمل نسخة accde والكود يعمل بنجاح والحمد لله ولكن اذا كانت قاعدة البيانات لها كلمة مرور فالاسكربت يتوقف ويطلب ادخال كلمة المرور 1- فكان طلبي الأول هل يمكن تمرير كلمة المرور هذه بطريقة ما من داخل الاسكربت فقد جربت أمر Sendkeys ولم يفلح الأمر! 2- فكرت أن أبقي الكود الأول علي حاله واضع قاعدة البيانات بدون كلمة مرور ثم بعد انشاء النسخة accde يتم تغير كلمة المرور لها من خلال كود آخر مثل الكود الثاني. وتم عمل الكود الثاني بنجاح والحمد لله ولكن المشكلة التي تواجهني الآن عند ضم الكودين داخل اسكربت واحد فيتم تنفيذ الخطوة الأولي ولما تنتهي اذ بالاسكربت يقفذ للخطوة التالية بدون انتظار تنفيذ الأولي فهل من طريقة لجعل الاسكربت ينتظر الانتهاء من انشاء النسخة accde أولا ثم ينتقل لتنفيذ خطوة تغير كلمة المرور! وجزاكم الله خيرا
  9. وياحبذا لو وضعت لنا مرفقا صغيرا لنتمكن من التعديل عليه
  10. اضافة الي ما تفضل به استاذنا أبو خليل يمكن تقسيم الكود من خلال تجميع أجزائه بمتغير ما مثل: Dim StrFlter as string StrFlter = "SELECT setdown_no, [arabic*-], arabic,iif([arabic]='Û','Û',Val([arabic*-])+Val([arabic])) AS ta," StrFlter =StrFlter & " [mathematics*-], mathematics,iif([mathematics],'Û','Û',Val([mathematics*-])+Val([mathematics]))" StrFlter =StrFlter & " AS tm,[sociability_studies*-], sociability_studies,iif([sociability_studies],'Û','Û',Val([sociability_studies*-])+Val([sociability_studies]))" StrFlter =StrFlter & " AS tso, [sciences*-],[sciences*1], sciences,iif([sciences],'Û','Û',Val([sciences*-])+Val([sciences])+Val([sciences*1]))" StrFlter =StrFlter & " AS tsc, [foreign_language*-], foreign_language,iif([foreign_language],'Û','Û',Val([foreign_language*-])+Val([foreign_language]))" StrFlter =StrFlter & " AS te, [religion_education*-], religion_education,on],'Û','Û',Val([religion_education*-])+Val([religion_education]))" StrFlter =StrFlter & " AS trel, [advanced_english*-], advanced_english1 ,iif([],'Û','Û',Val([advanced_english*-])+Val([advanced_english1]))" StrFlter =StrFlter & " AS tad,tblbasicdata.class FROM students INNER JOIN tblbasicdata ON students.class = tblbasicdata.class" StrFlter =StrFlter & " WHERE ((tblbasicdata.class='" & Me.txt & "')) ORDER BY setdown_no;" مع مراعات اثبات المسافة في نهاية المقطع الأول أو بداية المقطع التالي من كل جزء تمنياتي بالتوفيق
  11. كتبت هذا الكود داخل روتين بالأكسس وعمل معي بشكل جيد والحمد لله Public Sub CangeDBPass(ByVal Dbaz As String, ByVal PSW As String) Dim wrk As Workspace Dim dbs As Database Set wrk = DBEngine.Workspaces(0) Set dbs = wrk.OpenDatabase(Dbaz, True) If Len(PSW & "") > 0 Then dbs.NewPassword "", PSW: passDatabase = PSW Else MsgBox "You don't set password!" End If End Sub ولكن لست أدري كيف أطوعه ليعمل داخل الاسكربت؟!
  12. شكر الله لكم سعت صدركم وتلطفكم في النصح ويكون الخوف والمطر أحيانا من الأعذار المبيحة للجمع والله أعلم وانما اذكر نفسي ومن أحب بوجوب الصلاة بوقتها وان كنت أول المقصرين وآخرهم (لكن ديما يقال علي الصعايدة كلامهم دبش ) وجزاكم الله خيرا
  13. أسأل الله التوفيق لي ولكم (والله لو تعداني وصف التقصير فلن يجد بعدي أحدا) غفر الله لي ولكم لظنكم الخير بمثلي وجزاكم الله عنا خيرا
  14. تفضل هذا صنع لك خصيصا - لا تقلق مجانا الا دعوة بظهر الغيب - جرب ووافنا بالنتائج ExportToPDF.accdb
  15. حقيقة لا تكفي كلمات الشكر التي نعرفها حقكم - فعطائكم الغير منقطع لا تكفيه كلمات الشكر. ولكن نقول كما علمنا رسول الله (صلي الله عليه وسلم) فقال : ( مَنْ صَنَعَ إِلَيْكُمْ مَعْرُوفًا فَكَافِئُوهُ ، فَإِنْ لَمْ تَجِدُوا مَا تُكَافِئُونَهُ فَادْعُوا لَهُ حَتَّى تَرَوْا أَنَّكُمْ قَدْ كَافَأْتُمُوهُ) . رواه أبو داود (1672) . وصححه الألباني في صحيح أبي داود وكما قال: (صَلَّى اللَّهُ عَلَيْهِ وَسَلَّمَ) : ( مَنْ صُنِعَ إِلَيْهِ مَعْرُوفٌ فَقَالَ لِفَاعِلِهِ : جَزَاكَ اللَّهُ خَيْرًا فَقَدْ أَبْلَغَ فِي الثَّنَاءِ ) . رواه الترمذي (2035) . وصححه الألباني في صحيح الترمذي . فجزاكم الله عنا خيرا، ورحم والديكم وأصلح في ذرياتكم وأهليكم ورزقنا واياكم حسن الختام
  16. السلام عليكم ورحمة الله وبركاته أقوم بتحويل قاعدة البيانات الي صيغة accde باستخدام اسكربت مثل هذا Call Createadbe Sub Createadbe() On Error Resume Next dim fso dim mePath Set fso = CreateObject("Scripting.FileSystemObject") mePath = fso.GetAbsolutePathName(".") Rem here we test if accde file is exist And delete it if it is exist Rem==================================================================== if fso.FileExists(mePath & "\Write Here Your accde file Name")= True then fso.DeleteFile mePath & "\Write Here Your accde file Name" end if Rem Here Test if our accdb file is Exist and get started Rem====================================================== If fso.FileExists(mePath & "\Write Here Your accdb file Name")= True then With Createobject("Access.Application") .AutomationSecurity = 1 .SysCmd 603, mePath & "\Write Here Your accdb file Name", mePath & "\Write Here Your accde file Name" .Quit End With MsgBox "Conversion Done Successfully!" fso.DeleteFile mePath & "\Write Here Your accdb file Name" Else msgbox "Conversion Not Done; Some file Not Exists!" End If Rem Now kill My silf: Rem================== if err.number <> 0 then with fso If .FileExists(mePath & "\Write Here Your accdb file Name") then .DeleteFile(mePath & "\Write Here Your accdb file Name") If .FileExists(mePath & "\Database.accdb") then .DeleteFile(mePath & "\Database.accdb") If .FileExists(mePath & "\Database.mdb") then .DeleteFile(mePath & "\Database.mdb") If .FileExists(mePath & "\ConversionAccdbToAccde.vbs") then .DeleteFile(mePath & "\ConversionAccdbToAccde.vbs") end with end if End sub ولكن واجهتني مشكلة أرهقني البحث لها عن حل حتي هذا الوقت. وأرجو من الله أن يوفقكم في ايجاد حل لها 1- كيف يتم تمرير كلمة المرور للقاعدة المحية بكلمة مرور من خلال الاسكربت؟! 2- وان كان الحل الأول غير ممكن فيكف أغير كلمة المرور من خلال الاسكربت بعد تحويل قاعدة البيانات الي accde وجزاكم الله عني خيرا
  17. ولماذا لا تجعل اسم ملف الـ pdf داخل كود التصدير ويتم التحكم فيه من داخل الكود بشكل تلقائي دون ازعاج المستخدم بتحديد مسار الحفظ بكل مرة
  18. لحذف المسافات الموجودة أول النص وآخره استخدم الدالة trim وتكتب هكذا Trim("Youer text")
  19. جرب هذا المرفق لعلك تجد به ضالتك وبدون استخدام الكود الذي لديك جرب ووافنا بالنتائج OpenFileExplorer.accdb
  20. جرب هذا لعله يوافق مرادك ضع الصورة بنفس مسار البرنامج حتي تعمل أو غير المسار كيفما شئت من عرض تصميم التقرير ReportBorder.rar
  21. أولا- أخي الأمر الذي تستخدمه لنسخ نص الي الذاكرة المؤقته لحين لصقه بموقع آخر ثانيا- أعذرني فلم أفهم مطلبك بالتحديد هل تريد تصدير التقرير مثلا الي word أو pdf مثلا -أم أنك تريد طابعة التقارير علي ورق باستخدام الـ printer كلام حضرتك أُشكل علي من فضلك حدد ما تريد بمزيد من التوضيح.
  22. ابحث في المنتدي عن العمل علي نوت 32 و 64 وستجد الكثير من الموضوعات التي تحدثت عن هذه المشكلة وتم وضع حلول متعددة لها ولكن مبدأيا قم بوضع هذه الكلمة PtrSafe قبل Function وبعد Declare واخبرنا بالنتائج وللمزيد راجع ما قالت ميكروسوفت عن هذا هنا https://docs.microsoft.com/en-us/office/client-developer/shared/compatibility-between-the-32-bit-and-64-bit-versions-of-office
  23. هذا طبيعي في التعامل مع الأرقام ولكن جرب هذا مع الصفوف الثلاث الأولي وأكمل أنت علي نفس المنوال Average10Items.accdb
  24. السلام عليكم طلبك كما فهمت سيحتاج الي ضبط بعض الاعدادات بالويندوز عموما قد قمت بصنع هذا من أجلك جرب لعله يفي بالغرض وان احتجت للاستزادة من اعدادات الويندوز لايقاف عمل alt + tab انظر هذا الرابط https://windowsreport.com/alt-tab-not-working-windows-8/ TestStopAltTabButton.accdb
×
×
  • اضف...

Important Information