client server

13
Baik langsung saja yang dibutuhkan dalam project ini adalah : 1. satu form dengan nama main 2. satu dataenvironment dengan nama dataenvironment1 3. datareport dengan nama datareport1 Control yang ada didalam form, yaitu : 1. Imagelist1 sebagai penampung image untuk toolbar 2. Toolbar1 sebagai tempat menampung gambar yang akan dapat di klik langsung oleh user 3. frame1 sebagai tempat 4. tujuh Textbox yaitu txtjudul, txtreferensi, txtpenulis, txtcetakan, txtpenerbit, txtrecordaktif dan txtsearch 5. satu ComboBox yaitu cbosearch 6. satu CommandButton yaitu cmdcari 7. membuat Menubar untuk menampung File, Tambah, Hapus, urut sesuai Judul , urut sesuai Resensi dan seterusnya. Fasilitas yang ada pada project sederhana ini adalah : 1. Pencarian 2. Tambah data 3. Hapus Data 4. Update data 5. Pembatalan data 6. Simpan data 7. Edit data 8. Menampilkan laporan yang lumayan tampilannya 9. Lebih fleksibel karena untuk koneksi ke database menggunakan kode dan tidak menggunakan Adodc yang saya rasa kurang fleksibel dalam koneksi database. 10. Navigasi (Next, Previous, First dan Last) yang diletakan di menubar sehingga lebih hemat tempat. 11. Option Explicit 12. Private WithEvents adoPrimaryRSdaftarBuku As Recordset 13. 14. Private Sub CboSearch_Click()

Upload: aji-mustofa

Post on 27-Nov-2014

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Client Server

Baik langsung saja yang dibutuhkan dalam project ini adalah :

1. satu form dengan nama main2. satu dataenvironment dengan nama dataenvironment13. datareport dengan nama datareport1

Control yang ada didalam form, yaitu :

1. Imagelist1 sebagai penampung image untuk toolbar2. Toolbar1 sebagai tempat menampung gambar yang akan dapat di klik langsung oleh user3. frame1 sebagai tempat4. tujuh Textbox yaitu txtjudul, txtreferensi, txtpenulis, txtcetakan, txtpenerbit,

txtrecordaktif dan txtsearch5. satu ComboBox yaitu cbosearch6. satu CommandButton yaitu cmdcari7. membuat Menubar untuk menampung File, Tambah, Hapus, urut sesuai Judul , urut

sesuai Resensi dan seterusnya.

Fasilitas yang ada pada project sederhana ini adalah :

1. Pencarian2. Tambah data3. Hapus Data4. Update data5. Pembatalan data6. Simpan data7. Edit data8. Menampilkan laporan yang lumayan tampilannya9. Lebih fleksibel karena untuk koneksi ke database menggunakan kode dan tidak

menggunakan Adodc yang saya rasa kurang fleksibel dalam koneksi database.10. Navigasi (Next, Previous, First dan Last) yang diletakan di menubar sehingga lebih

hemat tempat.11. Option Explicit12. Private WithEvents adoPrimaryRSdaftarBuku As Recordset 13.14. Private Sub CboSearch_Click()15. 'jika cbosearch diklik16. Select Case CboSearch17.18.19. 'memilih Judul20. Case "Judul"21. TxtSearch.Text = ""22. TxtSearch.Enabled = True23. TxtSearch.BackColor = vbWindowText24. TxtSearch.SetFocus

Page 2: Client Server

25.26.27. Case "Referensi"28. TxtSearch.Text = ""29. TxtSearch.Enabled = True30. TxtSearch.BackColor = vbWindowText31. TxtSearch.SetFocus32.33.34. Case "Penulis"35. TxtSearch.Text = ""36. TxtSearch.Enabled = True37. TxtSearch.BackColor = vbWindowText38. TxtSearch.SetFocus39.40.41. Case "Penerbit"42. TxtSearch.Text = ""43. TxtSearch.Enabled = True44. TxtSearch.BackColor = vbWindowText45. TxtSearch.SetFocus46. End Select47. End Sub 48.49. Private Sub DisableSearch()50. TxtSearch.Enabled = False51. TxtSearch.BackColor = vbWindowText52. TxtSearch.Text = "Masukan Kata Kunci Pencarian"53. CboSearch.Text = "Pencarian"54. End Sub 55.56. Private Sub Command1_Click()57. If TxtSearch.Text = "" Then58. Beep59. TxtSearch.SetFocus60. Else61. 'jika cbosearch dipilih62. Select Case CboSearch63.64.65. Case "Judul"66. 'melakukan pencarian data pd txtsearch67. adoPrimaryRSdaftarBuku.Find "Judul like '*" + TxtSearch + "*'", ,

