Sebelumnya alangkah baiknya Anda simak posting saya tentang Autonumber pada Datareport pada link dibawah ini :
Pada posting tersebut saya sampaikan link download project visual basic 6.0 membuat autonumber pada Datareport
Project tersebut adalah contoh membuat autonumber pada Datareport dengan koneksi secara manual sehingga harus mengkoneksikan ulang setiap berganti lokasi database (pindah komputer), koneksi ke tabelnya pun menggunakan pengaturan properties secara manual sehingga penomoran tidak berfungsi ketika data di Filter.
Dengan menggunakan contoh project yang sama saya sedikit memodifikasinya agar lebih fleksibel untuk digunakan, yaitu dengan menggunakan coding untuk koneksi dan commandText dataenvironmentnya.
Kurang lebih seperti ini codingnya :
Pada Form1
Private Sub Combo1_Click()
Adodc2.RecordSource = "SELECT " + _
"1 + (SELECT COUNT(*) FROM (select * from nilai where kelas='" + Combo1.Text + "') where nama < a.nama) AS AUTONUM, " + _
"a.nama AS NAME, a.kelas as KELAS, a.nilai as NILAI " + _
"FROM nilai a where a.kelas='" + Combo1.Text + "' " + _
"ORDER BY nama "
Adodc2.Refresh
DataGrid1.Refresh
End Sub
Private Sub Command1_Click()
DataEnvironment1.Commands("command1").CommandText = Adodc2.RecordSource
Set DataReport1.DataSource = DataEnvironment1
DataReport1.Show
End Sub
Private Sub Form_Load()
Combo1.Clear
Adodc1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" + _
"Data Source=" + App.Path + "\Data1.mdb;" + _
"Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select distinct(kelas) from nilai"
Adodc1.Refresh
Do Until Adodc1.Recordset.EOF
Combo1.AddItem Adodc1.Recordset(0)
Adodc1.Recordset.MoveNext
Loop
Adodc2.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Data1.mdb;Persist Security Info=False"
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = "SELECT " + _
"1 + (SELECT COUNT(*) FROM nilai where nama < a.nama ) AS AUTONUM, " + _
"a.nama AS NAME, a.kelas as KELAS, a.nilai as NILAI " + _
"FROM nilai a " + _
"ORDER BY nama "
Adodc2.Refresh
DataGrid1.Refresh
End Sub
Pada Form1
Private Sub Combo1_Click()
Adodc2.RecordSource = "SELECT " + _
"1 + (SELECT COUNT(*) FROM (select * from nilai where kelas='" + Combo1.Text + "') where nama < a.nama) AS AUTONUM, " + _
"a.nama AS NAME, a.kelas as KELAS, a.nilai as NILAI " + _
"FROM nilai a where a.kelas='" + Combo1.Text + "' " + _
"ORDER BY nama "
Adodc2.Refresh
DataGrid1.Refresh
End Sub
Private Sub Command1_Click()
DataEnvironment1.Commands("command1").CommandText = Adodc2.RecordSource
Set DataReport1.DataSource = DataEnvironment1
DataReport1.Show
End Sub
Private Sub Form_Load()
Combo1.Clear
Adodc1.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" + _
"Data Source=" + App.Path + "\Data1.mdb;" + _
"Persist Security Info=False"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select distinct(kelas) from nilai"
Adodc1.Refresh
Do Until Adodc1.Recordset.EOF
Combo1.AddItem Adodc1.Recordset(0)
Adodc1.Recordset.MoveNext
Loop
Adodc2.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\Data1.mdb;Persist Security Info=False"
Adodc2.CommandType = adCmdText
Adodc2.RecordSource = "SELECT " + _
"1 + (SELECT COUNT(*) FROM nilai where nama < a.nama ) AS AUTONUM, " + _
"a.nama AS NAME, a.kelas as KELAS, a.nilai as NILAI " + _
"FROM nilai a " + _
"ORDER BY nama "
Adodc2.Refresh
DataGrid1.Refresh
End Sub
Pada DataReport1
Private Sub DataReport_QueryClose(Cancel As Integer, CloseMode As Integer)
If DataEnvironment1.rsCommand1.State = adStateOpen Then
DataEnvironment1.rsCommand1.Close
End If
End Sub
coding pada datareport diatas digunakan untuk menutup recordset, sehingga saat datareport dibuka lagi akan menggunakan recordset yang baru. (refresh)
Bingung kan? hehehe..
saya juga, download saja langsung sourcecodenya pada link dibawah ini :
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :