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

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

قام بنشر

السلام عليكم
كيفية دمج كودين في حدث واحد على سبيل المثال
عندي كود للساعة وعداد الوقت 1000 واريد ان اضيف كود اخر في نفس الحدث وعدادا الوقت 5000 لاني حاولت ان ادمج بالكود نفسه لكن حصل مشكلة في العمل
سالت : قالو ممكن تفتح محرر الاكود مرتين لنفس النموذج - لكن لم اجد الطريقه في اوفيس 2007 هل عنده الفكره 
جزاكم الله خيرا

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

حلو ه الفكره 
ولكن كيف فتح عدد 2 محرر اكود لنفس الحدث

لاني اريد كود الوقت لبعض الدول مثل
ابوظبي

مكة

قرينتش

موسكو
في حقل واحد وتتغير كل 5 ثواني بين كل دوله في التوقيت

 

تم تعديل بواسطه sm44ms
قام بنشر (معدل)
اقتباس

حلو ه الفكره 
ولكن كيف فتح عدد 2 محرر اكود لنفس الحدث

لاني اريد كود الوقت لبعض الدول مثل
ابوظبي

مكة

قرينتش

موسكو
في حقل واحد وتتغير كل 5 ثواني بين كل دوله في التوقيت

Option Compare Database
Option Explicit

Private x As Integer
Private currentTimeZone As Integer