adSearchForward, 168.69.70. Case "Referensi"71. 'melakukan pencarian data pd txtsearch72. adoPrimaryRSdaftarBuku.Find "Referensi like '*" + TxtSearch + "*'", ,

adSearchForward, 173.74.75. Case "Penulis"76. 'melakukan pencarian data pd txtsearch77. adoPrimaryRSdaftarBuku.Find "Penulis like '*" + TxtSearch + "*'", ,

adSearchForward, 1

Page 3: Client Server

78. Case "Penerbit"79. 'melakukan pencarian data pd txtsearch80. adoPrimaryRSdaftarBuku.Find "Penerbit like '*" + TxtSearch + "*'", ,

adSearchForward, 181. End Select82.83.84. 'jika data tidak ditemukan maka85. If adoPrimaryRSdaftarBuku.EOF Then86. MsgBox "Data yang anda cari tidak ditemukan", vbOKOnly + vbCritical,

"Search"87. adoPrimaryRSdaftarBuku.MoveFirst88. TxtSearch.Text = ""89. TxtSearch.SetFocus90. End If91. End If92. On Error GoTo 093. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

94. End Sub95. Private Sub Form_Load()96. Dim db As Connection97. Set db = New Connection98. db.CursorLocation = adUseClient99. db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;" & _100.101.102. "Data Source=" & App.Path & "\Daftar Buku.mdb;"103.104.105. Set adoPrimaryRSdaftarBuku = New Recordset106. adoPrimaryRSdaftarBuku.Open "TblDaftarBuku", db, adOpenStatic,

adLockOptimistic107.108.109. 'Bind the ole controls to the data provider110. Set txtJudul.DataSource = adoPrimaryRSdaftarBuku111. Set txtReferensi.DataSource = adoPrimaryRSdaftarBuku112. Set txtPenulis.DataSource = adoPrimaryRSdaftarBuku113. Set TxtCetakan.DataSource = adoPrimaryRSdaftarBuku114. Set txtPenerbit.DataSource = adoPrimaryRSdaftarBuku115. 'mengurutkan berdasarkan field referensi116. adoPrimaryRSdaftarBuku.Sort = "Referensi"117. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

118. End Sub 119. Private Sub Form_Unload(Cancel As Integer)120. adoPrimaryRSdaftarBuku.Close121. End Sub122. Private Sub MnuBatal_Click()123. DisableSearch124. 'disable textbox125. txtJudul.Enabled = False126. txtReferensi.Enabled = False

Page 4: Client Server

127. txtPenulis.Enabled = False128. TxtCetakan.Enabled = False129. txtPenerbit.Enabled = False130. 'batalkan update kemudian menuju ke record pertama131. adoPrimaryRSdaftarBuku.CancelUpdate132. adoPrimaryRSdaftarBuku.MoveFirst133. End Sub 134. Private Sub mnuitemabout_Click()135. DisableSearch136. 'menampilkan pesan mengenai aplikasi137. MsgBox "Koleksi Bukuku Version 1.0.0 Oleh Joko", vbInformation,

"Koleksi Bukuku"138. End Sub 139. Private Sub mnuitemadd_Click()140. DisableSearch141. 'menambah data buku142. adoPrimaryRSdaftarBuku.AddNew143. 'textbox enable/dapat diisi144. txtJudul.Enabled = True145. txtReferensi.Enabled = True146. txtPenulis.Enabled = True147. TxtCetakan.Enabled = True148. txtPenerbit.Enabled = True149. 'pointer aktif di txtjudul150. txtJudul.SetFocus151. End Sub 152. Private Sub mnuitemdelete_Click()153. DisableSearch154. If txtJudul.Text = "" Then155. MsgBox "Minimal Ketik Judul Bukunya dulu.", vbOKOnly, "Informasi"156. txtReferensi.Text = "."157. adoPrimaryRSdaftarBuku.Delete adAffectCurrent158. adoPrimaryRSdaftarBuku.MoveFirst159. Else160. 'Hapus daftar buku record aktif161. adoPrimaryRSdaftarBuku.Delete adAffectCurrent162. adoPrimaryRSdaftarBuku.MoveFirst163. End If164. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

