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

الردود الموصى بها

قام بنشر

السلام عليكم و رحمة الله و بركاته

اساتذتي الكرام  ادام الله عمركم بالخير و الافراح و المسرات . 

قمت بانشاء برنامج على الاكساس ووقع توزيعه على بعض الزملاء في مقاطعات مختلفة . و كل زميل يشتغل مستقل عن الاخر  اي البرنامج فردي و مكتبي لا اكثر 

لكن المشكل انه من يوم الى اخر اقوم بالتعديل على بعض النماذج دون لمس الجداول او الاستعلامات

و بالتالي كانت المشكلة يجب ان يقوم الزملاء ايضا بتحديث البرنامج :

هل ارسل لهم النسخة المحدثة ام هناك طريقة اخرى سهلة و سريعة تمكنهم من تحديث البرنامج بسرعة و كفاءة دون الاض ار بمعطياتهم 

انتظر شطارة اساتذتي الكرام 

شكرا و جعل الله اعمالكم في ميزان حسناتكم 

قام بنشر (معدل)
34 دقائق مضت, derbali ammar said:

السلام عليكم و رحمة الله و بركاته

اساتذتي الكرام  ادام الله عمركم بالخير و الافراح و المسرات . 

قمت بانشاء برنامج على الاكساس ووقع توزيعه على بعض الزملاء في مقاطعات مختلفة . و كل زميل يشتغل مستقل عن الاخر  اي البرنامج فردي و مكتبي لا اكثر 

لكن المشكل انه من يوم الى اخر اقوم بالتعديل على بعض النماذج دون لمس الجداول او الاستعلامات

و بالتالي كانت المشكلة يجب ان يقوم الزملاء ايضا بتحديث البرنامج :

هل ارسل لهم النسخة المحدثة ام هناك طريقة اخرى سهلة و سريعة تمكنهم من تحديث البرنامج بسرعة و كفاءة دون الاض ار بمعطياتهم 

انتظر شطارة اساتذتي الكرام 

شكرا و جعل الله اعمالكم في ميزان حسناتكم 

وعليكم السلام ورحمة اله وبركاته ....

اذا كانت نسخ البرنامج تم توزيعها بصيغة ( MDB أو ACCDB ) يمكن ارسال برنامج صغير فيه النماذج المعدلة .... وظيفة هذا البرنامج حذف النماذج القديمة من البرنامج لدي المستخدمين ثم اضافة النماذج المعدلة الى برامج المستخدمين ... ( لكن يجب عمل نسخ احتياطية قبل ذلك ) طبعا هناك طرق اخرى ... لو استخدمت البحث في المنتدى كان أفضل لاثراء افكارك بافكار أخرى ...

..............................................................................................................

تم تعديل بواسطه kanory
  • Like 3
قام بنشر

نعم استاذي الكريم وجدت بالمنتدى طريقة جيدة و رائعة 

لكن استوقفني ردك الرشيق و المتمثل في

"مكن ارسال برنامج صغير فيه النماذج المعدلة .... وظيفة هذا البرنامج حذف النماذج القديمة من البرنامج لدي المستخدمين ثم اضافة النماذج المعدلة الى برامج المستخدمين"  بواسطه kanory

هل بامكان استاذنا الحبيب احبه الله و مناه بالخيرات و الصحة الجيدة تمكيننا من هذا البرنامج او من طريقة انشائه حتى نستفيد اكثر باكثر من معلومة  جعلها الله في ميزان حسناتك 

قام بنشر
2 ساعات مضت, derbali ammar said:

اقوم بالتعديل على بعض النماذج دون لمس الجداول او الاستعلامات

ليست لدي الطريقة الآن ولكن أقترح عليك بما أنك لم تغير في الجداول أن تبحث عن طريقة تستورد لك البيانات من النسخ القديمة للنسخة الجديدة ..

🙂 

  • Like 1
قام بنشر
منذ ساعه, derbali ammar said:

نعم استاذي الكريم وجدت بالمنتدى طريقة جيدة و رائعة 

لكن استوقفني ردك الرشيق و المتمثل في

"مكن ارسال برنامج صغير فيه النماذج المعدلة .... وظيفة هذا البرنامج حذف النماذج القديمة من البرنامج لدي المستخدمين ثم اضافة النماذج المعدلة الى برامج المستخدمين"  بواسطه kanory

هل بامكان استاذنا الحبيب احبه الله و مناه بالخيرات و الصحة الجيدة تمكيننا من هذا البرنامج او من طريقة انشائه حتى نستفيد اكثر باكثر من معلومة  جعلها الله في ميزان حسناتك 

هو برنامج تصممة انت عن طريق الاكسس .... الهدف كما ذكرت لك هو تحديث برنامج العميل بالطريقة المذكورة .... انظر الصورة .....

 

