Dalam Tulisan
Ini Saya Ingin Berbagi Pengalaman Saya Saat Membuat Sistem Informasi, Kasus nya
sebenarnya Sederhana yaitu membuat kode otomatis dan banyak artikel yang
membahas tentang kasus ini.
Kode otomatis sangat membantu user dalam mengerjakan tugasnya, user
tidak perlu repot lagi menginput kode karna sistem sendiri lah yang otomatis
mengerjakannya berdasarkan tabel database. Cara kerjanya yaitu sistem mencari
kode dalam tabel jika kode belum ada maka kode mulai dari 1 dan jika ada maka
cari kode terbesar kemudian tambah 1, lebih jelasnya dapat di lihat pada script di bawah ini
public void no_otomatis(){
try {
conn=konek.getKoneksiDatabase();
st
= conn.createStatement();
rs=
st.executeQuery("select
max(right(kd_barang,3))as kd_barang from tbl_barang");
while (rs.next())
{
if(rs.first()==false){
jTextField2.setText("A."+"001");
}else{
rs.last();
int autoid=rs.getInt(1)+1;
String
nomor=String.valueOf(autoid);
int noLong=nomor.length();
for(int a=0;a<3-noLong;a++){
nomor= "0"+nomor;
}
jTextField2.setText("A."+nomor);
}
}
} catch
(Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Namun Bagaimana Jika Setiap hari
user menginput lebih dari 10 atau bahkan sampai 100 transaksi setiap hari kita
kali 1 bulan (100x30=3000) kita kali lagi 1 tahun ??, tapi jika tidak contoh
diatas sudah dapat membantu kita bukan??...
Namun Bagaiman Jika YAA.. Solusi
yaitu kita tentukan kode berdasarkan bulan dan tahun yang ada dalam tabel jika bulan berganti maka kode kembali dari 001
jika tidak maka tambah 1. Lebih jelasnya lihat gambar di bawah ini soalnya
susah bagi saya menjelaskannya lebih rinci hehe..
**
public void nomorotomatis(){
try {
Date now = new Date();
SimpleDateFormat date,bulan;
date= new SimpleDateFormat("yyyyMM");
String tgl = date.format(now);
bulan= new SimpleDateFormat("yyyy-MM");
String bln =bulan.format(now);
String c=bln+"-%";
conn=konek.getKoneksiDatabase();
st = conn.createStatement();
rs=
st.executeQuery("SELECT max( right( kd_pakai, 3 ) ) AS kode
"
+ "FROM tbl_pakai WHERE
tgl_pakai LIKE '"+c+"'");
while (rs.next())
{
if(rs.first()==false){
jTextField1.setText("KP/"+tgl+"/"+"001");
}else{
rs.last();
int autoid=rs.getInt(1)+1;
String
nomor=String.valueOf(autoid);
int noLong=nomor.length();
for(int a=0;a<3-noLong;a++){
nomor= "0"+nomor;
}
jTextField1.setText("KP/"+tgl+"/"+nomor);
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
Tidak ada komentar:
Posting Komentar