-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNASABAH.frm
More file actions
340 lines (321 loc) · 9.57 KB
/
NASABAH.frm
File metadata and controls
340 lines (321 loc) · 9.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
VERSION 5.00
Begin VB.Form NASABAH
Caption = "DATA NASABAH"
ClientHeight = 2160
ClientLeft = 60
ClientTop = 450
ClientWidth = 4590
LinkTopic = "Form1"
ScaleHeight = 2160
ScaleWidth = 4590
StartUpPosition = 2 'CenterScreen
Begin VB.ComboBox Combo1
Height = 315
Left = 1440
TabIndex = 10
Text = "Combo1"
Top = 120
Width = 3000
End
Begin VB.CommandButton CmdTutup
Caption = "&Tutup"
Height = 350
Left = 2760
TabIndex = 9
Top = 1680
Width = 1250
End
Begin VB.CommandButton CmdEdit
Caption = "Edit"
Height = 350
Left = 1440
TabIndex = 8
Top = 1680
Width = 1250
End
Begin VB.CommandButton CmdInput
Caption = "&Input"
Height = 350
Left = 120
TabIndex = 7
Top = 1680
Width = 1250
End
Begin VB.TextBox Text3
Height = 350
Left = 1440
TabIndex = 6
Top = 1200
Width = 3000
End
Begin VB.TextBox Text2
Height = 350
Left = 1440
TabIndex = 5
Top = 840
Width = 3000
End
Begin VB.TextBox Text1
Height = 350
Left = 1440
TabIndex = 4
Top = 480
Width = 3000
End
Begin VB.Label Label4
BorderStyle = 1 'Fixed Single
Caption = " Telepon"
Height = 345
Left = 120
TabIndex = 3
Top = 1200
Width = 1245
End
Begin VB.Label Label3
BorderStyle = 1 'Fixed Single
Caption = " Alamat"
Height = 345
Left = 120
TabIndex = 2
Top = 840
Width = 1245
End
Begin VB.Label Label2
BorderStyle = 1 'Fixed Single
Caption = " Nama"
Height = 345
Left = 120
TabIndex = 1
Top = 480
Width = 1245
End
Begin VB.Label Label1
BorderStyle = 1 'Fixed Single
Caption = " Kode"
Height = 345
Left = 120
TabIndex = 0
Top = 120
Width = 1245
End
End
Attribute VB_Name = "NASABAH"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Activate()
'buka database yang telah didefinisikan dalam modul
Call BukaDB
End Sub
Sub Form_Load()
'panggil prosedur kondisiawal
KondisiAwal
End Sub
Private Sub KondisiAwal()
Form_Activate
KosongkanText
TidakSiapIsi
CmdInput.Caption = "&Input"
CmdEdit.Caption = "&Edit"
CmdTutup.Caption = "&Tutup"
CmdInput.Enabled = True
CmdEdit.Enabled = True
End Sub
'buat prosedur pencarian data nasabah
Function CariData()
Call BukaDB
RSNasabah.Open "Select * From Nasabah where Kode_Nsb='" & Combo1 & "'", Conn
End Function
'nomor nasabah otomatis
Private Sub AutoKode_Nsb()
Call BukaDB
RSNasabah.Open "select * from Nasabah Where Kode_Nsb In(Select Max(Kode_Nsb)From Nasabah)Order By Kode_Nsb Desc", Conn
RSNasabah.Requery
Dim Urutan As String * 12
Dim Hitung As Long
With RSNasabah
If .EOF Then
Urutan = "NSB" + Format(Date, "YY") + Format(Date, "MM") + Format(Date, "DD") + "001"
Else
If Mid(!Kode_Nsb, 4, 6) <> Format(Date, "YY") + Format(Date, "MM") + Format(Date, "DD") Then
Urutan = "NSB" + Format(Date, "YY") + Format(Date, "MM") + Format(Date, "DD") + "001"
Else
Hitung = Right(!Kode_Nsb, 3) + 1
Urutan = "NSB" + Format(Date, "YY") + Format(Date, "MM") + Format(Date, "DD") + Right("000" & Hitung, 3)
End If
End If
Combo1 = Urutan
End With
End Sub
'pada saat combo1 diklik
Private Sub Combo1_Click()
'cari data
Call CariData
'jika ditemukan tampilkan datanya
'dengan memanggil prosedur tampilkandata
Call TampilkanData
End Sub
Private Sub TampilkanData()
Text1 = RSNasabah!Nama_Nsb
Text2 = RSNasabah!Alamat_Nsb
Text3 = RSNasabah!Telepon_Nsb
End Sub
Private Sub KosongkanText()
Combo1 = ""
Text1 = ""
Text2 = ""
Text3 = ""
End Sub
Private Sub SiapIsi()
Combo1.Enabled = True
Text1.Enabled = True
Text2.Enabled = True
Text3.Enabled = True
End Sub
Private Sub TidakSiapIsi()
Combo1.Enabled = False
Text1.Enabled = False
Text2.Enabled = False
Text3.Enabled = False
End Sub
'pada saat cmdinput diklik, maka
Private Sub CmdInput_Click()
'jika cmdinput captionya "Input" maka
If CmdInput.Caption = "&Input" Then
'atur caption masing-masing command
CmdInput.Caption = "&Simpan"
CmdEdit.Enabled = False
CmdTutup.Caption = "&Batal"
'semua textbox dan combo daat dimasuki kursor
SiapIsi
KosongkanText
Combo1.SetFocus
'panggil nomor nasabah otomatis
Call AutoKode_Nsb
'matikan combo1 agar nomor nsabah tidak dapat diubah
Combo1.Enabled = False
'kursor ke text1 (nama nasabah)
Text1.SetFocus
Else
'jika masih ada data yg kosong maka..
If Combo1 = "" Or Text1 = "" Or Text2 = "" Or Text3 = "" Then
'tampilkan pesan
MsgBox "Data Belum Lengkap...!"
Else
'jika semua data telah diisi, maka simpan data
Dim SQLTambah As String
SQLTambah = "Insert Into Nasabah (Kode_Nsb,Nama_Nsb,Alamat_Nsb,Telepon_Nsb) values ('" & Combo1 & "','" & Text1 & "','" & Text2 & "','" & Text3 & "')"
Conn.Execute SQLTambah
Form_Activate
'kembali ke kondisi awal
Call KondisiAwal
End If
End If
End Sub
'pola program di command edit hampir sama dengan
'program di command input. bedanya hanya mengedit (update) saja
Private Sub CmdEdit_Click()
If CmdEdit.Caption = "&Edit" Then
CmdInput.Enabled = False
CmdEdit.Caption = "&Simpan"
CmdTutup.Caption = "&Batal"
SiapIsi
'buka database
Call BukaDB
'tampilkan kode nasabah di combo
RSNasabah.Open "select * from nasabah", Conn
Combo1.Clear
Do While Not RSNasabah.EOF
Combo1.AddItem RSNasabah!Kode_Nsb
RSNasabah.MoveNext
Loop
Combo1.SetFocus
Else
'jika masih ada data yg kosong...
If Text1 = "" Or Text2 = "" Or Text3 = "" Then
'tampilkan pesan
MsgBox "Masih Ada Data Yang Kosong"
Else
'jika semua data telah diisi, maka update data
Dim SQLEdit As String
SQLEdit = "Update Nasabah Set Nama_Nsb= '" & Text1 & "', Alamat_Nsb='" & Text2 & "',Telepon_Nsb='" & Text3 & "' where Kode_Nsb='" & Combo1 & "'"
Conn.Execute SQLEdit
Form_Activate
Call KondisiAwal
End If
End If
End Sub
'command tutup bekerja berdasarkan kondisi captionya
Private Sub CmdTutup_Click()
Select Case CmdTutup.Caption
Case "&Tutup"
Unload Me
Case "&Batal"
TidakSiapIsi
KondisiAwal
End Select
End Sub
'jika menekan enter setelah memilih data di combo, maka
Private Sub Combo1_KeyPress(Keyascii As Integer)
Keyascii = Asc(UCase(Chr(Keyascii)))
If Keyascii = 13 Then
'jika saat itu cmdinput captionya simpan maka...
If CmdInput.Caption = "&Simpan" Then
'cari data nasabah
Call CariData
'jika ditemukan
If Not RSNasabah.EOF Then
'tampilkan datanya
TampilkanData
'munculkan pesan
MsgBox "Kode_Nsb Nasabah Sudah Ada"
KosongkanText
Combo1.SetFocus
Else
'jika tidak ditemukan, lanjutkan mengisi nama nasabah
Text1.SetFocus
End If
End If
'jika saat itu cmdedit captionnya simpan, maka
If CmdEdit.Caption = "&Simpan" Then
'cari data
Call CariData
'jika ditemukan
If Not RSNasabah.EOF Then
'tampilkan datanya
TampilkanData
'matikan combo
Combo1.Enabled = False
'ganti nama nasabah
Text1.SetFocus
Else
'jika tidak ditemukan, munculkan pesan
MsgBox "Kode Nasabah Tidak Ada"
Combo1 = ""
Combo1.SetFocus
End If
End If
End If
End Sub
Private Sub Text1_KeyPress(Keyascii As Integer)
'ubah huruf jadi besar semua
Keyascii = Asc(UCase(Chr(Keyascii)))
'jika menekan enter kursor pindah ke text2
If Keyascii = 13 Then Text2.SetFocus
End Sub
Private Sub Text2_KeyPress(Keyascii As Integer)
Keyascii = Asc(UCase(Chr(Keyascii)))
If Keyascii = 13 Then Text3.SetFocus
End Sub
Private Sub Text3_KeyPress(Keyascii As Integer)
If Keyascii = 13 Then
If CmdInput.Enabled = True Then
CmdInput.SetFocus
ElseIf CmdEdit.Enabled = True Then
CmdEdit.SetFocus
End If
End If
'no telepon hanya dapat diisi angka
If Not (Keyascii >= Asc("0") And Keyascii <= Asc("9") Or Keyascii = vbKeyBack) Then Keyascii = 0
End Sub