بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
1,366 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
19
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو sandanet
-
الحمد لله على كل حال
-
من بعد اذنك استاذي يمكن استبدال الامتداد mdb بـ accdb وسوف تظهر القاعدة لكن للأسف لايتم الربط معها الا اذا كانت قاعدة الواجهة هي ايضاً accdb او accde لذلك يجب انشاء ملف فارغ بصيغة accdb اولاً ومن ثم استيراد جميع كائنات ملف link.mdb مع التشديد على اختيار المكتبات نفسها تحياتي
-
تعددت الاسباب والربط واحد جميل جدا جدا ماتفضلت به استاذنا الكبير أبو خليل انا عن نفسي فاني استخدم هذه الطريقة المطولة بعض الشيء .. link_database.zip
-
كيف ذلك؟؟؟!!! جرب اظهار الكائنات المخفية ... غريب جداً .. انظر الصورة لدي ذلك هو الملف الذي ارفقته لك .. وسأرفقه لك مرة اخرى انا جربت تحميل المرفق الاخير من مشاركتي السابقة والملف يعمل بصورة سليمة .. اعتقد ان المشكلة لديك جرب فتح المرفق السابق على جهاز آخر به اصدار مختلف من الاوفيس .. بالحقيقة لم اواجه مثل هذا الحدث من قبل لكن يبدو ان هذه احدى مشاكل اوفيس 2013 link_database.zip
-
ولا يهمك أخي وائل انا بالخدمة ان شاء الله .. اخي الكريم هنالك عدة نقاط يجب اخذها بالحسبان نسيت ان اذكرها كما ان هنالك خطأ قمت به انت فارجو منك التركيز 1- يجب عليك استيراد جميع النماذج وهي (LinkDBsMain و LinkDBsMain2 و LinkDBsSub و relinke و StartupFrm) ماعدا نموذج الـ Background لانك سوف تضع نموذجك الافتتاحي بشرط ان يكون نفس الاسم .. انت قلت انك استوردت والنموذجين LinkDBsMain & LinkDBsSub فقط .. لذلك ارجو منك الانتباه جيداً 2- النقطة التي نسيت ان اذكرها لك هي جعل النموذج StartupFrm هو نموذج بداية التشغيل لانه سوف يستدعي باقي نماذج الربط تلقائياً 3- اذا كانت قاعدة الـ Main لديك تحتوي على جداول داخلية فعليك اضافتها لكود الوحدة النمطية المسماة بـ Utils كما هو موضح في الصورة التالية >> في الصورة ستجد هنالك اسماء جدولين مضافين للكود قم باستبدال اسماءها بالجداول التي لديك .. انا اضفت جدولين لكن انت يمكنك اضافة عدد اكبر من الجداول الداخلية فقط طبق نفس ماهو موضح بالصورة بالدوائر 4- البرنامج كان يعمل على اصدار اوفيس 2003 اي قواعد بيانات mdb و mde لانها الأكثر شيوعاً بين المستخدمين .. وانا انصحك بالابتعاد عن الاصدارات الحديثة لانه اذا اردت العمل على اوفيس 2013 فستجد صعوبة كبيرة في تطبيق الاكواد مستقبلاً لان الاصدارات الحديثة من الاوفيس 2013 فما فوق لاتقبل جميع الدوال الموجودة في الامثلة على الانترنت وبذلك ستجد صعوبة في تطبيقها .. على العموم جرب الملف المرفق بعد التعديل ووافيني بالنتيجة test.zip
-
اخي الكريم وائل لقد قمت بتعديل الملف السابق وذلك لكي يعمل معك بصورة مباشرة فقط يلزمك تغيير الفورم المسمى بـ Background بالفورم الرئيسي الخاص ببرنامجك لكن يجب عليك تسميته بـ Background ايضاً طبعاً من الصعب شرح الكود بالكامل لأنه طويل جداً ويقوم بمهام عديدة لكن مايهمك هو عندما يتم الربط بنجاح فسيعمل برنامجك بصورة طبيعية وما ان يتم تغيير اسم قاعدة البيانات فسوف يطالبك البرنامج باعادة الربط باختصار جرب المرفق التالي .. اذا وجدته مناسب ويعمل بكفاءة حينها قم باستيراده الى برنامجك (جدول واحد ، النماذج ، الوحدات النمطية) ومن ثم غير اسم فورم الواجهة الخاص ببرنامجك الى الاسم Background لكي يتم فتحه بعد اكتمال عملية الربط ملاحظة: عندما تختار مسار قاعدة الجداول قم بالضغط على علامة × في اعلى النموذج لكي يتم غلق النموذج واكمال عملية الربط تحياتي test.zip
-
طبعاً استخدام قاعدة لجداول البيانات فقط وقاعدة اخرى لواجهات البرنامج والتقارير .. وهذا مثال https://www.officena.net/ib/applications/core/interface/file/attachment.php?id=125734 تحياتي
-
اخي @Aliko بدايةً عند تقسيمك لقاعدة البيانات فإن الواجهات ستكون في قاعدة وجداول البيانات في قاعدة اخرى وسوف تضع قاعدة الجداول في جهاز السيرفر وتعمل للملف مشاركة بينما قاعدة الواجهات توزع على باقي الاجهزة في الشبكة حيث ان كل جهاز ستكون لديه نسخة من ملف الواجهات وترتبط جميع الاجهزة بجهاز السيرفر الآن انت تريد حماية البرنامج من النسخ الى اجهزة اخرى خارج نطاق شبكتك لذلك سوف تطبق الحماية على ملف الواجهات في كل جهاز لديك في الشبكة .. يعني كل جهاز لديك في الشبكة عليه ملف الواجهات سيكون له رقم تسجيل خاص به يتم تخزينه في قاعدة الواجهة نفسها لذلك لن تستطيع استخدام اكثر من رقم تسجيل لملف الواجهة للجهاز الواحد تحياتي
-
التفقيط في اكسس + الحماية ضد النسخ برقم الهارد
sandanet replied to Mohammad0988's topic in قسم الأكسيس Access
اخي انت تعبت نفسك في كتابة الموضوع وبالأخير ..................> موضوع مخالف وقد يتم إغلاقه من قبل إدارة المنتدى بخصوص حماية البرنامج برقم الهارد: موجودi لكنها غير مستحبة لأنك لاتضمن سلامة الهارد بشكل دائمي لذلك تم التوصل الى حل افضل وهو اعتماد اكثر من مكون في حماية البرنامج ولو تعطل احدى تلك المكونات فالبرنامج يستمر بالعمل لان باقي المكونات هي نفسها .. مثال: الحماية الثلاثية التي توصلنا لها تعمل من خلال قراءة سيريلات كل من الهارد والمعالج والمذربورد ودمجهما مع بعض لاعطاء رقم سميناه "رقم نسخة البرنامج" يقوم الزبون باعطاءك رقم النسخة وانت بدورك تعطيه رقم آخر اسمه "رقم التسجيل" يضعه في البرنامج لكي يتم تسجيل النسخة على جهازه فقط ولايمكنه نقل البرنامج على اي جهاز آخر .. الفكرة هنا ان الحماية تعتمد على التأكد من وجود قطعتين على الاقل من ثلاث قطع في الجهاز والا فلن يعمل البرنامج .. طبعاً لماذا قطعتين من ثلاثة!! لاننا افترضنا احتمالية عطل احدى القطع لدى الزبون وبالتالي فان الحماية تقوم بالتأكد من باقي القطع فاذا كانت 2 من القطع لها نفس السيريال بينما القطعة الثالثة مختلفة فسيعمل البرنامج .. المثال يمكن تحميله من خلال الرابط التالي تحياتي -
بارك الله فيك استاذ جعفر .. ربي يوفقك دنيا وآخرة
-
شكراً استاذ @jjafferr على المساعدة لكن لو تكرمت ممكن تشرحلي سطر عبارة for لاني مافهمته
-
السلام عليكم ورحمة الله وبركاته اخواني واساتذتي الكرام تحية طيبة وبعد .. سؤالي هو لو كان لدي مجموعة قيم مثل 852 ,123, 456, 789, 741 = x مخزنة داخل الكود وليست في جدول واريد مقارنة القيمة 456 = a اذا كانت ضمن القيم يعطي msgbox "ok والا msgbox "no بعد اكتمال المقارنة مع جميع الارقام طبعاً ارجو المساعدة تحياتي
-
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
جميل جداً استاذ @Shivan Rekany ساضيفها الى الكود مع اني لا استخدم صيغ Accdb ولا Accde على الاطلاق بل افضل البقاء على mdb و mde لكن لامانع من تطوير الملف .. بارك الله فيك تحياتي -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
اشكرك استاذ @Shivan Rekany الان 100% الملف يقبل mdb و mde وكذلك يقبل قاعدتين الاولى system والاخرى system_admin وهذا اثر من رائع بالنسبة لي فبارك الله فيك على مجهوداتك الرائعة بالنسبة لملف الـ text فاعتقد ان عملية تنزيله على الجهاز اولاً ومن ثم المقارنة هو ابسط الحلول المتوفرة الى الآن الا اذا كانت هنالك فكرة غيرها حينها نستطيع ان نختار الافضل منهما كذلك يمكن اعطاء امر بحذف ملف الـ text من الجهاز بعد اكتمال مقارنة المعلومات .. بالنسبة لأستاذي القدير @jjafferr اعتقد انك افضل من يبتكر الدوال اللازمة لعملية المقارنة فتوكل على الله وخوذلك فنجان قهوة ومخمخلها صح -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
استاذي @Shivan Rekany ارجو ان لايكون سؤالي قد سقط سهواً فلازلت انتظر اجابتك اما بالنسبة لما تفضلت به عن عدم السماح للمستخدم بتحديث البرنامج الا بعد موافقتك فاعتقد ان الموضوع يمكن حله عن طريق صلاحيات المستخدمين اذا كان للمستخدم الحق في تحديث البرنامج ام لا .. على العموم لو كانت لديك طريقة اخرى فارجو منك طرحها لاننا نريد الوصول الى ابسط الحلول واكثرها فاعلية تحياتي -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
لا ضرر في ان يتم تنزيل ملف ال txt عند فتح البرنامج ويتم قراءته على الجهاز وعمل المقارنات ومن ثم تنبيه المستخدم بانه يوجد اصدار جديد -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
شكراً جزيلاً استاذي القدير @Shivan Rekany ماشاء الله عليك مبدع دائماً .. وفقك الله .. اطمح منك المزيد استاذي الفاضل وهو في الكود الذي عدلته يوجد تحته كود غير مفعل وهو لقاعدة اسمها system_admin.MDE هل يمكن دمجها ايصاَ لكي يتم تطبيق البرنامج على اكثر من قاعدة؟ بالنسبة لتطوير الفكرة فاعتقد انه يجب البدء بعمل كود يقرأ مابداخل ملف text موجود على الجهاز ليكن اسمه update.text فيه البيانات التالية اسم البرنامج مع امتداده اصدار البرنامج كود التفعيل وهذا ماتفضل به استاذنا جعفر كالتالي Enquiry_Book.mde,2.0,0B9STtJY2DhAoQ1JET3F5N3NiMDQ myAccounting.mde,1.5,0B9STtJY2DhAoQ1JET3F5N3Nuwiu Archiving_Goods.mde,5.23,0B9STtJY2DhAoQ1JET3F5Nlujhft طبعاً الكود اللازم يجب اولاً ان يتأكد من وجود ملف ال update.txt على المسار المحدد بعد تنزيله تلقائياً من الانترنت اثناء فتح صفحة التحديث من داخل البرنامج ثم يقوم بقراءة المعلومات التي في داخله ويقارنها مع المعلومات المخزنة في جدول داخل البرنامج فيه نفس البيانات مع اختلاف رقم اصدار البرنامج وكود التفعيل طبعاً بالامكان الاستغناء عن كود التفعيل اذا كان الغرض هو تطوير البرنامج فقط حيث يتم الاكتفاء بمقارنة اصدار البرنامج فقط فإن وجد الكود ان رقم الاصدار بداخل الملف اكبر من ذلك الذي في الجدول فسيتم تنبيه المستخدم بوجود اصدار احدث للبرنامج وعند الضغط على زر امر تحديث فانه يتم اتباع الاسلوب الذي تم عمله في هذا الموضوع مبدئياً هذه الفكرة هي الاساس كما تفضل بها استاذ جعفر تحياتي طبعاً ملف ال update.text يمكن رفعه على google drive واستعمال الطريقة التي اتبعناها في هذا الموضوع لتنزيله من داخل البرنامج -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
اخواني الاعزاء واجهتني مشكلة وهي تشغيل ملف ال Activation على ملف mde لكنه يعمل بكفاءة مع ملف mdb كما في المرفق ..فما السبب؟؟ example.zip -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
استاذي الغالي جعفر موضوع تحديث FE فقط او FE مع تغيير في الجداول يعتمد على الملف الذي سوف ترفعه على google drive فأنا في هذا الموضوع كنت ارغب بتغيير المدة الزمنية فقط والتي هي قيمة مشفرة مخزنة في جدول خاص بملف FE عن طريق ملف ال Activation.mde حيث انه بعد التنزيل يتم غلق البرنامج الاصلي ومن ثم تشغيل ملف ال Activation واختيار مكان ملف FE لكي يتم تعديل المدة الزمنية لدى العميل طبعاً بعد التأكد من التصريح المعمول له في ملف ال Activation .. لكن يمكن تطويع الفكرة ايضاً لكي يتم تنزيل ملف FE محدث بالكامل ويتم استبداله يدوياً او عن طريق الكود بالملف الاصلي لكن بالنسبة لموضوع انزال النسخة حسب رقم التحديث اجد فيها صعوبة في كيفية تطبيقها لكنها جميلة فهي سوف تمنع تنزيل الملف من الانترنت الا اذا كان اصداره احدث من الذي يمتلكه المستخدم وهذه الفكرة تنفع في حال تم عمل تحديث كامل على ملف البرنامج وترغب باستبداله بالملف القديم وليس لعمل Activation كما في حالتي تلك تحياتي -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
استاذنا الكبير @jjafferr اولاً احب ان اشكرك جزيل الشكر على مشاركتك السابقة والتي فيها افكار جميله جداً لكنها معقدة بعض الشيء بالنسبة لي واعتقد بانه لو تم عمل ماتفضلت به على برنامج واحد يكون افضل ومن ثم بعدها يمكن التوسع بالفكرة لتشمل مجموعة اخرى . لكن ما استوقفني في ماتفضلت به هو "لكن مخي يمخخ وراح بعيد لكيفية الاستفادة من هذه الخطوة" نعم انا احسست بذلك لان الموضوع فيه خطورة نوعاً ما في ما اذا تم استخدام الطريقة في امر اخر وانت سيد العارفين وفاهم الموضوع كيف يتم لكن الحمد لله ليس في نيتي الا الخير ان شاء الله انا متابع لأغلب المواضيع ولم اجد احد قد فكر في ان يقوم بتحديث برنامجه عن طريق الانترنت ولا اعلم لماذا لايقوم الاخوة بهذه الخطوة الجميلة في برامجهم مع انها موجودة في جميع البرامج الأخرى المصممة في لغات برمجية اخرى كما في البرامج التي يثبتونها على اجهزتهم على العموم الباب مفتوح لتطوير الفكرة وان شاء الله تكون مرجع لجميع البرامج المعمولة بالاكسس تحياتي -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
اشكرك جزيل الشكر استاذي الكبير @Shivan Rekany جاري تجربة ماتفضلت به .. في الحقيقة ان مشاركتك في الموضوع في بدايته كانت ذو فائدة عظيمة أدت الى تلك النتائج .. كما ان مشاركة اساتذتي الكرام الآخرين وعلى رأسهم الاستاذ جعفر كانت هي الحافز الكبير لدي للبحث المستمر حتى النهاية الموضوع من وجهة نظري مهم جداً وسوف يحتاجه الاخوة الافاضل لعمل تحديث لبرامجهم عن طريق الانترنت .. الموضوع قد طرحته قبل فترة لكن لم يتم التعقيب عليه وكنت شخصياً قد نسيته الى ان قام الاخ ebnjabalapp بالرد عليه مشكوراً ..فتحياتي لكم جميعاً -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
استاذي @أبو عبدالله الحلوانى اعتذر عن هذا الخطأ الغير مقصود فنسيت ان اضيف التالي Option Explicit Option Compare Database Dim strPing As String Dim strCommand As String Dim myIp والكود يعمل لدي بنجاح على اكسس 2007 وسأقوم بتجربته لاحقاً على اكسس 2003 ايضاً ان شاء الله -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
بفضل الله أولاً ومن ثم بفضل فكرة استاذي الكبير @Shivan Rekany تمكنت من ايجاد الكود التالي مع بعض التعديلات عليه ليقوم بالمهمة المطلوبة Sub DownloadUpdate() Dim FileNum As Long Dim FileData() As Byte Dim MyFile As String Dim WHTTP As Object Dim str_folder As String On Error Resume Next myIp = "www.google.com" strCommand = "%ComSpec% /C %SystemRoot%\system32\ping.exe -n 1 -w 500 " & myIp & " | " & "%SystemRoot%\system32\find.exe /i " & Chr(34) & "TTL=" & Chr(34) strPing = fShellRun(strCommand) If strPing = "" Then MsgBox "تحقق من اتصالك بالانترنت لكي يتم تنزيل الملف", vbCritical, "فشل التحديث" Else Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5") If Err.Number <> 0 Then Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5.1") End If On Error GoTo 0 MyFile = "https://drive.google.com/drive/folders/0B9STtJY2DhAoQ1JET3F5N3NiMDQ" WHTTP.Open "GET", MyFile, False WHTTP.send FileData = WHTTP.ResponseBody Set WHTTP = Nothing If Dir("C:\MyDownloads", vbDirectory) = Empty Then MkDir "C:\MyDownloads" FileNum = FreeFile Open "C:\MyDownloads\Activation.mde" For Binary As #FileNum Put #FileNum, 1, FileData Close #FileNum MsgBox " [ C:\MyDownloads ]تم تنزيل ملف التفعيل في المسار التالي", vbInformation + vbMsgBoxRight, "تنبيه" str_folder = "C:\MyDownloads" ' folder to open Call Shell("explorer.exe " & str_folder, vbNormalFocus) DoCmd.Quit End If -
تحميل ملف من موقع عن طريق رابط ثابت مزود في البرنامج مسبقاً
sandanet replied to sandanet's topic in قسم الأكسيس Access
استاذي الكبير @jjafferr كنت انتظر رأيك منذ مدة .. انا فكرتي ببساطة هو جعل البرنامج قابل للتحديث عن طريق الانترنت يعني مثلاً عندما تنتهي الفترة التجريبية للبرنامج فان المستخدم يستطيع تحديث البرنامج عن طريق زر امر في النموذج حيث يقوم بانزال ملف mde صغير يفعل له البرنامج .. طبعاً الفكرة هي ان كل شخص يملك البرنامج يستطيع تنزيل الملف لكن فقط من قام بشراء البرنامج يستطيع تفعيله عن طريق ذلك الملف. في الحقيقة لازلت لا املك ملف لتفعيل البرنامج حتى اقوم برفعه افكر في عمله لاحقاً والان لايهم فيمكن استعمال اي ملف mde للتجربة مبدئياً المشكلة تكمن في انه لو تم رفع الملف على google dive مثلاً فان الموقع ينشئ رابط ديناميكي للملف يتم حذفه بمجرد تغييرك للملف بواحد آخر حتى وان كان يحمل نفس الاسم والامتداد وهذا يسبب مشكلة لان الرابط يجب ان يكون مثبت تحت زر امر في البرنامج الموجود لدى العملاء بهذا الشكل مثلاً "https://drive.google.com/drive/my-drive/Activation.mde" لو يتم رفع الملف على استضافة سواء كانت مجانية او مدفوعة فستكون مشكلة ايضاً لان الاستضافة المجانية لن تدوم والاستضافة الدفوعة مرهونة بفترة الاشتراك ايضاً .. لذلك كنت اود ان تطبق الفكرة على استضافة دائمية مثل google drive لكن كما اشرت مسبقاً فان الموقع لايعطيك رابط ثابت