165. End Sub166. Private Sub mnuitemedit_Click()167. DisableSearch168. 'mengaktifkan textbox agar dapat diubah daftar bukunya169. txtJudul.Enabled = True170. txtReferensi.Enabled = True171. txtPenulis.Enabled = True172. TxtCetakan.Enabled = True173. txtPenerbit.Enabled = True174. End Sub175. Private Sub mnuitemexit_Click()176. 'mengakhiri aplikasi177. Unload Me178. End Sub179. Private Sub mnuitemreport_Click()

Page 5: Client Server

180. DisableSearch181. 'INI CODE UPDATE REPORT/LAPORAN YANG BURUK TETAPI EFEKTIF DAN TIDAK

BIKIN SAYA PUSING HE..HE..,182. 'SAYA TULISKAN KARENA JIKA KITA BUKA LAPORAN DAN MENUTUPNYA KEMBALI

KEMUDIAN KITA MELAKUKAN PERUBAHAN183. 'PADA DATA (PENAMBAHAN ATAU PENGHAPUSAN DATA) TERNYATA JIKA KITA BUKA

KEMBALI LAPORAN184. 'MAKA DIHASILKAN LAPORAN YANG MASIH LAMA (BELUM MENGALAMI

PENAMBAHAN/PENGHAPUSAN)185. 'SEHINGGA SAYA LAKUKAN CODE DIBAWAH INI YAITU MENUTUP APLIKASI DAN

MEMANGGILNYA KEMBALI186. 'KEMUDIAN BARU LAPORAN (DATAREPORT1) DITAMPILKAN. MAAF MENGGUNAKAN

JALAN PINTAS HE..HE...BAGI YANG TAHU BAGI ILMU DONG..187.188.189. Unload Main 'MENUTUP APLIKASI190. Shell App.Path & "\KOLEKSIBUKUKU.EXE" 'MEMANGGIL APLIKASI KEMBALI191. DataReport1.Show 'MENAMPILKAN LAPORAN192. End Sub193. Private Sub mnuitemsave_Click()194. DisableSearch195. If txtJudul.Text = "" Then196. MsgBox "Minimal Ketik Judul Bukunya dulu.", vbOKOnly, "Informasi"197. txtReferensi.Text = "."198. adoPrimaryRSdaftarBuku.Delete adAffectCurrent199. adoPrimaryRSdaftarBuku.MoveFirst200. Else201. 'menyimpan daftar buku yang telah di inputkan202. adoPrimaryRSdaftarBuku.Save203. End If204. txtJudul.Enabled = False205. txtReferensi.Enabled = False206. txtPenulis.Enabled = False207. TxtCetakan.Enabled = False208. txtPenerbit.Enabled = False209. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

210. End Sub 211. Private Sub MnuFirst_Click()212. 'menuju ke record pertama213. adoPrimaryRSdaftarBuku.MoveFirst214. DisableSearch215. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

216. End Sub217. Private Sub MnuLast_Click()218. 'menuju ke record terakhir219. adoPrimaryRSdaftarBuku.MoveLast220. DisableSearch221. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

222. End Sub223. Private Sub mnunext_Click()

Page 6: Client Server

224. 'menuju ke record setelah/ke depan225. adoPrimaryRSdaftarBuku.MoveNext226. 'jika record sudah sampai pada record yang terakhir maka akan berbunyi

nada beep dan record yang aktif adalah record terakhir227. If adoPrimaryRSdaftarBuku.EOF Then228. Beep229. adoPrimaryRSdaftarBuku.MoveLast230. End If231. DisableSearch232. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

233. End Sub234. Private Sub mnuprevious_Click()235. adoPrimaryRSdaftarBuku.MovePrevious236. 'jika record sudah sampai pada record yang pertama maka akan berbunyi

nada beep dan record yang aktif adalah record pertama237. If adoPrimaryRSdaftarBuku.BOF Then238. Beep239. adoPrimaryRSdaftarBuku.MoveFirst240. End If241.242.243. DisableSearch244. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

245. End Sub 246. Private Sub MnuUpdate_Click()247. DisableSearch248. With adoPrimaryRSdaftarBuku249. 'mengedit data pada record aktif250. .Clone251. !Judul = txtJudul.Text252. !Referensi = txtReferensi.Text253. !Penulis = txtPenulis.Text254. !cetakan = TxtCetakan.Text255. !Penerbit = txtPenerbit.Text256. 'menyimpan hasil pengeditan data257. .Update258. End With259.260.261. If txtJudul.Text = "" Then262. MsgBox "Minimal Ketik Judul Bukunya dulu.", vbOKOnly, "Informasi"263. mnuitemdelete_Click264. End If265. End Sub 266. Private Sub MnuUrutJudul_Click()267. 'mengurutkan berdasarkan field Judul268. adoPrimaryRSdaftarBuku.Sort = "Judul"269. DisableSearch270. End Sub271. Private Sub MnuUrutpenerbit_Click()272. 'mengurutkan berdasarkan field Penerbit273. adoPrimaryRSdaftarBuku.Sort = "Penerbit"