1.png

  • Like 4
قام بنشر
5 ساعات مضت, kanory said:

ذا كانت نسخ البرنامج تم توزيعها بصيغة ( MDB أو ACCDB )

طيب .. واذا كانت بصيغة mde, accde

  • Like 2
قام بنشر

الطريقه التي كنت استخدمها عندما كنت اعمل في مجال البرمجة

التحديث عن طريق ملف تنفيذي Exe او ملف دفعي bat

يتطلب تنفيذ الفكرة توفر نسخة من الاصدارة الموجود لدى العميل ثم احتفظ بهذه النسخة بملف امن

اقوم بعمل نسخة اخرى من نفس الملف وانقلها لمجلد التحديث ثم اقوم باجراء التعديل والتطوير المطلوب عليها لاحظ هنا ان النسختين متماثلتين تماما قبل التطوير

اقوم باجراء مقارنة بين الملفين الملف الاصلي في المجلد الامن والملف المعدل الموجود في مجلد التعديل

نستخلص الفروقات فقط اذا كان التعديل بسيط يمكن استخلاصة بشكل يدوي والافضل استخدام ادوات خاصة

ثم اعمل ملف تنفيذي يحتوي فقط على التمثيل للفروقات و بعض المعلومات المميزة للبرنامج المستهدف و يسلم للعميل

كل المطلوب من العميل تشغيل الملف ثم تنفيذ وسيتم التطوير

مميزات الطريقة لا يوجد اي مخاطر من وقوع الملف بيد اي شخص غير مصرح له بالحصول عليه لكونه لن يعمل الا في حالة وجود الملف المطلوب تطويرة وبنفس الاصدار ولن يعمل مع اصدار اقل او اكبر من الاصدار المطلوب

هذه الطريقة لا تقوم بحذف اي من النماذج الموجود وانما التعديل عليها

هذه الطريقة ليست حصريا للاكسيس ويمكن استخدامها لاي برنامج مثل تطوير & تكريك & تلويث & كسر حماية .. الخ

عيوب الطريقة قد تظهر رسالة تحذير من برنامج مكافحة الفيروسات لكون نظام التشغيل وبرنامج مكافحة الفيروسات يعتبران العمليه اجراء مشبوه

في حالة اكسس هذه الطريفة لتطوير كائنات القاعدة ماعدا الجداول ولا يفرق صيغة ملف الاكسس مهما كان امتداده

واجهت بعض المشكلات عند استخدامها مع ويندوز 11 " النسخ غير المعدلة " مما يتطلب تنفيذ الملف من نقطة الاوامر

هذه الطريقة تتطلب معرفة بالبرمجة ذات المستوى المنخفض asm وليس البرمجة عالية المستوى وتتطلب ادوات خاصة بالهندسة العكسية

هذه المشاركة تتحدث عن تجربتي وبما يشبه التفكير بصوت مرتفع وليس الهدف منها تعليمي او اي اثراء للموضوع

تحياتي

  • Like 1
قام بنشر
45 دقائق مضت, مبرمج سابق said:

هذه المشاركة تتحدث عن تجربتي وبما يشبه التفكير بصوت مرتفع وليس الهدف منها تعليمي او اي اثراء للموضوع

أنت الآن جعلتنا نتطمع في رؤية هذه التجربة بعين اليقين 😏

والظاهر أننا لا نعذرك في ذلك ( إلا إن أحيط بكم ودارت عليكم الدوائر فنعذرك حينها ) 😅

قام بنشر
منذ ساعه, Moosak said:

نت الآن جعلتنا نتطمع في رؤية هذه التجربة

هذة التجربة سبق ان قام احد الاعضاء السابقين بمناقشتها مع الاستاذ @jjafferr على صفحات الموقع وبالرسائل الخاصة ووضع مثال فيديو لعملية اضافة زر امر في احد النماذج لقاعدة بيانات محولة الى accde

ووجدوا ان الاستمرار في النقاش ضرره اكبر من نفعه لذا تم حذف هذه الجزئيات من الموضوع

منذ ساعه, Moosak said:

بعين اليقين

الامر بسيط هل سبق ان استخدمت كراك لتفعيل برنامج ؟ او فكرت كيف يصنع الكراك ؟

اذا كان الاجابة نعم فالامر بنفس البساطة والطريقة بنفس طريقة صنع الكراك وتوفر الادوات المناسبة بل اجزم ان الامر اسهل لكون تكريرك بعض البرامج يتطلب كسر حماية وفك الضغط ثم البحث او المقارنة ثم صنع الباتش او الكيجن

اما هناك فتعتمد المقارنة بين ملفين واستخلاص التمثيل المختلف.

على كل حال من سبق له العمل على تكريك البرامج يعرف الذي اعنيه

منذ ساعه, Moosak said:

والظاهر أننا لا نعذرك في ذلك ( إلا إن أحيط بكم ودارت عليكم الدوائر فنعذرك حينها )

لا اعلم المقصود بما بين الاقواس لذا لن اعلق عليها واكتفي بردي بالاعلى مع افتراض حسن الظن بالجميع

تحياتي لك

  • Like 1
قام بنشر
18 دقائق مضت, مبرمج سابق said:

هذة التجربة سبق ان قام احد الاعضاء السابقين بمناقشتها مع الاستاذ @jjafferr على صفحات الموقع وبالرسائل الخاصة ووضع مثال فيديو لعملية اضافة زر امر في احد النماذج لقاعدة بيانات محولة الى accde

ووجدوا ان الاستمرار في النقاش ضرره اكبر من نفعه لذا تم حذف هذه الجزئيات من الموضوع

كان الموضوع شيقا ، ويفتح عالم جديد ،

و لسببين رأينا اغلاق الموضوع قبل فتحة:

1. لأنه ليس برمجة الاكسس ، 

2. لأنه سيحتاج الى دعم فني ، وكذلك لأنه ليس اكسس ، فليس مكانه هنا 😁

 

1 ساعه مضت, Moosak said:

والظاهر أننا لا نعذرك في ذلك عدم الشرح ( إلا إن أحيط بكم ودارت عليكم الدوائر فنعذرك حينها ولم يسمح لك وقتك) 😅

.

الحمدلله ما قال: جعفر بيقول ان الموضوع سيكون مخالف 😂

 

جعفر

  • Haha 1
قام بنشر
11 دقائق مضت, jjafferr said:

لأنه سيحتاج الى دعم فني ، وكذلك لأنه ليس اكسس ، فليس مكانه هنا

احسنت استاذ @jjafferr

هذه الجزئية دخلت للاشارة لها ثم وجدت ردك فكان اكثر ايضاح

بعد صنع الملف التنفيذي لن يتعامل مع القاعدة المستهدفة كونها ملف اكسس وانما كاي ملف موجود بالجهاز

☝️وفسر الماء بعد الجهد بالماء 😄

  • Like 1
قام بنشر
19 ساعات مضت, derbali ammar said:

جميل جدا لكن رجاءا كود النمو ذج او مثال للنموذج الذي ارفقته للرسالة و شكرا استاذي الكريم 

 

الاكواد موجودة في المنتدى لعلك تبحث عنها .... أو ان ان وجدت فرصة اقتطعها من برنامجي لادرجها هنا ....

 

17 ساعات مضت, Eng.Qassim said:

طيب .. واذا كانت بصيغة mde, accde

 

لانها تصبح غير قابلة التعديل وخاصة للنماذج والتقارير ..... اما الجداول فممكن التعديل عليها .... السائل كان يسأل عن النماذج ..... والافضل دائما في حالة البرامج اجعلها قاعدتين ( امامية - خلفية ) ليسهل التعامل معها سواءا كانت MDE أ MDB

قام بنشر (معدل)

اخي الكريم 

لتسهيل عملية التحديث اقترح عليك ان تستعين بــ Google drive

بحيث تقوم برفع آخر نسخة من التعديلات الى  Google drive

و من خلال الكود سيتم تحميل هذه النسخة الى جهاز العميل او المستخدم الآخر

و حتى يتم ذلك يجب ان تقوم بإنشاء Module جديد و الصق فيه الكود التالي

Option Compare Database
Option Explicit

#If VBA7 Then
    Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" _
        Alias "URLDownloadToFileA" (ByVal pCaller As LongPtr, _
        ByVal szURL As String, ByVal szFileName As String, _
        ByVal dwReserved As LongPtr, ByVal lpfnCB As LongPtr) As LongPtr
