Arsip: tips : Bikin AutoNumber buat nomor faktur
                
                   more 20 years ago
                  
              tox2wow
Hmmm, gw ga pernah make autonumber yang disediain oleh database, semisal acces. Tapi, gw bikin sendiri algoritmanya. Misalnya kita punya tabel T_Faktur dengan 1 field Nomor. Algoritmanya kira2 :
                
// sediakan variabel untuk menampung nilai maksimal dari field Nomor
var
 N : Byte;
 with AdoQuery1 do
   begin
    // ambil dulu nilai maksimal dari field nomor
   Close;
   SQL.Clear;
   SQL.Add('Select Max(Nomor) from T_Faktur');
   Open;
   if IsEmpty then
    N := 0
   else
    N := FieldByName('Nomor').AsInteger;
   //input nomor selanjutnya
   Close;
   SQL.Clear;
   SQL.Add('Insert into T_Faktur values(' + IntToStr(N + 1) + ')');
   ExecSQL;
   end;
[/code:1:db5944322d]
Dengan algoritma diatas, maka field Nomor akan diincrement setiap kali kita inginkan, tergantung pemakaian code nya. Gw juga ga pernah make autonumber default dari database, soalnya susah untuk update jika ada field yang di hapus, sehinga value di field nomor ga bisa urut lagi. Sedangkan untuk algoritma di atas, untuk menjaga urutan Nomor, walaupun ada data yang di hapus, algoritmanya seperti ini :
[code:1:db5944322d]
 //misalkan, prosedur hapus adalah seperti ini
var
 N : Integer; // variabel untuk menyimpan value nomor yang di hapus
              
 with AdoQuery1 do
  begin
   Close;
   SQL.Clear;
   SQL.Add('Delete from T_Faktur where Nomor = N');
   ExecSQL;
   //update nilai nomor yang lebih besar dari nomor yang dihapus
   Close;
   SQL.Clear;
   SQL.Add('Update T_Faktur set Nomor = N - 1 where Nomor > N');
   ExecSQL;
  end;
And ... ting .. ting .. nomor pasti akan selalu berurutan ...  :lol:
                
                   more 20 years ago
                  
              tox2wow
whew ... kalo udah di bilang keren sama cyber_hecker berarti udah bener2 keren nihh ... wakakkakaa ....  :lol:
                
                
                   more 20 years ago
                  
              deLogic
kekeke koreksi dikit, itu mah bukan algoritma tapi code snippet.... mm cuman salah syntax aja kok, di perintah Delete ama Update, N nya mas..... :)
                
   SQL.Add('Delete from T_Faktur where Nomor = N');
   SQL.Add('Update T_Faktur set Nomor = N - 1 where Nomor > N');
mungkin begini ya..????
   SQL.Add('Delete from T_Faktur where Nomor = ' + IntToStr(N));
   SQL.Add('Update T_Faktur set Nomor = ' + IntToStr(N - 1) + ' where Nomor > ' + IntToStr(N));
                
                   more 20 years ago
                  
              marvel
gimana kalo auto numbernya gini...
if table1.bof then
   table1.last;
edit1.text:=['no faktur']+1;
ketikkan semua sourcecode ini di formshow,btsimpan,btbatal
selamat mencoba :mrgreen:
yg jadi masalah.. kalo menggunakan source code seperti ini kok.. kita nga bisa menggunakan huruf ya ? 
NB: dengan syarat table1 di field No Faktur record no.1 harus sudah ada no.nya..
jadi sebelum sourcecode tsb di run.. kita harus memasukkan angka dulu di database tablenya..
thanks
                
                
                   more 19 years ago
                  
              R960XT
bro..
itu kan no faktur nya cuman nomor doank...
kalo gw mau didepan no fakturnya ada char biasa giman ??
misal FAK00001
trus nanti udah di save langsung nambah sendiri jadi FAK00002
                
                
                   more 19 years ago
                  
              kaka-delphi
Untuk jenis pengkodean seperti itu sudah banyak dibahas disini .. silahkan search dulu
                more ...
              - Pages:
 - 1
 
                    
                     reply  |
                     Report Obsolete
                  
                AI Forward
            
🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: 
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 5 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 5 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
 - Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 13 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 13 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 13 years ago 
Random Topic
- DBGRID for data buaaanyaaakkk
by Thunder in Tip n Trik Pemrograman more 16 years ago - Tedit
by sutomohd in MsSQL more 20 years ago - nanya update SQL statement..pliss
by divanda in Hal umum tentang Pascal Indonesia more 17 years ago - stringgrid
by amakita in Hal umum tentang Pascal Indonesia more 17 years ago - buat user & password admin  baru di interbase/firebird
by JalmaLier in FireBird more 18 years ago - Mmembangun Software utk Rumah Sakit
by onsir in OOT more 16 years ago - Help - Problem kirim sms dengan Comport
by batozai in Network, Files, I/O & System more 15 years ago - jumlah
by brodien in Tip n Trik Pemrograman more 19 years ago - Program jaringan online antar kota
by Exoo in Network, Files, I/O & System more 18 years ago - Konvert ke dll
by belajaraja in Tip n Trik Pemrograman more 18 years ago 