Private Sub Form_Timer()
    ' زيادة العداد
    x = x + 1
    
    ' تحديث الوقت الحالي في Text1
    Me.Text1 = Time
    
    ' تغيير المنطقة الزمنية كل 5 ثواني
    If x = 5 Then
        x = 0
        currentTimeZone = currentTimeZone + 1
        If currentTimeZone > 3 Then currentTimeZone = 0
        
        ' الحصول على الوقت حسب المنطقة الزمنية الحالية
        Select Case currentTimeZone
            Case 0  ' أبوظبي (UTC+4)
                Me.Text2 = Format(DateAdd("h", 4, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " أبوظبي"
            Case 1  ' مكة المكرمة (UTC+3)
                Me.Text2 = Format(DateAdd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " مكة المكرمة"
            Case 2  ' توقيت غرينتش (UTC+0)
                Me.Text2 = Format(TimeSerial(Hour(Time), Minute(Time), Second(Time)), "hh:nn:ss") & " غرينتش"
            Case 3  ' موسكو (UTC+3)
                Me.Text2 = Format(DateAdd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " موسكو"
        End Select
    End If
End Sub

تأكد من وجود مؤقت (Timer) في النموذج

اضبط فترة المؤقت على 1000 (ثانية واحدة)

أضف مربعي نص Text1 و Text2

سيعرض Text1 الوقت المحلي

سيعرض Text2 الأوقات المتغيرة للمدن المختلفة

---------------------------------------------------------

x: عداد للثواني

currentTimeZone: متغير لتتبع المنطقة الزمنية الحالية

2 Events - edit.accdb

تم تعديل بواسطه MOHAMMAD IBRAHIM
اضافة مرفق
قام بنشر

ياصديقي - حصلت معي مشكلة هنا - 

        لاني استخدم كود ثاني مع هذا وارفق لك الكود لتعدلهOption Compare Database
Option Compare Database Option Explicit Private x As Integer Private currentTimeZone As Integer Private Sub Form_Timer() ' زيادة العداد x = x + 1 ' تحديث الوقت الحالي في Text1 Me.Text1 = Time ' تغيير المنطقة الزمنية كل 5 ثواني If x = 5 Then x = 0 currentTimeZone = currentTimeZone + 1 If currentTimeZone > 3 Then currentTimeZone = 0 ' الحصول على الوقت حسب المنطقة الزمنية الحالية Select Case currentTimeZone Case 0 ' أبوظبي (UTC+4) Me.Text2 = Format(dateadd("h", 4, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " أبوظبي" Case 1 ' مكة المكرمة (UTC+3) Me.Text2 = Format(dateadd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " مكة المكرمة" Case 2 ' توقيت غرينتش (UTC+0) Me.Text2 = Format(TimeSerial(Hour(Time), Minute(Time), Second(Time)), "hh:nn:ss") & " غرينتش" Case 3 ' موسكو (UTC+3) Me.Text2 = Format(dateadd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " موسكو" End Select End If On Error Resume Next If [TT] = "بدل فاقد" Then If [TT].ForeColor = vbYellow Then [TT].ForeColor = vbBlack [TT].BackColor = vbBlack Else [TT].ForeColor = vbYellow [TT].BackColor = vbBlack End If Else [TT].ForeColor = vbBlack [TT].BackColor = vbWhite End If If [ss] = "متقاعد" Then If [ss].ForeColor = vbWhite Then [ss].ForeColor = vbBlue [ss].BackColor = vbRed Else [ss].ForeColor = vbWhite [ss].BackColor = vbBlue End If Else [ss].ForeColor = vbBlack [ss].BackColor = vbYellow End If If [BD] = "استقالة" Then If [BD].ForeColor = vbWhite Then [BD].ForeColor = vbRed [ss].BackColor = vbRed Else [BD].ForeColor = vbWhite [BD].BackColor = vbRed End If Else [BD].ForeColor = vbBlack [BD].BackColor = vbYellow End If End Sub 
Option Compare Database
Option Explicit

Private x As Integer
Private currentTimeZone As Integer
Private Sub Form_Timer()
    ' زيادة العداد
    x = x + 1
    
    ' تحديث الوقت الحالي في Text1
    Me.Text1 = Time
    
    ' تغيير المنطقة الزمنية كل 5 ثواني
    If x = 5 Then
        x = 0
        currentTimeZone = currentTimeZone + 1
        If currentTimeZone > 3 Then currentTimeZone = 0
        
        ' الحصول على الوقت حسب المنطقة الزمنية الحالية
        Select Case currentTimeZone
            Case 0  ' أبوظبي (UTC+4)
                Me.Text2 = Format(dateadd("h", 4, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " أبوظبي"
            Case 1  ' مكة المكرمة (UTC+3)
                Me.Text2 = Format(dateadd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " مكة المكرمة"
            Case 2  ' توقيت غرينتش (UTC+0)
                Me.Text2 = Format(TimeSerial(Hour(Time), Minute(Time), Second(Time)), "hh:nn:ss") & " غرينتش"
            Case 3  ' موسكو (UTC+3)
                Me.Text2 = Format(dateadd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " موسكو"
        End Select
    End If




On Error Resume Next
   If [TT] = "بدل فاقد" Then
      If [TT].ForeColor = vbYellow Then
         [TT].ForeColor = vbBlack
         [TT].BackColor = vbBlack
      Else
         [TT].ForeColor = vbYellow
         [TT].BackColor = vbBlack
      End If
   Else
         [TT].ForeColor = vbBlack
         [TT].BackColor = vbWhite
   End If
   If [ss] = "متقاعد" Then
      If [ss].ForeColor = vbWhite Then
         [ss].ForeColor = vbBlue
         [ss].BackColor = vbRed
      Else
         [ss].ForeColor = vbWhite
         [ss].BackColor = vbBlue
      End If
   Else
         [ss].ForeColor = vbBlack
         [ss].BackColor = vbYellow
   End If
   If [BD] = "استقالة" Then
      If [BD].ForeColor = vbWhite Then
         [BD].ForeColor = vbRed
         [ss].BackColor = vbRed
      Else
         [BD].ForeColor = vbWhite
         [BD].BackColor = vbRed
      End If
   Else
         [BD].ForeColor = vbBlack
         [BD].BackColor = vbYellow
   End If
End Sub

 

سبب مشكلة هنا ولم يعمل
 

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

هناك خطأ في جزء تنسيق حقل الاستقالة (BD)، حيث يتم تغيير خلفية الحقل الخاطئ:

 

Option Compare Database
Option Explicit

Private x As Integer
Private currentTimeZone As Integer

Private Sub Form_Timer()
    ' زيادة العداد وتحديث الوقت
    x = x + 1
    Me.Text1 = Time
    
    ' تحديث المناطق الزمنية
    UpdateTimeZones
    
    ' تحديث تنسيق الحقول
    UpdateFieldFormats
End Sub

Private Sub UpdateTimeZones()
    ' تغيير المنطقة الزمنية كل 5 ثواني
    If x = 5 Then
        x = 0
        currentTimeZone = currentTimeZone + 1
        If currentTimeZone > 3 Then currentTimeZone = 0
        
        ' الحصول على الوقت حسب المنطقة الزمنية الحالية
        Select Case currentTimeZone
            Case 0  ' أبوظبي (UTC+4)
                Me.Text2 = Format(DateAdd("h", 4, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " أبوظبي"
            Case 1  ' مكة المكرمة (UTC+3)
                Me.Text2 = Format(DateAdd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " مكة المكرمة"
            Case 2  ' توقيت غرينتش (UTC+0)
                Me.Text2 = Format(TimeSerial(Hour(Time), Minute(Time), Second(Time)), "hh:nn:ss") & " غرينتش"
            Case 3  ' موسكو (UTC+3)
                Me.Text2 = Format(DateAdd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss") & " موسكو"
        End Select
    End If
End Sub

Private Sub UpdateFieldFormats()
    On Error Resume Next
    
    ' تنسيق حقل بدل فاقد
    If [TT] = "بدل فاقد" Then
        If [TT].ForeColor = vbYellow Then
            [TT].ForeColor = vbBlack
            [TT].BackColor = vbBlack
        Else
            [TT].ForeColor = vbYellow
            [TT].BackColor = vbBlack
        End If
    Else
        [TT].ForeColor = vbBlack
        [TT].BackColor = vbWhite
    End If
    
    ' تنسيق حقل متقاعد
    If [ss] = "متقاعد" Then
        If [ss].ForeColor = vbWhite Then
            [ss].ForeColor = vbBlue
            [ss].BackColor = vbRed
        Else
            [ss].ForeColor = vbWhite
            [ss].BackColor = vbBlue
        End If
    Else
        [ss].ForeColor = vbBlack
        [ss].BackColor = vbYellow
    End If
    
    ' تنسيق حقل استقالة
    If [BD] = "استقالة" Then
        If [BD].ForeColor = vbWhite Then
            [BD].ForeColor = vbRed
            [BD].BackColor = vbRed  ' تم التصحيح: تغيير خلفية BD بدلاً من ss
        Else
            [BD].ForeColor = vbWhite
            [BD].BackColor = vbRed
        End If
    Else
        [BD].ForeColor = vbBlack
        [BD].BackColor = vbYellow
    End If
End Sub

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

 

تم تعديل بواسطه MOHAMMAD IBRAHIM
قام بنشر

اشتغل ؟ ولكن فيه خطاء في التوقيت العالمي
مثال - انا في ابوظبي
والفرق بينها ومكة ساعه

 نفس الشي في عدن وبعض المدن والفرق كبير

Private Sub Form_Timer()
    ' زيادة العداد
    x = x + 1
    
    ' تحديث الوقت الحالي في Text1
    Me.Text1 = Time
    
    ' تغيير المنطقة الزمنية كل 5 ثواني
    If x = 5 Then
        x = 0
        currentTimeZone = currentTimeZone + 1
        
        ' إعادة تعيين المنطقة الزمنية إذا تجاوزت الحد الأقصى
        If currentTimeZone > 10 Then currentTimeZone = 0
        
        ' الحصول على الوقت حسب المنطقة الزمنية الحالية
        Select Case currentTimeZone
            Case 0  ' أبوظبي (UTC+4)
                Me.Text2 = Format(dateadd("h", 4, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " أبوظبي"
            Case 1  ' مكة المكرمة (UTC+3)
                Me.Text2 = Format(dateadd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " مكة المكرمة"
            Case 2  ' توقيت غرينتش (UTC+0)
                Me.Text2 = Format(TimeSerial(Hour(Time), Minute(Time), Second(Time)), "hh:nn:ss AM/PM") & " غرينتش"
            Case 3  ' موسكو (UTC+3)
                Me.Text2 = Format(dateadd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " موسكو"
            Case 4  ' نيويورك (UTC-5)
                Me.Text2 = Format(dateadd("h", -5, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " نيويورك"
            Case 5  ' طوكيو (UTC+9)
                Me.Text2 = Format(dateadd("h", 9, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " طوكيو"
            Case 6  ' عدن (UTC+3)
                Me.Text2 = Format(dateadd("h", 3, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " عدن"
            Case 7  ' القاهرة (UTC+2)
                Me.Text2 = Format(dateadd("h", 2, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " القاهرة"
            Case 8  ' بكين (UTC+8)
                Me.Text2 = Format(dateadd("h", 8, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " بكين"
            Case 9  ' باريس (UTC+1)
                Me.Text2 = Format(dateadd("h", 1, TimeSerial(Hour(Time), Minute(Time), Second(Time))), "hh:nn:ss AM/PM") & " باريس"
            Case 10  ' لندن (UTC+0)
                Me.Text2 = Format(TimeSerial(Hour(Time), Minute(Time), Second(Time)), "hh:nn:ss AM/PM") & " لندن"
        End Select
    End If
End Sub

 

 

قام بنشر

المشكلة في الكود هي أنه يستخدم التوقيت المحلي كنقطة بداية ثم يضيف عليه الساعات، مما يؤدي إلى حسابات غير صحيحة. يجب أن نستخدم توقيت غرينتش (UTC) كنقطة مرجعية ثم نحسب منه التوقيت لكل مدينة

 

Private Sub Form_Timer()
    ' زيادة العداد
    x = x + 1
    
    ' تحديث الوقت الحالي في Text1
    Me.Text1 = Time
    
    ' تغيير المنطقة الزمنية كل 5 ثواني
    If x = 5 Then
        x = 0
        currentTimeZone = currentTimeZone + 1
        
        ' إعادة تعيين المنطقة الزمنية إذا تجاوزت الحد الأقصى
        If currentTimeZone > 10 Then currentTimeZone = 0
        
        ' الحصول على التوقيت العالمي (UTC) بطرح 3 ساعات من التوقيت المحلي (مكة المكرمة)
        Dim utcTime As Date
        utcTime = DateAdd("h", -3, Time)
        
        ' الحصول على الوقت حسب المنطقة الزمنية الحالية
        Select Case currentTimeZone
            Case 0  ' أبوظبي (UTC+4)
                Me.Text2 = Format(DateAdd("h", 4, utcTime), "hh:nn:ss AM/PM") & " أبوظبي"
            Case 1  ' مكة المكرمة (UTC+3)
                Me.Text2 = Format(DateAdd("h", 3, utcTime), "hh:nn:ss AM/PM") & " مكة المكرمة"
            Case 2  ' توقيت غرينتش (UTC+0)
                Me.Text2 = Format(utcTime, "hh:nn:ss AM/PM") & " غرينتش"
            Case 3  ' موسكو (UTC+3)
                Me.Text2 = Format(DateAdd("h", 3, utcTime), "hh:nn:ss AM/PM") & " موسكو"
            Case 4  ' نيويورك (UTC-5)
                Me.Text2 = Format(DateAdd("h", -5, utcTime), "hh:nn:ss AM/PM") & " نيويورك"
            Case 5  ' طوكيو (UTC+9)
                Me.Text2 = Format(DateAdd("h", 9, utcTime), "hh:nn:ss AM/PM") & " طوكيو"
            Case 6  ' عدن (UTC+3)
                Me.Text2 = Format(DateAdd("h", 3, utcTime), "hh:nn:ss AM/PM") & " عدن"
            Case 7  ' القاهرة (UTC+2)
                Me.Text2 = Format(DateAdd("h", 2, utcTime), "hh:nn:ss AM/PM") & " القاهرة"
            Case 8  ' بكين (UTC+8)
                Me.Text2 = Format(DateAdd("h", 8, utcTime), "hh:nn:ss AM/PM") & " بكين"
            Case 9  ' باريس (UTC+1)
                Me.Text2 = Format(DateAdd("h", 1, utcTime), "hh:nn:ss AM/PM") & " باريس"
            Case 10 ' لندن (UTC+0)
                Me.Text2 = Format(utcTime, "hh:nn:ss AM/PM") & " لندن"
        End Select
    End If
End Sub

 

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