Bpk, ada satu kolom yg kurang di sheet datadasar, yakni kolom status, apakah 
statusnya in atau out. Semua mesin absen, dari tipe yg lama s.d yg baru umumnya 
selalu ada / menyertakan tombol in out, bila tidak ada, akan sulit diketahui 
apakah jam pulang atau jam masuk. Bahkan mesin absen manual seperti Amano pun 
ada tombol in out nya. Selain itu, harus ada data Master Shift Karyawan, dan 
Bpk sdh membuatnya di sheet "schedule". Fungsi master shift, supaya orang yg 
masuk jam 9 malam, pulangnya kan di tanggal berikutnya (yakni jam 7 pagi), 
kalau langsung dibuat query akan sulit karena sudah berbeda tanggal, karena itu 
harus dibandingkan dengan master shift karyawan tersebut, bila hari ini dia 
shift 3, maka kalau dia melakukan absen jam 9 malam, maka program harus cek jam 
keluarnya pada tanggal berikutnya. Jadi Bpk coba cek di mesin absen, apakah ada 
fasilitas/tombol In Out, kalau ada, harap diaktifkan.

Namun bila memang tidak ada fasilitas tsb, terpaksa Bpk harus buat query 
tambahan utk mengetahui statusnya, supaya diketahui jam masuk atau jam keluar 
dari suatu record, gunakan VBA dengan fungsi if, misal:

'Code sebelumnya...............
Dim Status As String
If Shift = 1 Then
    If Jam >= #6:30:00 PM# And Jam <= #7:30:00 PM# Then
        Status = "In"
    ElseIf Jam >= #1:30:00 PM# And Jam <= #2:30:00 PM# Then
        Status = "Out"
    End If
ElseIf Shift = 2 Then
    If Jam >= #1:30:00 PM# And Jam <= #2:30:00 PM# Then
        Status = "In"
    ElseIf Jam >= #8:30:00 PM# And Jam <= #9:30:00 PM# Then
        Status = "Out"
    End If
ElseIf Shift = 3 Then
    If Jam >= #8:30:00 PM# And Jam <= #9:30:00 PM# Then
        Status = "In"
    ElseIf Jam >= #6:30:00 PM# And Jam <= #7:30:00 PM# Then
        Status = "Out"
    End If
End If
'Dst...............

Namun bila Bpk tidak ingin membuat function status In Out seperti diatas, maka 
Bpk langsung buat saja function untuk Jam Masuk dan function untuk Jam Keluar, 
misal:

Function JamMsk(Jam As Date) As Date
    If Shift = 1 Then
        If Jam >= #6:30:00 PM# And Jam <= #7:30:00 PM# Then JamMsk = Jam
    ElseIf Shift = 2 Then
        If Jam >= #1:30:00 PM# And Jam <= #2:30:00 PM# Then JamMsk = Jam
    ElseIf Shift = 3 Then
        If Jam >= #8:30:00 PM# And Jam <= #9:30:00 PM# Then JamMsk = Jam
    End If
End Function

Function JamKrl(Jam As Date) As Date
    If Shift = 1 Then
        If Jam >= #1:30:00 PM# And Jam <= #2:30:00 PM# Then JamKrl = Jam
    ElseIf Shift = 2 Then
        If Jam >= #8:30:00 PM# And Jam <= #9:30:00 PM# Then JamKrl = Jam
    ElseIf Shift = 3 Then
        If Jam >= #6:30:00 PM# And Jam <= #7:30:00 PM# Then JamKrl = Jam
    End If
End Function

Tempel fungsi diatas di query. Range jam sengaja saya lebih kurangkan sebanyak 
30 menit mengingat karyawan bisa saja datang lebih awal dan datang terlambat. 
Setelah ada querynya, bisa dibuat make table dan query lainnya.

Thank's

  ----- Original Message ----- 
  From: GALIH PERSADHA 
  To: [email protected] 
  Sent: Tuesday, 23 February 2010 4:18 PM
  Subject: [belajar-access] mohon solusinya [1 Attachment]


    
  [Attachment(s) from GALIH PERSADHA included below]
   

  saya ingin ada data dari ms access saya export ke exel

  data dasar ada di sheet data dasar
  dengan menggunakan kriteria dari data schedule saya ingin membuat output 
seperti pada sheet hasil yang diinginkan

  mohon bantuannya



------------------------------------------------------------------------------
  Lebih aman saat online. 
  Upgrade ke Internet Explorer 8 baru dan lebih cepat yang dioptimalkan untuk 
Yahoo! agar Anda merasa lebih aman. Gratis. Dapatkan IE8 di sini!

  

Kirim email ke