Page 7: Client Server

274. DisableSearch275. End Sub276. Private Sub MnuUrutPenulis_Click()277. 'mengurutkan berdasarkan field Penulis278. adoPrimaryRSdaftarBuku.Sort = "Penulis"279. DisableSearch280. End Sub 281. Private Sub MnuUrutReferensi_Click()282. 'mengurutkan berdasarkan field referensi283. adoPrimaryRSdaftarBuku.Sort = "Referensi"284. DisableSearch285. End Sub286.287. Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)288.289.290. 'menggunakan statemen select case291. 'initialisasi toolbar dan isi292. Select Case Button.Key293.294.295. Case "Tambah"296. 'disabled TxtSearch297. DisableSearch298.299.300. 'menambah daftar koleksi buku301. adoPrimaryRSdaftarBuku.AddNew302. txtJudul.Enabled = True303. txtReferensi.Enabled = True304. txtPenulis.Enabled = True305. TxtCetakan.Enabled = True306. txtPenerbit.Enabled = True307. txtJudul.SetFocus308.309.310. Case "Simpan"311. DisableSearch312.313.314. If txtJudul.Text = "" Then315. MsgBox "Minimal Ketik Judul Bukunya dulu.", vbOKOnly, "Informasi"316. txtReferensi.Text = "."317. adoPrimaryRSdaftarBuku.Delete adAffectCurrent318. adoPrimaryRSdaftarBuku.MoveFirst319. Else320. 'menyimpan daftar buku yang telah di inputkan321. adoPrimaryRSdaftarBuku.Save322. End If323.324.325. txtJudul.Enabled = False326. txtReferensi.Enabled = False327. txtPenulis.Enabled = False328. TxtCetakan.Enabled = False329. txtPenerbit.Enabled = False

Page 8: Client Server

330.331.332. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

333.334.335. Case "Hapus"336. DisableSearch337. If txtJudul.Text = "" Then338. MsgBox "Minimal Ketik Judul Bukunya dulu.", vbOKOnly, "Informasit"339. txtReferensi.Text = "."340. adoPrimaryRSdaftarBuku.Delete adAffectCurrent341. adoPrimaryRSdaftarBuku.MoveFirst342. Else343. 'Hapus daftar buku record aktif344. adoPrimaryRSdaftarBuku.Delete adAffectCurrent345. adoPrimaryRSdaftarBuku.MoveFirst346. End If347.348.349. LblRecordAktif.Caption = " Jumlah Koleksi " &

adoPrimaryRSdaftarBuku.RecordCount & " Buku" & " dan Sekarang Posisi di Koleksi Buku ke " & adoPrimaryRSdaftarBuku.AbsolutePosition

350.351.352. Case "Laporan"353. DisableSearch354.355.356. 'INI CODE UPDATE REPORT/LAPORAN YANG BURUK TETAPI EFEKTIF DAN TIDAK

BIKIN SAYA PUSING HE..HE..,357. 'SAYA TULISKAN KARENA JIKA KITA BUKA LAPORAN DAN MENUTUPNYA KEMBALI

KEMUDIAN KITA MELAKUKAN PERUBAHAN358. 'PADA DATA (PENAMBAHAN ATAU PENGHAPUSAN DATA) TERNYATA JIKA KITA BUKA

KEMBALI LAPORAN359. 'MAKA DIHASILKAN LAPORAN YANG MASIH LAMA (BELUM MENGALAMI

PENAMBAHAN/PENGHAPUSAN)360. 'SEHINGGA SAYA LAKUKAN CODE DIBAWAH INI YAITU MENUTUP APLIKASI DAN

MEMANGGILNYA KEMBALI361. 'KEMUDIAN BARU LAPORAN (DATAREPORT1) DITAMPILKAN. MAAF MENGGUNAKAN

JALAN PINTAS HE..HE...BAGI YANG TAHU BAGI ILMU DONG..362.363.364. Unload Main 'MENUTUP APLIKASI365. Shell App.Path & "\KoleksiBukuku.exe" 'MEMANGGIL APLIKASI KEMBALI366. DataReport1.Show 'MENAMPILKAN LAPORAN367.368.369. Case "Ubah"370. DisableSearch371.372.373. 'membuat textbox dapat di edit/ubah374. txtJudul.Enabled = TruetxtReferensi.Enabled = True375. txtPenulis.Enabled = True