#Else
    Private Declare Function URLDownloadToFile Lib "urlmon" _
        Alias "URLDownLoadToFileA" (ByVal pCaller As Long, _
        ByVal szURL As String, ByVal szFileName As String, _
        ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
#End If

Function downloadFile( _
    ByVal FileURL As String, _
    ByVal FilePath As String) _
As Boolean
    Const ProcName As String = "downloadFile"
    On Error GoTo clearError
    
    URLDownloadToFile 0, FileURL, FilePath, 0, 0
    downloadFile = True

ProcExit:
    Exit Function
clearError:
    Debug.Print "'" & ProcName & "': Unexpected Error!" & vbLf _
              & "    " & "Run-time error '" & Err.Number & "':" & vbLf _
              & "        " & Err.Description
    Resume ProcExit
End Function

Sub downloadGoogleDrive(FilePath As String, FileID As String)
    
    Const UrlLeft As String = "http://drive.google.com/u/0/uc?id="
    Const UrlRight As String = "&export=download"
        
    Dim Url As String: Url = UrlLeft & FileID & UrlRight
    
    Dim wasDownloaded As Boolean
    wasDownloaded = downloadFile(Url, FilePath)
    If wasDownloaded Then
        MsgBox "Success"
    Else
        MsgBox "Fail"
    End If

End Sub

Sub NewFileText()
On Error Resume Next
Dim FileSeveTo As String
FileSeveTo = CurrentProject.Path & "\" & Right$(CurrentProject.FullName, _
                                                Len(CurrentProject.FullName) _
                                                - InStrRev(CurrentProject.FullName, "\"))
Dim GoogleFileID As String: GoogleFileID = "1DQqZYciRIs_dcBE6JLeoqiB3zjcq2SpL"
Call downloadGoogleDrive(FileSeveTo, GoogleFileID)

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Set oFile = fso.CreateTextFile(CurrentProject.Path & "\UpdateFile.cmd")
    oFile.WriteLine "@Echo OFF"
    oFile.WriteLine "SLEEP 3"
    oFile.WriteLine "copy " & """" & FileSeveTo & """" & " " & """" & CurrentProject.FullName & """" & " /Y"
    oFile.WriteLine "call " & """" & CurrentProject.FullName & """"
    oFile.WriteLine "exit"
    oFile.Close
Set fso = Nothing
Set oFile = Nothing
'تشغيل ملف النظام
Dim RetVal
    RetVal = Shell(CurrentProject.Path & "\UpdateFile.cmd", 1)
Application.CloseCurrentDatabase
End Sub

 

 

و للاستدعاء لتحميل الملف و استبدال النسخة الحالية للمستخدم 

استخدم الكود التالي في ازرار التحديث او في اي اجراء تستخدمه للتحديث (( لا تنسى وضع مفتاح الملف الذي حصلت عليه من قوقل ))

'===========================================================================
Dim GoogleFileID As String: GoogleFileID = "مفتاح الملف من قوقل درايف"
'===========================================================================
Dim FileSeveTo As String
FileSeveTo = CurrentProject.Path & "\" & Right$(CurrentProject.FullName, _
                                                Len(CurrentProject.FullName) _
                                                - InStrRev(CurrentProject.FullName, "\"))

Call downloadGoogleDrive(FileSeveTo, GoogleFileID)

 

 

 

تم تعديل بواسطه د.كاف يار
  • Like 5
  • 5 months later...
قام بنشر
في 30‏/5‏/2022 at 17:06, د.كاف يار said:
'===========================================================================
Dim GoogleFileID As String: GoogleFileID = "مفتاح الملف من قوقل درايف"
'===========================================================================
Dim FileSeveTo As String
FileSeveTo = CurrentProject.Path & "\" & Right$(CurrentProject.FullName, _
                                                Len(CurrentProject.FullName) _
                                                - InStrRev(CurrentProject.FullName, "\"))

Call downloadGoogleDrive(FileSeveTo, GoogleFileID)

السلام عليكم

لم افهم قصدك بــ(مفتاح الملف في قوقل درايف) ... لم اجد شي باسم مفتاح الملف ...

هل تقصد الرابط؟؟؟؟

 

قام بنشر
في 29‏/5‏/2022 at 19:04, kanory said:

هو برنامج تصممة انت عن طريق الاكسس .... الهدف كما ذكرت لك هو تحديث برنامج العميل بالطريقة المذكورة .... انظر الصورة .....

 

1.png

استاذنا ممكن مرفق للبرنامج استاذى الحبيب

بارك الله فيك

  • Like 1
قام بنشر
منذ ساعه, abouelhassan said:

استاذنا ممكن مرفق للبرنامج استاذى الحبيب

بارك الله فيك

ابشر ابا الحسن ... احاول اعمل نموذج مبسط لتحديث نموذج لدى العميل وايضا اضافة حقل في جدول لدى العميل ...

  • Like 1
قام بنشر

طيب .... هذه نسخة مبسطة كما ذكرت ويمكن الابداع في طريقة تنفيذها ......

1- النموذج المراد تعديله ...

2- نسخة لإعادة التجربة .

طبعا يمكن اضافة اضافات لبرنامج التحديث اخذ مثلا نسخة احتياطية قبل التنفيذ ..... ايضا يمكن اضافة التعرف على برنامج العميل من حيث النسخة وهل البرنامج محدث او لا الى إخره من الابداعات والمهارات ...................................

 

1.png

2.png

kan_PRO.rar

  • Like 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information