Ide sulaihan dan harry sudah sangat mengena. Membangun logika mengambil
nomor urut dengan memecahkan format menurut dua bagian:

ddmmyyx

dimana ddmmyy adalah format tanggal sekarang tgl-bulan-tahun, dan x adalah
running number terbesar hari ini di tambahkan satu.

sederhananya begini:

    cek di tabel sudah ada format nomor untuk tanggal sekarang ?
    jika tidak ada, maka nomor yang diberikan menjadi ddmmyy1
    jika sudah ada, maka nomor yang diberikan menjadi ddmmyy(x+1)

dengan fungsi:

Function AmbilNomor() As String

    'ingat format tanggal sekarang "ddmmyy"
    Dim tglSekarang As String
    tglSekarang = Format(Date, "ddmmyy")

    'cek di tabel jika format tglSekarang sudah ada,
    'fungsi left digunakan untuk mengambil bag. tgl saja
    ' yaitu enam karakter pertama
    Dim tgl As String
    tgl = Nz(DLookup("LEFT(NoUrut,6)", "tblAnu", _
          "LEFT(NoUrut,6)='" & tglSekarang & "'"), "")

    If tgl = "" Then
        'jika belum ada tanggal sekarang, berarti dokumen pertama
        AmbilNomor = tglSekarang & "1"
    Else
        'jika sudah ada, maka bentuk sekuens nomor naik satu
        Dim nomor As Integer
        nomor = Nz(DMax("MID(NoUrut,7,10)", "tblAnu", _
                "LEFT(NoUrut,6)='" & tglSekarang & "'"), 0)
        AmbilNomor = tglSekarang & (nomor + 1)
    End If

End Function

Aksan Kurdin

2008/5/21 Sulaihan Fikri <[EMAIL PROTECTED]>:

>   Mudah2an ini bisa membantu,
>
> 1. Buat Function sendiri (contoh : function generateNoID) untuk men-
> generate no id yg dimaksud.
> Dimana mekanisme function ini adalah menggabungkan 2 string. String
> pertama adalah now(), string kedua adalah no_urut. hasil gabung 2
> string ini dilemparkan ke sub pemanggil (contoh : private sub
> form_Load) sebagai string.
> 2. Buat table Rnumber yg menyimpan informasi no urut (digit
> terakhir) saat ini. Dimana field ini akan bertambah 1 setiap selesai
> men-generate no id.
> Fieldnya cukup 1 saja, contoh field : rnum, tipe data = number,
> format data = long integer.
>
> Contoh Code function:
> Funtion GenerateNoID() as string
> dim string1, string2, NoID as string
> string1 = day(now()) & month(now()) & year(now())
> string2 = getCurrentRunningNumber
> NoID = string1 & string2
> GenerateNoID = NoID
> end function
>
> private function getCurrentRunningNumber() as string
> dim noUrut_Now as string
> dim rset as dao.recordset2
> set rset = rset.openrecordset("rnumber")
> while not rset.eof
> noUrut_Now = str(rset![rnum])
> rset![rnum]) = val(noUrut_now) + 1 ' tambah rnum dgn 1
> wend
> rset.close
> getCurrentRunningNumber = noUrut_Now
> end function
>
> Contoh Program Pemanggil :
>
> private sub form_load()
> dim NoIDBaru as string
> noIDBaru = GenerateNoID
> if isnull(me.text1) then
> me.text1.text = noIDBaru
> end if
> end sub
>
> Catatan :
> Function GenerateNoID() dan getCurrentRunningNumber() sebaiknya
> diletakkan di module supaya bisa dipanggil oleh semua form yg
> membutuhkan.
> Oya, deklarasi berikut (di function getCurrentRunningNumber) :
> dim rset as dao.recordset2
> set rset = rset.openrecordset("rnumber")
> mohon dicek lagi sintaksnya sudah betul apa belum (mungkin ada
> teman2 yg bisa mengkoreksi).
> Karena saya ngetik kode ini diwarnet yg komputernya ga ada
> msaccessnya, jadi ga bisa cek sintaks.
>
> Nah, silahkan dicoba. Kalau ada yg belum jelas, bisa menghubungi
> saya via japri.
>
> ----------------------------------------------------------
>
>
> --- In [email protected] <belajar-access%40yahoogroups.com>,
> "M. Taufan Kusuma AW."
> <[EMAIL PROTECTED]> wrote:
> >
> > Terima kasih atas infonya.. untuk menggunakan autonumber saya suda
> coba mas,
> > tapi tdk tau caranya agar formatnya 6
> > gigit pertama adalah tanggal sekarang dan digit selanjutnya
> Adalah no urut
> > contoh 1604081,saya coba dg menggunakan query dg mengabungkan
> karakter dari
> > kolom no urut dan tanggal input, berhasil tapi hasilnya menjadi
> 16/04/081
> > saya rubah format datenya ddmmyy tapi hasilnya tetap sama ,
> bagaimana code
> > programnya jika menggunakan Vba. Mohon bantuannya. Terima kasih..
> >
> >
> >
> > _____
> >
> > From: budi laksamana [mailto:[EMAIL PROTECTED]
> > Sent: Monday, May 19, 2008 2:13 PM
> > To: [email protected] <belajar-access%40yahoogroups.com>
> > Subject: [belajar-access] Re: Membuat No ID
> >
> >
> >
> > buat tabel mainan dulu dech,
> > bikin kolom untuk nama dan nourut,
> > lalu buka tabel itu, isikan nama dan angka sekarang satu record
> aja.
> > dan tutup
> > lalu buka design tabel itu lagi, dan ubah menjadi autonumber.
> > lalu tambahkan nama dan enter...
> > woila.....nourut nya sudah tambah 1.
> >
> > nach, silahkan dengan tabel betulan.
> >
> > cheers,
> > budilaks
> >
> > --- In belajar-access@ 
> > <mailto:belajar-access%40yahoogroups.com<belajar-access%2540yahoogroups.com>
> >
> > -yahoogroups.-com, "M. Taufan Kusuma
> > AW." <MTKusuma@> wrote:
> > >
> > > Saya mau minta tolong niy, bagaimana membuat No.ID yang
> formatnya 6
> > gigit
> > > pertama adalah sekarang dan digit selanjutnya
> > >
> > > Adalah no urut contoh 1604081. mohon maaf apabila sudah sering
> > dibahas di
> > > milis ini...
> > >
> > >
> > >
> > >
> > >
> > > ---
> > >
> >
> >
> >
> >
> >
> > ---
> >
>
>  
>



-- 
Aksan Kurdin

Kirim email ke