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: [email protected] [mailto:[email protected]]
On Behalf Of Ahmad Qomaruddin
Sent: Sunday, June 20, 2010 21:06
To: [email protected]
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 <[email protected]>
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.openrecordset ("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 [email protected], 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.kur...@...> wrote:
> > Jika tidak ada alasan khusus, nomor urut sebaiknya ditampilkan dalam
report
> > saja, tidak perlu di simpan dalam tabel.
> >
> > aksan kurdin
> >
> > --- In [email protected], 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 : [email protected]
blog : ud13en.blogspot.com