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

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

قام بنشر
2 ساعات مضت, ازهر عبد العزيز said:

السلام عليكم لدي حقل وقت وتاريخ احتاج كود لتغير الوقت من am الى pm دون ان يتغير التاريخ والوقت  

Capture.PNG

Sub ChangeTimeToPM()
    Dim originalTime As Date
    Dim newTime As Date
    
    ' Example time in AM
    originalTime = "10:30:00 AM"
    
    ' Add 12 hours to change AM to PM
    newTime = DateAdd("h", 12, originalTime)
    
    ' Display the new time in the Immediate Window (Ctrl + G to view)
    Debug.Print "Original Time: " & originalTime
    Debug.Print "New Time (PM): " & newTime
End Sub

جرب ووافيني بالنتيجة 

قام بنشر
منذ ساعه, ازهر عبد العزيز said:

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

time.accdb 568 kB · 0 downloads

تفضل اخي

الكود شغال تمام

888.png.d7ec0fc9786e704ab0faa68c6b0e7fac.png

 

المديول

Sub ChangeAMtoPM()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSQL As String
    Dim newTime As Date

    ' Set the database and recordset
    Set db = CurrentDb
    strSQL = "SELECT TIMEER FROM TIMERR WHERE TIMEER IS NOT NULL"
    Set rs = db.OpenRecordset(strSQL, dbOpenDynaset)

    ' Loop through the records
    Do While Not rs.EOF
        ' Check if the time is in the AM
        If Format(rs!timeer, "hh:mm:ss AM/PM") Like "*AM*" Then
            ' Add 12 hours to change AM to PM
            newTime = DateAdd("h", 12, rs!timeer)
            
            ' Update the record
            rs.Edit
            rs!timeer = newTime
            rs.Update
        End If
        
        ' Move to the next record
        rs.MoveNext
    Loop

    ' Close the recordset and database
    rs.Close
    Set rs = Nothing
    Set db = Nothing

    MsgBox "AM times have been changed to PM."
End Sub
 

 

time.accdb

بعد ما تكبس على زر تغيير الوقت

اغلق النموذج ثم افتحه

لانه التغيير يتم في الجدول وليس في النموذج

  • Like 1
  • تمت الإجابة
قام بنشر

ومشاركة مع الأستاذ @عبد اللطيف سلوم ، هذه فكرتي ، الدالة التالية

 

Function ToggleAMPM(timeValue As Date) As Date
    If Format(timeValue, "AM/PM") = "AM" Then
        ToggleAMPM = DateAdd("h", 12, timeValue)
    Else
        ToggleAMPM = DateAdd("h", -12, timeValue)
    End If
End Function

 

time.accdb

  • Like 1
  • Thanks 1
قام بنشر (معدل)
1 ساعه مضت, ابو عارف said:

مشاركة مع اساتذة الكرام

=Format(IIf([timeer] Like "*AM",DateAdd("h",12,[timeer]),[timeer]),"dd/mm/yyyy h:nn AM/PM")

 

👏🏻  اختصار جميل وبسيط يحقق الهدف  إذا كانت رغبة أخي @ازهر عبد العزيز هي التحويل من AM الى PM فقط ، ولا يرغب بتطبيق التغيير من PM الى AM على سبيل المثال!!

واتنازل عن اختيار الإجابة الأفضل مرشحاً إجابته 🤗 .

تم تعديل بواسطه Foksh
  • Like 1
قام بنشر (معدل)

=============================================( صور + مرفق + فيديو )

Edit: :biggrin2:🌹

بعد اذن الاستاذ @عبد اللطيف سلوم 🌹❤️

عدلة على مرفقك :eek2:😇

 

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

ان تفصل كل من التاريخ والوقت والتوقيت

لعمل ضبط المواعيد او العمل فتره الدائم

 

ملاحظة عند تغير التوقيت احتمال يزيد يوم او ينقص بيوم مثال بسيط 

عند الساعة و 1:00:00 AM (1/2/2026)

عند التغير التوقيت من ( AM To PM )

عند الساعة و 1:00:00 PM (2/2/2026) 

يعتبر احتساب الى اليوم التالي

والعكس ينقص ويصبح من التاريخ  (2/2/2026)  الى (1/2/2026) 

! ان كان التاريخ ثابت يتغير التوقيت 

اما  تغير المواعيد دائم في المساء يمكنك التعديل منذ بداية 

 وان صادف ايام الاجازة  والعطل الرسمية يضيف 2 يوم او 3 ايام ليصادف العمل الرسمي وذا كنت تحب العمل بتعديل التلقائي بعد تعديل التوقيت 

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

وعند حجز المواعيد ! :biggrin: 

 

1-لكافة السجلات في الجدول

كود :

Dim strsq2                    As String
Dim Time_A_P                  As String
Dim newTime                   As Date

On Error GoTo ops

'==========================( Frist Cahck
If IsNull(Me.timeer_X) Or Me.timeer_X = "" Then
MsgBox " No Teme is Selected Teme ,ISNull Time, U Into Time Agen Back Click Button ", vbExclamation, "Close Don "
Exit Sub
End If

If DCount("[timeer]", "[timerr]") = 0 Then
MsgBox "Close Don ,U Not Any Add New Record For Run Don , U Add New Time Agen Back Click Button ", vbCritical, "Close Don "
Exit Sub
End If


If Me.PM = -1 Then
Time_A_P = "PM"
End If

If Me.AM = -1 Then
Time_A_P = "AM"
End If

strsq2 = "Update timerr Set PM_AM = '" & Time_A_P & "'"
CurrentDb.Execute strsq2
DoEvents

Me.Refresh

   '-----------------------------------------------------------------------( For Error Code Only Copy And No Can use Function = Here Error :) X
exit_Ops:
 Exit Sub
 
ops:
Dim Error_Finction                    As String

Error_Finction = Err.Number & ":" & Err.Description _
 & ":" & Me.ActiveControl.Name & ":" & Me.Form.Name
 
MsgBox Error_Finction

DoEvents
    Resume exit_Ops
    
 Exit Sub

2- لتغير سجل اما في اليوم او الوقت او التوقيت 

3- اضافة توقيت جديد

4- اضافة فحص وتعديل بسيط 

تحميل في المرفق 

 

Change_Dy_Time_All_Table.rar

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

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