Arsip: Select Outer Join Dengan Bulan Skarang

 
user image
more 13 years ago

delphi1st

Dear All, Saya sedang membuat aplikasi absensi, setiap pegawai yang masuk kantor login dengan nipnya masing2 setiap hari, ketika login dia sudah dianggap hadir, jika pegawai tidak masuk otomatis datanya tidak masuk di database, yang ingin saya tanyakan bagaimana caranya mengetahui seorang tidak datang pada tanggal berapa pada bulan ini,atau bulan sebelumnya tergantung dari bulan yang dipilih di datepicker Saya ingin select outer join dari tabel kehadiran dengan bulan yang dipilih dari timepicker untuk mencari pegawai tidak hadir pada tanggal pada bulan tersebut, caranya gimana yah karna tabel tanggal perbulan tidak ada di database.. ThnX All
user image
more 13 years ago

belajaraja

caranya gimana yah karna tabel tanggal perbulan tidak ada di database..
Pada saat pegawai login apa tidak ada tanggal loginnya ? atau yang teman maksud adalah bahwa dalam tabel pegawai itu tidak ada tanggal nya, tapi menauruh tanggal pada saat loginnya di tabel yang lain ? Salam
user image
more 13 years ago

MrMixer

Caranya gampang aja.. Misalkan kamu cuma memiliki 2 tabel dalam database aplikasi ABSENSI, yaitu : 1. Table Data Pegawai, yang berisi field Kode NIP, NAMA dan lain sebagainya (Anggap nama tabelnya NIP) 2. Table Data Absensi, yang berisi field Kode NIP dan TANGGAL Login. (Anggap nama tabelnya ABSEN) Terus.. sekarang kamu tinggal bikin table view atau kalau kamu pake databasenya MS ACCESS disebut Tabel QUERY. Adapun SQL commandnya : SELECT TANGGAL FROM ABSEN GROUP BY TANGGAL Nah, anggap saja Tabel Query tadi kita namakan aja KALENDAR Selanjutnya sekarang kita tinggal bikin lagi satu table View atau tabel QUERY dengan SQL commandnya : SELECT A.TANGGAL AS TGL,A.NIP AS NIP,B.NAMA AS NAMA, 'Hadir' AS STATUS FROM ABSEN AS A, NIP AS B WHERE A.NIP = B.NIP UNION SELECT B.TANGGAL AS TGL,A.NIP AS NIP, A.NAMA AS NAMA, 'Absen' AS STATUS FROM NIP AS A, KALENDAR AS B WHERE A.NIP NOT IN (SELECT NIP FROM ABSEN WHERE TANGGAL = B.TANGGAL); Tadaa.. Jadi deh Tabel Query seperti yang kamu mau, dan yuk kawan, kita namakan saja dengan "DAFTAR" . Selanjutnya didalam program delphi anda tinggal menggunakannya tabel query DAFTAR ini, dengan SQL command SELECT FROM DAFTAR WHERE TGL = :Tgl atau kalau mau cari siapa-siapa yang sering madol bisa juga anda gunakan SQL command SELECT FROM DAFTAR WHERE STATUS = 'Absen' AND TGL BETWEEN :Tgl_Awal AND :Tgl_Akhr OKEH.. !!?? Jadi anda enggak perlu repot-repot kan bikin tabel TANGGAL PER BULAN segala..Yoi Jack, Silahkan mencobanya..
user image
more 13 years ago

delphi1st

@belajaraja:
caranya gimana yah karna tabel tanggal perbulan tidak ada di database..
Pada saat pegawai login apa tidak ada tanggal loginnya ? atau yang teman maksud adalah bahwa dalam tabel pegawai itu tidak ada tanggal nya, tapi menauruh tanggal pada saat loginnya di tabel yang lain ? Salam
Tanggal Login diambildari jam komputer mas, benar saya pakai 2 tabel, tabel pegawai dan tabel abensi UNTUK MR.MIXER thnx atas jawabannya, sy juga pengen menampilkan seluruh tanggal dalam bulan tersebut termasuk hari minggu dan hari libur dan status absen karywan hadir ato tidak,, tapi gimana mas caranya untuk menampilkan hari Minggu dan hari libur di hasil querynya,karna pada hari tsb tidak ada karyawan yang masuk jadi tidak ada inputan ke database pada tanggal tsb
user image
more 13 years ago

_lmz

@delphi1st: [quote:0bc6323f74="belajaraja"]
caranya gimana yah karna tabel tanggal perbulan tidak ada di database..
Pada saat pegawai login apa tidak ada tanggal loginnya ? atau yang teman maksud adalah bahwa dalam tabel pegawai itu tidak ada tanggal nya, tapi menauruh tanggal pada saat loginnya di tabel yang lain ? Salam[/quote:0bc6323f74] Tanggal Login diambildari jam komputer mas, benar saya pakai 2 tabel, tabel pegawai dan tabel abensi UNTUK MR.MIXER thnx atas jawabannya, sy juga pengen menampilkan seluruh tanggal dalam bulan tersebut termasuk hari minggu dan hari libur dan status absen karywan hadir ato tidak,, tapi gimana mas caranya untuk menampilkan hari Minggu dan hari libur di hasil querynya,karna pada hari tsb tidak ada karyawan yang masuk jadi tidak ada inputan ke database pada tanggal tsb
Buat tabel isinya integer dari 1-31 (misal nama tabel T31, nama kolom I), gunakan untuk join kurang lebih seperti ini (yang hadir, silakan ganti sendiri nama functionnya dengan yang sesuai): SELECT A.TANGGAL AS TGL,A.NIP AS NIP,B.NAMA AS NAMA, 'Hadir' AS STATUS, T31.I AS TANGGAL FROM (ABSEN AS A INNER JOIN NIP AS B ON (A.NIP = B.NIP)) RIGHT OUTER JOIN T31 ON (TANGGALNYA(A.TANGGAL) = T31.I) WHERE (A.TANGGAL BETWEEN ? AND ?) dimana A.TANGGAL adalah BETWEEN (tanggal pertama bulan itu) dan (tanggal terakhir bulan itu), silakan dimasukkan sebagai parameter... Untuk diketahui solusi di atas tidak akan berjalan dengan baik apabila rangenya berisi tanggal yang duplikat... (misal 1 jan s/d 1 feb, tanggal 1 nya ada 2 tapi cuma akan tampil 1)
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com