Perintah dalam codingnya yang kurang benar, kalau dalam sql, jika ada perintah 
agregate funtion (MAX...), maka hasil dari perintah SQL nya sudah pasti tetap 1 
record. Tetapi walaupun 1 recor, nilai record yang dihasilkan null. jadi 
didalam code, tambahkan pengecekan null
 
If AdoNoUrut.RecordCou nt = 0 Then
   N = 0   (baris ini tidak akan dilewati oleh program, krn jumlah record data 
berjumlah 1)
Else
   AdoNoUrut.MoveLast
   N = AdoNoUrut.Fields( "N")
End If
N = N + 1

code  diatas dirubah menjadi :
If AdoNoUrut.RecordCou nt = 1 Then
    if isnull(AdoNoUrut( "N")) = true then  ' jika isi N = nulll maka nilai N = 0
           N = 0
    Else
           N = AdoNoUrut.Fields( "N")
    End If
End If
N = N + 1


Semoga membantu: =(oVo)=
====================
BaceInside Publisher
Copyright @2007
Not for reproduced, republished.
Thank You 
====================



----- Original Message ----
From: mukromin <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]; [email protected]
Sent: Monday, April 30, 2007 10:23:58 AM
Subject: [Programmer-VB] Nomor Otomatis

Selamat pagi rekan-rekan semua, saya punya koding seperti dibawah.
 
Sub NoUrut()
Set AdoNoUrut = New Recordset
AdoNoUrut.Open "Select Left(Max(tblIn. In_Id),4) As N from tblIn", db, 
adOpenStatic, adLockOptimistic
If AdoNoUrut.RecordCou nt = 0 Then
   N = 0
Else
   AdoNoUrut.MoveLast
   N = AdoNoUrut.Fields( "N")
End If
N = N + 1
txtNomor.Text = Format(N, "0000") & "-" & Format(Now, "MMM-yy") & ("-" & "IN" )
End Sub
 

Private Sub cmdAdd_Click( )
Call NoUrut
End Sub  
 

Pada saat cmdAdd diclick nomor otomatis urut ( N + 1 ). Masalahnya jika tblIn 
masih kosong nomor tidak otomatis
menjadi 1. Untuk nomor ke 2 dst tidak masalah. Mohon pencerahannya. Terima Kasih
 
Salam
Mukromin


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Kirim email ke