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

amir_adam83

03 عضو مميز
  • Posts

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

  • تاريخ اخر زياره

مشاركات المكتوبه بواسطه amir_adam83

  1. السلام عليكم لدي كود في ايقاف البرنامج بعد مده زمنية وهو

    Private Sub Form_Current()
    On Error Resume Next
    Dim odate As Date
    Dim message, rdate As String
    odate = #3/28/2021#
    If odate <= Date Then
    MsgBox "لقد تم انهاء فترة التجربه", vbInformation, "تنبيه"
    DoCmd.Quit
    DoCmd.OpenForm "Give access rights to the system"
    Else
    rdate = CStr(odate - Date)
    Me.dAYER.Caption = " باقي على مدة انتهاء فترة التجريب" & " " & rdate & " " & "يوم/ايام"
    End If
    end sub

    اريد ان اضع تاريخ الانتهاء في جدول

    بدلا من ان ادخل على فيجول بيسك واعدل تاريخ التشغيل

    وجزاكم الله خير

  2. 11 hours ago, kha9009lid said:

    تم تعديل الخطأ بسبب التعارض مع كود لاخينا صاحب السؤال

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

     

    xx22.gif

    الاجازات.accdb 592 kB · 2 downloads

    kha9009lid

    شكرا استاذي الكريم هذا هو المطلوب بالفعل

    • Like 1
  3. السلام عليكم ورحمة الله وبركاتة

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

    205630043_.jpg.5ed6abf46613466c5a0657ff7913eb9b.jpg

     

    تم استخدام هذا الكود ولم يظبط معي مثل هذا

    Private Sub Appro_Click()
    On Error Resume Next
    If IsNull(Me.Appro.Value = False) Then
    Me.ID.Enabled = True = Me.ID.Enabled = True
    Me.DatRet.Enabled = True
    Me.DatDay.Enabled = True
    Me.Dour.Enabled = True
    Me.DatBr.Enabled = True
    Me.DatRetIn.Enabled = True
    Me.TypBr.Enabled = True
    Else
    MsgBox "عفول تم اغلاق ملف الاجازه هذا لايمكن التعديل علية", vbCritical, "تنبية"
    Me.ID.Enabled = True = Me.ID.Enabled = False
    Me.DatRet.Enabled = False
    Me.DatDay.Enabled = False
    Me.Dour.Enabled = False
    Me.DatBr.Enabled = False
    Me.DatRetIn.Enabled = False
    Me.TypBr.Enabled = False
    End If
    End Sub

    وتظهر لي عند تشغيل النموذج بهذه الصوره

     

     

     

    192339956_.jpg.46f6a8f7937e91eaef86c45c6c6deb61.jpg

     

    ومرفق قاعدة البيانات شكرا لكم

     

    الاجازات.rar

  4. 12 hours ago, د.كاف يار said:

    تفضل هذا التعديل اخي الكريم

    
    Dim My_Selectdata1 As String
    Dim My_Selectdata2 As String
    Dim My_SelectdataWhere As String
    My_Selectdata1 = "INSERT INTO Table_777_MaturityscheduleOte ( Dart, Finncy, [Stop-Salary], CodeStaff, NameStaff, CodeJ, NameJop, CodeSec, NameSection, CodeAdm, NamAdmin, NamCopmany, DateStarWork, NameAsthkak, SalaryPrimry, BadelMove, BadelTravil, BadelOther, PricDay, NoHourse, NoDayStadar, NoDayAchoal, HorsOverTim, ValueOverTim, HorsBack, ValueHorsBack, StopDay, ValueStopDay, GoAfters, ValueQun, GoAprovit, ValueAprovit, SalaryCut, Akopat, ValueAkopat, Kadwoo, ValueKadwoo, TotalS, TotalCut, TotalFree, Descrption, AccountBank, CodeBancks, NamesBancks, AccountBankCombany, Tawgih, Depet, Elpians, PisceLink )"
    My_Selectdata2 = "SELECT Dart, Finncy, [Stop-Salary], CodeStaff, NameStaff, CodeJ, NameJop, CodeSec, NameSection, CodeAdm, NamAdmin, NamCopmany, DateStarWork, NameAsthkak, SalaryPrimry, BadelMove, BadelTravil, BadelOther, PricDay, NoHourse, NoDayStadar, NoDayAchoal, HorsOverTim, ValueOverTim, HorsBack, ValueHorsBack, StopDay, ValueStopDay, GoAfters, ValueQun, GoAprovit, ValueAprovit, SalaryCut, Akopat, ValueAkopat, Kadwoo, ValueKadwoo, TotalS, TotalCut, TotalFree, Descrption, AccountBank, CodeBancks, NamesBancks, AccountBankCombany, Tawgih, Depet, Elpians, PisceLink FROM Table_776_Maturityschedule"
    My_SelectdataWhere = " WHERE (((Table_776_Maturityschedule.CodeStaff) Between [Forms]![Frm_776_Monthlyroutinescreen]![TextCodeEmp] And [Forms]![Frm_776_Monthlyroutinescreen]![ToextCodeEmp]));"
    
    If Me.TextCodeEmp = "" Or Me.TextCodeEmp = " " Or Me.TextCodeEmp = Null Or Me.TextCodeEmp = 0 Then
    MsgBox "يجب ادخال كود الموظف للاستمرار", vbCritical + vbMsgBoxRight, "تنبيه"
    Exit Sub
    Else
    
    If MsgBox("هل تريد ترحيل الملف المحدد الى جدول الاستحقاق ؟" & _
        vbNewLine & " كود الموظف" & " من " & " : " & Me.TextCodeEmp & "  -  " & " الى " & " : " & Me.ToextCodeEmp, vbYesNo + vbMsgBoxRight + vbExclamation) = vbYes Then
    
        DoCmd.SetWarnings False
        DoCmd.RunSQL My_Selectdata1 & My_Selectdata2 & My_SelectdataWhere
        DoCmd.RunSQL "DELETE FROM Table_776_Maturityschedule" & My_SelectdataWhere
    
        DoCmd.SetWarnings True
    
        MsgBox "تم عمل الروتين الشهري وتم اغلاق الروتين", vbInformation + vbMsgBoxRight, "نقل بيانات الرواتب"
        DoCmd.Close
    
    End If
    
    End If

     

    الترحيل.rar 43.35 kB · 5 downloads

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

    هذا هو المطلوب بلفعل

    شكرا لك

     

     

    د.كاف يار

    :dance1:

    شكرا لك

    • Like 1
  5. السلام عليكم ورحمة الله وبركاته 

    لدي جدولين الاول يتم استدعاء الموظفين فيه ومن ثم تجهيز المستحقات والاستقطاعات لهم

    والجدول الثاني يتم ترحيل اليه البيانات لعملية الصرف 

    وهذه العمليه تتم عن طريق نموذج وسيط

    كما هوا بالمرفق تم عمل الكود ولكن لم اعلم اين المشكله

    شكرا لكم

    الترحيل.rar

  6. On 2/10/2021 at 2:15 PM, ناقل said:

    أخي امير 

    نصيحة مني لك من اخوك الصغير """

    دائما في المنتدى 1- تقيد بقوانين المنتدى

    2- اسأل بوضوح

    3- ارفق مثال

    4- تجد الاجابة ( الاستجابة ) من الاعضاء والخبراء 

                                                                  درس تعلمته من مواضيعي السابقة

                                                                            اخوك الصغير / ناقل

    هل هي مشكلة ام من المستحيل عملها

  7. If isnoll(Me.Text.Text = 0 Or Me.Text.Text = 0 Or Me.Text.Text = 0 Or Me.Text.Text = 0) Then
    Me.Command1.Enabled = False
    Else
    Me.Command1.Enabled = True
    End If
    
    في حدث عند التحميل
    If isnoll(Me.Text.Text = 0 Or Me.Text.Text = 0 Or Me.Text.Text = 0 Or Me.Text.Text = 0) Then
    Me.Command1.Enabled = False
    Else
    Me.Command1.Enabled = True
    End If
    
    والله اعلم

     

  8. 11 hours ago, kanory said:

    فكرة الكود ...

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

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

     

        GetUUID = Nz(Trim(objItem.UUID), 0)

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

  9. 11 hours ago, sandanet said:

    نعم تضعه في وحدة نمطية وتستدعي الدالة في نموذج تسجيل الدخول

    ولاتحتاج الى انشاء جدول جديد بل تستخدم نفس الجدول الذي فيه بيانات اسم المستخدم Amr والرقم السري *** عليك ان تضيف حقل اسمه uuid فقط

    اخي الكريم تم بالفعل عمل وحدة نمطيه

    Public Function GetUUID()
    On Error Resume Next
    Dim strComputer As String
    Dim objWMIService, colItems, objItem
    
        strComputer = "." 'default to localhost
        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct", , 48)
        
        For Each objItem In colItems
            GetUUID = Nz(Trim(objItem.UUID), 0)
        Next
    
    
    End Function
     

    وهذه هي اكواد شاشة الدخول

    Option Compare Database
    Dim GR_Language As Byte
    Const GR_Arabic As Byte = 1
    Const GR_English As Byte = 2
    Dim Stest As Byte
    Dim sTimer As Integer
    'Dim db As DAO.Database
    'Dim rs As Recordset
    Private Sub CmdExit_Click()
    On Error Resume Next
    '---------------------------------------------------------------------
    ' هذا الكود لاغلاق النموذج والخروج من البرنامج                         |
    '---------------------------------------------------------------------
    DoCmd.Quit
    End Sub
    Private Sub Form_Load()
    On Error Resume Next
    '---------------------------------------------------------------------
    ' هذا الكود لعدم تفعيل زر الدخول الى البرنامج قبل التاكد من التصريخات|
    '---------------------------------------------------------------------
    Me.Log_In.Enabled = False
    Me.TextYaer.Caption = Format(Date, "yyyy")
    Me.Labenname.Caption = DLookup("[The_Company's_name]", "Table_02_Copmany_Enter_Pimr")
    Me.Labelconectt.Caption = CurDir$
    End Sub
    Private Sub Form_Open(Cancel As Integer)
    On Error Resume Next
    Me.TimerInterval = 1000
    sTimer = 45
    
    '---------------------------------------------------------------------
    ' هذا الكود لافراغ كافة التكستات بوكس بالنموذج عند فتح النموذج        |
    '---------------------------------------------------------------------
    Me.Us.Text = ""
    Me.Pass.Text = ""
    Me.LinkPhoto.Text = ""
    
    
    End Sub
    Private Sub Log_in_Click()
    On Error Resume Next
    myAmirNamw = Me.AmirNamw()
    'اسفل
    mynameuser = Me.NameUser()
    'اسم لينك الصورة
    mylinkSalma = Me.LinkPhoto()
    mycode = Me.Coder
    DoCmd.GoToRecord , , acNewRec
    
        Dim db As DAO.Database
        Dim Rs As DAO.Recordset
    
        Set db = CurrentDb
        Set Rs = db.OpenRecordset("Table_02_EmpMoveUsersdr")
        Rs.AddNew
        Rs!Code_Emp = Me.Coder
        Rs!Nam_Emp = Me.NameUser
        Rs!UserName = Me.AmirNamw
        Rs!Passowred = Me.Passore
        Rs!Data_in = Me.DatIn
        Rs!Tim_in = Me.Time_In
        Rs!Tim_Out = Me.TimOut
        Rs!IP_Compuoter = Me.IpComp
        Rs!Nam_Compuoter = Me.Name_Comp
        Rs!PicPath1 = Me.LinkPhoto
        Rs.Update
        Rs.Close
        db.Close
        Set Rs = Nothing
        Set db = Nothing
        Forms!Form_02_User_Login.Form.Requery
        DoCmd.Close
        DoCmd.OpenForm "Form_03_MainScareen"
    End Sub
    Private Sub Pass_AfterUpdate()
    On Error Resume Next
    '---------------------------------------------------------------------
    ' هذا الكود للتحقق من كلمة مرور الدخول للبرنامج                      |
    '---------------------------------------------------------------------
    If Pass = Passore Then
    Me.Log_In.Enabled = True
    Else
    MsgBox "عفوا كلمة المرور المدخله غير صحيحه      ,Sorry, The Password You Entered Is Incorrect", vbCritical, "Information Systems Security and Protection Officer"
    Me.Us.Text = ""
    Me.Pass.Text = ""
    Me.Log_In.Enabled = False
    End If
    End Sub
    Private Sub Us_AfterUpdate()
    On Error Resume Next
    '---------------------------------------------------------------------
    ' هذا الكود خاص بجلب بيانات مستخدم من جدول الموظفين في قاغدة البيانات|
    '---------------------------------------------------------------------
    [NameUser] = DLookup("[Nam_Emp]", "Table_01_EnterDataUsers", "UserName=[Us]")
    [Coder] = DLookup("[Code_Emp]", "Table_01_EnterDataUsers", "UserName=[Us]")
    [AmirNamw] = DLookup("[UserName]", "Table_01_EnterDataUsers", "UserName=[Us]")
    [Passore] = DLookup("[Passowred]", "Table_01_EnterDataUsers", "UserName=[Us]")
    [LinkPhoto] = DLookup("[PicFile]", "Table_01_EnterDataUsers", " UserName=[Us]")
    If IsNull(DLookup("[UserName]", "Table_01_EnterDataUsers", "[UserName]='" & [Us] & "'")) Then
    MsgBox " اسم المستخدم المدخل هذا غير صحيح وغير مسجل بسجلات المستخدمين     This Username Entered Is Incorrect And Not Registered In User Records", vbCritical, "Information Systems Security and Protection Officer"
    Me.Us.Text = ""
    Cancel = -1
     Else
     End If
    End Sub
    Private Sub Form_Current()
    On Error Resume Next
    '---------------------------------------------------------------------
    ' هذا الكود لجلب اسم الكمبيوتر الذي تم الدخول عليه البرنامج          |
    '---------------------------------------------------------------------
    Me.Name_Comp = fOSMachineName
    '---------------------------------------------------------------------
    'هذا الكود لجلب اي بي الكمبيوتر الذي تم الدخول عليه البرنامج         |
    '---------------------------------------------------------------------
    Dim myWMI As Object, myobj As Object, itm
    Set myWMI = GetObject("winmgmts:\\.\root\cimv2")
    Set myobj = myWMI.ExecQuery("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")
    For Each itm In myobj
    Me.IpComp = itm.IPAddress(0)
    Next
    End Sub
    Private Sub Form_Timer()
    On Error Resume Next
    sTimer = sTimer - 1
    Me.Text10.Value = sTimer
    If sTimer = 0 Then
    TimerInterval = 0
    MsgBox " انتهى الزمن المخصص للدخول Entry Time Expired...", vbQuestion, "Monitor users"
    DoCmd.Quit
    End If
    Me.LabeNAM.Caption = Name_Comp
    
    
    End Sub
    
    
    
    
    

     اين اضع هذا الكود داخل شاشة الدخول

    وتم انشاء حقل جديد في جدول المستخدمين اسمه uuid

  10. 19 hours ago, sandanet said:

    اخي الكريم بامكانك عمل مصادقة عن طريق اسم المستخدم والرقم السري المشار اليه أعلاه Amr - ****  بالاضافة الى عنوان الـ uuid الخاص بجهاز المستخدم الذي يحاول الدخول .. بمعنى اخر عندما يقوم احد المستخدمين بتسجيل الدخول باسم Amr والرقم السري **** يقوم نموذج تسجيل الدخول بقراءة رقم الـ uuid لجهاز المستخدم هذا ومن ثم يخزن هذا الرقم في الجدول الذي فيه بيانات الدخول username   password  uuid 

    وعندما يقوم مستخدم اخر بادخال نفس الاسم والرقم من جهاز اخر يقوم نموذج الدخول بالتحقق من وجود رقم ال uuid اذا ما كان موجود بالجدول ام لا .. فلو وجد ان الرقم مسجل في الجدول عندها يخبر المستخدم بان هذا الاسم مفتوح على جهاز اخر واذا لم يجد رقم مخزن في حقل ال uuid يقوم النموذج بتخزين رقم ال uuid للمستخدم الجديد 

     

    طبعا لابد من وضع كود يحذف رقم ال uuid من الجدول عندما يقوم المستخدم الاول بتسجيل خروجه لكي يسمح لمستخدم اخر بالدخول 

     

    ملاحظة: رقم الـ uuid هو رقم فريد لكل جهاز كومبيوتر لايتكرر ولا يتغير حتى لو تمت فرمته الجهاز وهنالك كود يعمل على قراءة هذا الرقم 

    
    Public Function GetUUID()
    On Error Resume Next
    Dim strComputer As String
    Dim objWMIService, colItems, objItem
    
        strComputer = "." 'default to localhost
        Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
        Set colItems = objWMIService.ExecQuery("Select * from Win32_ComputerSystemProduct", , 48)
        
        For Each objItem In colItems
            GetUUID = Nz(Trim(objItem.UUID), 0)
        Next
    
    
    End Function

     

    اتمنى ان تكون الفكرة واضحة

     

    تحياتي

    بارك الله فيك sandanet

    ولكن هل الكود هذا يتم وضعه في وحده نمطيه ام وين

    هل نشاء جدول جديد

    بارك الله بك هل من طريقه قريبه لهذا الشيء

    20 hours ago, kanory said:

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

    جرب الخروج من النموذج عن طريق الضغط على Exit ثم اعد تشغيل النموذج الرئسي مرة اخرى ولاحظ

     

    Test_kan.accdb 708 kB · 5 downloads

    بارك الله بك اخي الكريم ولكن ممكن شرح الكود

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

    اريد كود يمنع دخول المستخدمين باسم واحد على الشبكة بمعنى 

    user: Amr

    Pass:****

    تم دخول امير على جهاز رقم واحد

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

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

    شكرا لكم

×
×
  • اضف...

Important Information