الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحديث قاعدة بيانات

بدأه khashab في 11 سبتمبر 2010 · 0 رد · 346 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

لدينا الان مجلد على اجهزة المستخدمين به قاعدة البيانات وملف نصي به رقم الاصدار Y

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

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

شرح البرنامج

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

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

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

بس خلاص

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

كود البرنامج

Imports System.IO

Friend Class Form1
    Inherits System.Windows.Forms.Form
    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Integer, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Integer) As Integer

    Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
        Dim dd As String
        Dim ff As String
        Dim h As String


        h = Dir("c:\datagard\y.ini")

        If h = "" Then
            MkDir("c:\datagard")
            FileCopy((My.Application.Info.DirectoryPath & "\gard.mdb"), ("c:\datagard\gard.mdb"))
            FileCopy((My.Application.Info.DirectoryPath & "\x.ini"), ("c:\datagard\y.ini"))
        End If

        Dim txdt As New StreamReader(My.Application.Info.DirectoryPath & "\x.ini")
        ff = txdt.ReadLine
        txdt.Close()

        Dim txdt2 As New StreamReader("c:\datagard\y.ini")
        dd = txdt2.ReadLine
        txdt2.Close()


        If Int(ff) > Int(dd) Then
            FileCopy((My.Application.Info.DirectoryPath & "\gard.mdb"), ("c:\datagard\gard.mdb"))
            FileCopy((My.Application.Info.DirectoryPath & "\x.ini"), ("c:\datagard\y.ini"))

            Beep()
            MsgBox("تم العثور على تحديث للبرنامج الخاص بك " & vbCrLf & "تم التحديث", MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly + MsgBoxStyle.MsgBoxRtlReading, "برامج الخشاب")

        End If


        Dim hWnd As Integer
        Dim Ret As Integer

        Ret = ShellExecute(hWnd, "Open", "c:\datagard\gard.mdb", "", "", 1)
        End
    End Sub
End Class

مواضيع مشابهة