AccessTr.neT

Tam Versiyon: Değer Tanımlama Hk.
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Herkese merhaba,

Ekli uygulamada "liste_alt2" formunda bulunan "Time Completed" alanında tarih ve saat tek alandadır. Bu alandan saat dilimine göre aynı formda yeni bir metin kutusuna değer atamasını yapamadım. Örneğin saat kısmı 0032 ise yeni bir metin kutusuna "24-08" (24:00 ile 08:00 arasında olduğundan) gibi bir değer tanımlamak yapılabilir mi? Bunu günün 3 vardiyası şeklinde (08-16/16-24/24-08) yapılabilir ise yardımlarınızı rica ederim.
Çalışmanızı maalesef inceleme imkanim olmadi ama aşağıdaki kod işinize yarayabilir
Function sonuc(Trh As Date) As String
X = CStr(Trh)
BasX = InStr(X, " ") + 1
y = TimeValue(CStr(Mid(X, BasX)))
If y >= TimeValue("16:00:00") Then sonuc = "16/00 var...." Else sonuc = "8/16 vardiyasi"
If y <= TimeValue("08:00:00") Then sonuc = "00:00/08:00 vardiyasi"
If err.number<>0 then  sonuc ="vardiya girilmemis"
End Function
fonksiyon, tarih ve saat arsında sadece boşluk olduğu varsayımına dayanarak tarih ve saat diye 2ye ayırıp işlem yapmaktadır
Halil bey evet tarih ve saat aynı sutunda aralarında boşluk var denedim ama yapamadım formun geçerli olduğu alana yazdım acaba yanlışmı uyguladım?
aşağıdaki fonksiyonu bir modül oluşturup oraya ekleyeceksiniz
Function sonuc(Trh As String) As String
On Error Resume Next
X = CStr(Trh)
ZamanX = Right(X, 4)

y = TimeValue(CStr(Left(ZamanX, 2) & ":" & Right(ZamanX, 2) & ":00"))
If y >= TimeValue("16:00:00") Then sonuc = "16-24" Else sonuc = "8-16"
If y <= TimeValue("08:00:00") Then sonuc = "24-8"
If Err.Number <> 0 Then sonuc = "vardiya girilmemis"
End Function
sonrada fonksiyonu ihtiyaç duyduğunuz yerden çağıracaksınız ister form ister sorgu
ben forma eklediğim metin kutusundan çağırdım ama siz isterseniz formda kullandığın kayıt kaynağına da ekleyebilirsiniz
iyi çalışmalar
Halil bey şimdi anladım elinize sağlık deteğiniz için çok teşekkürler iyi çalışmalar +rep +rep