kok gak dibales2........ mas MBAnya ngambek tuh......jadi males balas ....... fungsi yg dibuatkan oleh mas MBA sudah sangat jelas sekali , mas cuma diharap tambah sedikit saja. Karena itu saya copy paste spt aslinya , karena fungsi ini bukan saja jalan dg baik luar dan dalam , ttp sintax nya juga indah seindah warna aslinya ..... pst... mas gak minta fotonya ? entar kalau udah bagi doooong .....Function fLast() As Integer Dim cnn As ADODB.Connection Set cnn = CurrentProject.Connection Dim rst As New ADODB.Recordset rst.Open "select no_urut from Table1 " & _ "where Table1.kode = '" & Forms!Form1!kode & "' order by no_urut", cnn, adOpenKeyset, adLockPessimistic, adCmdText
A = 0 If Not (rst.EOF Or rst.BOF) Then rst.MoveLast rst.MoveFirst For i = 1 To rst.RecordCount If i <> rst!no_urut Then A = i Exit For End If rst.MoveNext Next End If If A = 0 Then A = rst.RecordCount + 1 End If fLast = A rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing End Function Sebetulnya field no_urut itu buat apa sih mas? kan udah ada no_kode , kan bisa di sederhanakan lagi tinggal ubah sedikit fungsinya itu...untuk ini bisa tanya ke mas MBA lagi + minta fotonya trus jangan lupa bagi dooong,,,,,, xi...xi...xi...xi...Salam,~ KSBA | Keep the Spirit of Belajar Access ~ --- Pada Sen, 21/6/10, Ahmad Qomaruddin <[email protected]> menulis: Dari: Ahmad Qomaruddin <[email protected]> Judul: Re: [belajar-access] Re: Nomor Urut Otomatis Kepada: [email protected] Tanggal: Senin, 21 Juni, 2010, 2:26 PM buat MBA, functionnya ditaruh dimana? modul ato form? manggilnya function kapan? pada command SIMPAN sebelum DMax atau tidak usah pakai DMax? 2010/6/21 MBA <murid.belajaraccess @yahoo.co. id> Mungkin bisa digunakan function di bawah ini. Tapi sesuai kata2 bang Aksan. Jika ini sekedar untuk membuktikan secara coding bahwa hal ini memungkinkan dibuat. Tapi dalam praktek, apalagi yang berhubungan dengan audit dan traceability, cara ini tidak dianjurkan. Catatan: Function dibawah di sesuaikan dengan isi Table1 dari sample anda. Function fLast() As Integer Dim cnn As ADODB.Connection Set cnn = CurrentProject. Connection Dim rst As New ADODB.Recordset rst.Open "select * from Table1 order by no_urut", cnn, adOpenKeyset, adLockPessimistic, adCmdText a = 0 If Not (rst.EOF Or rst.BOF) Then rst.MoveLast rst.MoveFirst For i = 1 To rst.RecordCount If i <> rst!no_urut Then a = i Exit For End If rst.MoveNext Next End If If a = 0 Then a = rst.RecordCount + 1 End If fLast = a rst.Close Set rst = Nothing cnn.Close Set cnn = Nothing End Function Salam Hangat dan Jabat Erat Murid Belajar Access EdyWiyono ____________ _________ _________ _________ _ From: belajar-access@ yahoogroups. com [mailto:belajar-access@ yahoogroups. com] On Behalf Of Ahmad Qomaruddin Sent: Sunday, June 20, 2010 21:06 To: belajar-access@ yahoogroups. com Subject: Re: [belajar-access] Re: Nomor Urut Otomatis terima kasih mas aksan, pake script anda jadinya bukan mengisi nomor kosong dengan baru tetapi jadinya merubah semua nomor menjadi urutan yang baru. sebenarnya pengennya cuma mengisi nomor kosong yang telah dihapus datanya sedangkan nomor yang sudah ada akan tetap. kalo pake script anda nomor yang lama jadi berubah. 2010/6/19 aksankurdin <aksan.kurdin@ gmail.com> hnaaah.... apalagi kalau sebagai id. 'kurang bagus' adalah alasan yang kurang tepat untuk membangun suatu database. tetapi alasan yang semestinya adalah berkaitan dengan audit. Jika ada nomor yang hilang, harus dipertanyakan kenapa dihilangkan ? jika tidak ada penjelasan, maka itu bisa mengindikasikan kecurangan. bukannya malah berusaha memperbaiki urutan dengan koding, malah jika id ini ikut dicetak, bisa2 hard copy berbeda dengan database, karena id sudah bergeser. ini dari saya, tidak usah terlalu meribetkan urutan nomor id. bbu itu. di thread yang lalu saya sempat panjang lebar mengutarakan alasannya. gunakan id yang urut (semisal autonumber) hanya komunikasi data antara tabel saja, bukan untuk display ke end user. tetapi bukan berarti saya tidak memberikan cara untuk mengurutkan kembali nomor urut, ini hanya sebagai proses 'belajar coding' saja. dim rs as dao.recordset set rs = currentdb.openrecor dset ("namatable") rs.movefirst dim i as integer for i = 1 to rs.recordcount rs.edit rs!noid = i ' anggapan noid adalah nourut rs.update rs.movenext next i rs.close set rs = nothing itu adalah kode dengan lib dao. masih ada cara lain. code saya tulis tanpa di tes di ms access, jadi mungkin ada kesalahan sintak, silakan diperbaiki dan dikembangkan. aksan kurdin --- In belajar-access@ yahoogroups. com, Ahmad Qomaruddin <ud1...@...> wrote: > > sebenarnya bukan sekedar no urut tapi merupakan semacam ID yang dibuat > otomatis ketika melakukan input data, sehingga kalo ID loncat2 jadinya > kurang bagus. > > On 6/19/10, aksankurdin <aksan.kurdin@ ...> wrote: > > Jika tidak ada alasan khusus, nomor urut sebaiknya ditampilkan dalam report > > saja, tidak perlu di simpan dalam tabel. > > > > aksan kurdin > > > > --- In belajar-access@ yahoogroups. com, Ahmad Qomaruddin <ud13en@> wrote: > >> > >> Buat rekan milis semua, > >> Saya buat nomor urut otomatis dengan menggunakan Dmax, > >> Bagaimana supaya kalau data dengan nomor urut tengah dihapus bisa diisi > >> dengan data yang baru? > >> Terima Kasih atas responnya > >> > > > > > > > > > -- > Ahmad Qomaruddin > Sulang Rembang > email : ud1...@... > blog : ud13en.blogspot. com > -- Ahmad Qomaruddin Sulang Rembang email : ud1...@gmail. com blog : ud13en.blogspot. com -- Ahmad Qomaruddin Sulang Rembang email : ud1...@gmail. com blog : ud13en.blogspot. com

