none
generate kode barang berdasarkan nama, merek + no urut

    Diskusi Umum

  •  

     

    Dim dataku As String

     

     

    Dim nbr As String

     

     

    Dim mdr As String

     

     

    Dim mrk As String

     

     

    Try

    mrk = merek.Text

    mdr = model.Text

    nbr = nabar.Text

     

     

    Dim gabung As String

     

     

    Dim rm As MySqlDataReader

     

     

    Dim rs As MySqlCommand

    connek()

     

     

    Dim kkd As String

    kkd =

     

    sett.Left(nbr, 3) & sett.Left(mdr, 2) & sett.Left(mrk, 2) & "001"

    ThBl =

     

    sett.Left(nbr, 3) & sett.Left(mdr, 2) & sett.Left(mrk, 2)

    rs =

     

    New MySqlCommand("SELECT count(*) from barang where kobar like'" & ThBl & "%'", con)

    rm = rs.ExecuteReader

     

     

    If rm.Read Then

    dataku =

     

    CStr(rm.Item(0))

    isi = dataku

    ThBlRec =

     

    sett.Left(isi, 7)

     

     

    If ThBlRec = ThBl Then

    NoUrut =

     

    CLng(isi) 'CInt(sett.Right(isi, 3))

    gabung =

     

    sett.Right("000" & NoUrut, 3)

    id_kode = ThBlRec & gabung

     

     

    Else

    NoUrut =

     

    CLng(isi) + 1 'CInt(sett.Right(isi, 3))

    gabung =

     

    sett.Right("000" & NoUrut, 3)

    id_kode = ThBl & gabung

     

     

    End If

     

     

    Else

    gabung =

     

    sett.Right("000" & NoUrut, 3)

    id_kode = ThBl & gabung

     

     

    End If

    id_kode = id_kode

     

     

    ' MsgBox(id_kode)

    rs.Connection.Close()

     

     

    Catch ex As Exception

    MsgBox(ex.Message,

     

    MsgBoxStyle.Exclamation)

     

     

    End Try

    Mohon pecerahannya.. soalnya ketika salahsatu data dihapus no jadi duplikat. dan tidak bisa input yang baru.

    09 Mei 2010 9:44

Semua Balasan

  • bisa kasih contoh format kode barangnya?

     

    23 Juni 2010 4:45
  • Nama Barang : MOTHERBOARD

    Model Barang : Socket 462 2nd

    Merek Barang : AMD VIA

    Hasil keluar Kodenya :MOTSOAM001

    24 Juni 2010 1:24
  • kenapa gak di taruh di trigger table aja, lebih mudah, saya coba bantu logika-nya aja, kalau syntax tgt dari databasenya pakai apa, kalau saya biasanya pakai oracle jadi syntax di bawah ini untuk oracle

    ---begin trigger---

    new_kodebarang = substring(nama_barang,1,3) + substring(model_barang,1,2) + substring(merk_barang,1,2)

    select count(*) into total from Master_barang

     where kodebarang like new_kodebarang||'%';

     

    if total = 0 then

     new_kodebarang = new_kodebarang + lpad('1',3,'0')

    else

     new_kodebarang = new_kodebarang + lpad(total+1,3,'0')

    end if

     

    :new.kodebarang := new_kodebarang;

     

    --end trigger--

     

    semoga bisa membantu...

     

    • Diedit oleh Robby Gunawan 24 Juni 2010 18:21 tambahan syntax yang kurang
    24 Juni 2010 18:20
  • saya coba dulu ya...

    soalnya saya pake MySQL jadi cari perubahan dulu dari oracle ke Mysql

    thanks masukannya..

    25 Juni 2010 1:09
  • Ikut gabung ya..

    Maaf kalau kita buat pengkodean harus hati2

    masalahnya saya mengalami kaya gitu dulu

    kalu misal berdasarkan nama dan merk berarti kita harus buat mempunya master nama2 barang?

    takutnya user salah ketik..

     

    07 Agustus 2010 12:50
  • iya emang betul, kadang nama barang bisa diganti tapi kode sudah menjadi primary key. dan barang yang sudah terjual nama barangpun jadi error kalo di edit soalnya sudah beda dengan yang di faktur.
    07 Agustus 2010 15:47
  • MUNGKIN BISA NAMBAH BANTUAN:

    cara mudahnya, primary key jangan didasarkan pada ketiga field tersebut, buat primary key yg sifatnya identity: misal bertipe biginteger. perkara ingin look up ke ketiga field yg digabung tsb, cukup buat relasi one to many aja. dan jangan lupa enforce referential integrity dijaga. baik cascade delete maupun update.

    Atau jika tidak, tambah satu field konstruktor penggabung yg sifatnya berubah terus mengikuti waktu: misal tambahkan: datetime yg merujuk ke hari dan jam sekarang. anggap barang tsbt memiliki identitas kapan diinputkan.

    Oke, semoga membantu....

    21 Januari 2011 5:08