Page 9: Client Server

376. TxtCetakan.Enabled = True377. txtPenerbit.Enabled = True378.379.380. Case "Batal"381. DisableSearch382. 'disable textbox383. txtJudul.Enabled = False384. txtReferensi.Enabled = False385. txtPenulis.Enabled = False386. TxtCetakan.Enabled = False387. txtPenerbit.Enabled = False388. 'batalkan update kemudian menuju ke record pertama389. adoPrimaryRSdaftarBuku.CancelUpdate390. adoPrimaryRSdaftarBuku.MoveFirst391.392.393. Case "Update"394. DisableSearch395. With adoPrimaryRSdaftarBuku396. .Clone397. !Judul = txtJudul.Text398. !Referensi = txtReferensi.Text399. !Penulis = txtPenulis.Text400. !cetakan = TxtCetakan.Text401. !Penerbit = txtPenerbit.Text402. 'menyimpan hasil pengeditan data403. .Update404. End With405.406.407. If txtJudul.Text = "" Then408. MsgBox "Minimal Ketik Judul Bukunya dulu.", vbOKOnly, "Informasi"409. mnuitemdelete_Click410. End If411.412.413. Case "Keluar"414. 'keluar dari aplikasi415. Unload Me416. End Select417. End Sub 418. Private Sub TxtSearch_KeyPress(KeyAscii As Integer)419. KeyAscii = Asc(UCase(Chr(KeyAscii)))420. On Error Resume Next421. 'jika menekan enter422. If KeyAscii = 13 Then423. TxtSearch.SetFocus424. TxtSearch.SelStart = 0425. TxtSearch.SelLength = Len(TxtSearch.Text)426.427.428. 'jika cbosearch dipilih429. Select Case CboSearch430.431.

Page 10: Client Server

432. Case "Judul"433. 'melakukan pencarian data pd txtsearch434. adoPrimaryRSdaftarBuku.Find "Judul like '*" + TxtSearch + "*'", ,

adSearchForward, 1435.436.437. Case "Referensi"438. 'melakukan pencarian data pd txtsearch439. adoPrimaryRSdaftarBuku.Find "Referensi like '*" + TxtSearch + "*'", ,

adSearchForward, 1440.441.442. Case "Penulis"443. 'melakukan pencarian data pd txtsearch444. adoPrimaryRSdaftarBuku.Find "Penulis like '*" + TxtSearch + "*'", ,

adSearchForward, 1445.446.447. Case "Penerbit"448. 'melakukan pencarian data pd txtsearch449. adoPrimaryRSdaftarBuku.Find "Penerbit like '*" + TxtSearch + "*'", ,

adSearchForward, 1450. End Select451.452.453. 'jika data tidak ditemukan maka454. If adoPrimaryRSdaftarBuku.EOF Then455. MsgBox "Data yang anda cari tidak ditemukan",vbOKOnly + vbCritical,

"Search"456. adoPrimaryRSdaftarBuku.MoveFirst457. TxtSearch.Text = ""458. TxtSearch.SetFocus459. End If460. End If461. On Error GoTo 0462. End Sub 463. Letakan kode di bawah ini di Data environment1 464.465. Private Sub DataEnvironment_Initialize()466. 'Selalu terkoneksi dengan database "Daftar Buku.mdb" asalkan masih

dalam satu folder dengan aplikasi.467. 'Akibat jika anda lupa tdk menulis kode di bawah ini adalah468. '- muncul pesan untuk memasukan alamat yang benar database pada saat

akan melihat laporan/report,469. 'pesan ini muncul karena anda membuat folder baru untuk meletakkan

project sehingga alamat tdk ditemukan470. 'untuk latihan jangan tulis kode di bawah ini tetapi melalui

Dataenvironment1 klik kanan properties471. 'pilih alamat file database "Daftar Buku.mdb". Kemudian coba jalankan

aplikasi dan472. 'pilih laporan maka laporan akan terlihat. Sekarang keluar dari VB dan

pindahkan folder project anda473. 'ke sembarang (alamat baru), jalankan aplikasi database masih

terkoneksi474. 'tetapi pada saat ingin melihat laporan akan muncul pesan error.475.

Page 11: Client Server

476.477. DataEnvironment1.DaftarBuku.ConnectionString = App.Path & "\Daftar

Buku.mdb"478.479.480. End Sub