Sabtu, 05 Oktober 2013

Membuat Kode Otomatis Berdasarkan Tanggal

Kode otomatis sangat dibutuhkan untuk program-program yang akan kita buat karena kode ini bisa dijadikan sebagai primary key dalam database yang kita rancang.
untuk membuat kode otomatis sangat banyak caranya, disini saya akan menjelaskan cara membuat kode otomatis berdasarkan tanggal pada pemrogramman delphi, semoga dapat membantu.

- Pertama kita buat dahulu project baru pada Delphi.

- Rancang form baru seperti berikut :

- Ubah propertis componen sesuai dengan yang anda inginkan.

- Selanjutnya doubleklik pada Button1, masukan koding berikut :

var
  Tahun,Bulan,Tanggal:Word;
  Waktu:TDateTime;
  TahunNew,no,new,temp,BulanNew,TanggalNew:String;
  newno,k : integer;
begin
    Waktu:=DateTimePicker1.date;

    DecodeDate(Waktu,Tahun,Bulan,Tanggal);

    TahunNew:=FormatDateTime('yy',Waktu);
    TanggalNew:=FormatDateTime('dd',waktu);

    if Bulan=12 then
      BulanNew:='12';
    if Bulan=11 then
      BulanNew:='11';
    if Bulan=10 then
      BulanNew:='10';
    if Bulan=9 then
      BulanNew:='09';
    if Bulan=8 then
      BulanNew:='08';
    if Bulan=7 then
      BulanNew:='07';
    if Bulan=6 then
      BulanNew:='06';
    if Bulan=5 then
      BulanNew:='05';
    if Bulan=4 then
      BulanNew:='04';
    if Bulan=3 then
      BulanNew:='03';
    if Bulan=2 then
      BulanNew:='02';
    if Bulan=1 then
      BulanNew:='01';

      no := 'KB-'+tahunNew+BulanNew+TanggalNew;
    Edit1.text:=no;

- Pada DateTimePicker1 pada even onchange masukan Button1Click(sender);

- Run project yang dibuat.

- ini tampilan jika kodingnya benar.
- untuk mendapatkan kode bisa dengan menekan button1 atau dengan merubah tanggal pada datetimepicker1.

.:. jika ingin menambahkan nu urut sesuai dengan yang ada pada tabel database kodingnya bisa seperti ini :
 disini saya menggunakan komponen ado, untuk koneksi ke database nya bisa dilihat di Blog tetangga. :)
var
  Tahun,Bulan,Tanggal:Word;
  Waktu:TDateTime;
  TahunNew,no,new,temp,BulanNew,TanggalNew:String;
  newno,k : integer;
begin
    Waktu:=DateTimePicker1.date;
    DecodeDate(Waktu,Tahun,Bulan,Tanggal);

    TahunNew:=FormatDateTime('yy',Waktu);
    TanggalNew:=FormatDateTime('dd',waktu);

    if Bulan=12 then
      BulanNew:='12';
    if Bulan=11 then
      BulanNew:='11';
    if Bulan=10 then
      BulanNew:='10';
    if Bulan=9 then
      BulanNew:='09';
    if Bulan=8 then
      BulanNew:='08';
    if Bulan=7 then
      BulanNew:='07';
    if Bulan=6 then
      BulanNew:='06';
    if Bulan=5 then
      BulanNew:='05';
    if Bulan=4 then
      BulanNew:='04';
    if Bulan=3 then
      BulanNew:='03';
    if Bulan=2 then
      BulanNew:='02';
    if Bulan=1 then
      BulanNew:='01';

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Select * from jual where kodejual like :k'); //ini untuk menemukan data terakhir dalam tabel
    ADOQuery1.Parameters[0].Value:='JL-'+(TanggalNew)+(BulanNew)+(TahunNew)+'%';
    ADOQuery1.Open;

  if ADOQuery1.IsEmpty then
  begin
    no:='JL-'+(TanggalNew)+(BulanNew)+(TahunNew)+'01'
  end else
  begin
    ADOQuery1.last;
    temp:=ADOQuery1['kodeJual'];
    for k:=10 to length(temp) do
    begin
      new:=new+temp[k];
    end;
    newno:=StrToInt(new);
    newno:=newno+1;

    if length(IntToStr(newno))=1 then
    no:='JL-'+(TanggalNew)+(BulanNew)+(TahunNew)+'0'+IntToStr(newno);
    if length(IntToStr(newno))=2 then
    no:='JL-'+(TanggalNew)+(BulanNew)+(TahunNew)+IntToStr(newno);
  end;
  edFaktur.text:=no;

.:. Selamat mencoba, dan semoga sukses di dunia Delphi ini.,.,

1 komentar:

  1. Bagaimana kalau membuat auto numbur dengan format 0001/sc/m/11/3016...mohon pencerahannya

    BalasHapus