اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

السادة الخبراء الافاضل واساتذتى الاعزاء

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

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

هل هذا ممكن ام ان خيالى شطح بعيدا لكم الشكر

 

  • أفضل إجابة
قام بنشر
8 ساعات مضت, jo_2010 said:

السادة الخبراء الافاضل واساتذتى الاعزاء

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

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

هل هذا ممكن ام ان خيالى شطح بعيدا لكم الشكر

 

وانت في صحة وسلامة 

طيب انشئ وحدة نمطية وضع هذا فيه :::::::

Private Const TIMEOUT = 99
Public Sub Restart()
    Dim scriptpath As String
    scriptpath = Application.CurrentProject.FullName & ".dbrestart.bat"
    
    If Dir(scriptpath, vbNormal) <> "" Then
        If DateAdd("s", TIMEOUT * 1, FileDateTime(scriptpath)) < Date Then
            Kill scriptpath
        Else
            Application.Quit acQuitSaveAll
            Exit Sub
        End If
    End If
    
    Dim s As String
    s = s & "SETLOCAL ENABLEDELAYEDEXPANSION" & vbCrLf
    s = s & "SET /a counter=0" & vbCrLf
    s = s & ":CHECKLOCKFILE" & vbCrLf
    s = s & "ping 0.0.0.255 -n 1 -w 100 > nul" & vbCrLf
    s = s & "SET /a counter+=1" & vbCrLf
    s = s & "IF ""!counter!""==""" & TIMEOUT & """ GOTO CLEANUP" & vbCrLf
    s = s & "IF EXIST ""%~f1.%3"" GOTO CHECKLOCKFILE" & vbCrLf
    s = s & "start "" "" ""%~f1.%2""" & vbCrLf
    s = s & ":CLEANUP" & vbCrLf
    s = s & "del %0"
    
    Dim intFile As Integer
    intFile = FreeFile()
    Open scriptpath For Output As #intFile
    Print #intFile, s
    Close #intFile
    
    Dim dbname As String, ext As String, lockext As String
    Dim idx As Integer
    For idx = Len(CurrentProject.FullName) To 1 Step -1
        If Mid(CurrentProject.FullName, idx, 1) = "." Then Exit For
    Next idx
    dbname = Left(CurrentProject.FullName, idx - 1)
    ext = Mid(CurrentProject.FullName, idx + 1)
    
    If Left(ext, 2) = "ac" Then
        lockext = "laccdb"
    Else
        lockext = "ldb"
    End If
    
    s = """" & scriptpath & """ """ & dbname & """ " & ext & " " & lockext
    Shell s, vbHide
    
   Application.Quit acQuitSaveAll
End Sub

 

تحت حدث الزر ضع هذا ::::::::

    Utilities.Restart

 

  • Like 4
  • Thanks 1
قام بنشر
4 ساعات مضت, Eng.Qassim said:
Restart

 

5 ساعات مضت, ناقل said:

تحت حدث الزر ضع هذا

اخوانى الاعزاء 

لا هذا وذاك نافع

قام بنشر
48 دقائق مضت, الحلبي said:

 

اخوانى الاعزاء 

لا هذا وذاك نافع

على العكس اخى يعمل ممتاز 

بارك الله فيكم اخوانى 

استاذ ناقل باشمهندس قاسم

قام بنشر
1 ساعه مضت, الحلبي said:

اخوانى الاعزاء 

لا هذا وذاك نافع

دكتورنا العزيز...احتمال فرحان ببدلة العيد والكود مش شغال معاك 😂

كل عام وانت بخير...

الكود شغال وزي الفل

  • Haha 2
قام بنشر
7 دقائق مضت, Eng.Qassim said:

دكتورنا العزيز...احتمال فرحان ببدلة العيد والكود مش شغال معاك 😂

كل عام وانت بخير...

الكود شغال وزي الفل

 

قام بنشر

الكود يعمل بنجاح على الرغم من غرابة السؤال والاغرب منه تصور الافادة من تلك النتيجة :eek2:

قطعا اذا عرف السبب بطل العجب :yes:

  • Haha 1
قام بنشر

استاذى الفاضل ناقل

خالص الشكر لمجهودك الخارق لحل مشكلتى

قام بنشر
5 ساعات مضت, jo_2010 said:

استاذى الفاضل ناقل

خالص الشكر لمجهودك الخارق لحل مشكلتى

ان اردت الضغط والاصلاح قبلها مع رسالة ضع هذا الحدث تحت الزر ......

If MsgBox("هل ترغب في ضغط واصلاح بيانات القاعدة قبل إغلاقها" & vbCrLf & _
    "اضغط على (لا) لإلغاء العملية . اضغط على (نعم) لضغط البيانات ", _
    vbInformation + vbMsgBoxRight + vbYesNo + vbDefaultButton1, _
    "تنبيه :  رسالة تأكيد ضغط قاعدة البيانات واصلاحها") = vbYes Then
Application.SetOption "Auto compact", True
End If
    Utilities.Restart

 

  • Like 1
قام بنشر

المحترم الفاضل ناقل

شكرا على تعبك فى ايجاد حل لمشكلتى

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

 

قام بنشر
في 10‏/5‏/2022 at 13:17, jo_2010 said:

المحترم الفاضل ناقل

شكرا على تعبك فى ايجاد حل لمشكلتى

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

 

بالرغم من عدم ارفاق مثالك .... جرب المرفق واعلمنا ......

 

btRestart.mdb

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

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

Untitled.png

restart code - Copy.rar

تم تعديل بواسطه jo_2010

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