Form Pemasok
Interface
Listing Program
Dim koneksi As ADODB.Connection Dim rsPemasok As ADODB.Recordset Dim cari As String
Sub Koneksi_Database()
Set koneksi = New ADODB.Connection
koneksi.CursorLocation = adUseClient
koneksi.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Data Youmun\Abi Punya\Jayanusa\Bahasa Pemograman-I\STMIK_09\Penjualan.mdb;Persist Security Info=False"
If Not koneksi.State = adStateOpen Then
MsgBox "Tidak dapat membuat hubungan ke database" End If
End Sub
Sub Koneksi_Recordset()
Set rsPemasok = New ADODB.Recordset sql = "Select * from Pemasok" With rsPemasok .ActiveConnection = koneksi .CursorLocation = adUseClient .CursorType = adOpenDynamic .LockType = adLockBatchOptimistic .Source = sql .Open End With
Koneksi_Recordset End Sub
1
================================= Private Sub cmdKeluar_Click()Unload Me End Sub
Private Sub cmdTambah_Click() AktifkanTextBox bersih_txt txtPemasokID.SetFocus cmdBatal.Enabled = True cmdSimpan.Enabled = True cmdKeluar.Enabled = False cmdTambah.Enabled = False cmdEdit.Enabled = False cmdHapus.Enabled = False frmNavigator.Enabled = False End Sub Sub AktifkanTextBox() txtPemasokID.Enabled = True txtPemasokNama.Enabled = True txtPemasokKontak.Enabled = True txtPemasokAlamat.Enabled = True txtPemasokKota.Enabled = True txtPemasokTelpon.Enabled = True End Sub Sub TidakAktifkanTextBox() txtPemasokID.Enabled = False txtPemasokNama.Enabled = False txtPemasokKontak.Enabled = False txtPemasokAlamat.Enabled = False txtPemasokKota.Enabled = False txtPemasokTelpon.Enabled = False End Sub Sub bersih_txt() txtPemasokID.Text = "" txtPemasokNama.Text = "" txtPemasokKontak.Text = "" txtPemasokAlamat.Text = "" txtPemasokKota.Text = "" txtPemasokTelpon.Text = "" End Sub
Private Sub cmdBatal_Click() bersih_txt TidakAktifkanTextBox cmdBatal.Enabled = False cmdSimpan.Enabled = False cmdKeluar.Enabled = True cmdTambah.Enabled = True cmdEdit.Enabled = True cmdEdit.Caption = "&Edit" cmdHapus.Enabled = True cmdTambah.SetFocus frmNavigator.Enabled = True End Sub
2
================================= Private Sub txtPemasokID_KeyPress(KeyAscii As Integer)KeyAscii = Asc(UCase(Chr(KeyAscii))) If KeyAscii = 13 Then CekPemasok End If End Sub Sub CekPemasok() If Len(txtPemasokID.Text) > 5 Then
MsgBox "Masukkan Pemasok IDMaximal 5 Digit" & vbNewLine & "Misalnya: SU001", vbExclamation, "Pesan"
txtPemasokID.Text = "" txtPemasokID.SetFocus
ElseIf Len(txtPemasokID.Text) = 0 Then
MsgBox "Masukkan dulu Pemasok ID-nya" & vbNewLine & "Misalnya: SU001", vbExclamation, "Pesan"
txtPemasokID.Text = "" txtPemasokID.SetFocus
ElseIf Len(txtPemasokID.Text) < 5 Then
MsgBox "Masukkan Pemasok ID-nya Minimal 5 Digit" & vbNewLine & "Misalnya: SU001", vbExclamation, "Pesan"
txtPemasokID.Text = "" txtPemasokID.SetFocus Else
Set rsPemasok = koneksi.Execute("Select * " & _
"From pemasok Where PemasokID = '" & txtPemasokID.Text & "'")
With rsPemasok If .EOF Then
txtPemasokNama.SetFocus Else
MsgBox "Pemasok ID ini Sudah Ada ...!" & Chr(13) & "Coba Ulangi Lagi", vbExclamation, "Pesan" TampilData TidakAktifkanTextBox cmdBatal.Enabled = False cmdSimpan.Enabled = False cmdKeluar.Enabled = True cmdTambah.Enabled = True cmdEdit.Enabled = True cmdEdit.Caption = "&Edit" cmdHapus.Enabled = True cmdTambah.SetFocus End If End With End If End Sub Sub TampilData()
On Error GoTo salah With rsPemasok txtPemasokID.Text = .Fields("PemasokID") txtPemasokNama.Text = .Fields("PemasokNama") txtPemasokKontak.Text = .Fields("PemasokKontak") txtPemasokAlamat.Text = .Fields("PemasokAlamat") txtPemasokKota.Text = .Fields("PemasokKota") txtPemasokTelpon.Text = .Fields("PemasokTelpon") End With DataGrid1.Refresh salah: End Sub
Private Sub txtPemasokNama_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If txtPemasokNama.Text = "" Then
MsgBox "Isikan dulu nama pemasok donk ...!", 64, "Perintah" txtPemasokNama.SetFocus Else txtPemasokKontak.SetFocus End If End If End Sub
Private Sub txtPemasokKontak_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If txtPemasokKontak.Text = "" Then
MsgBox "Isikan dulu kontak pemasok donk ...!", 64, "Perintah" txtPemasokKontak.SetFocus Else txtPemasokAlamat.SetFocus End If End If End Sub
Private Sub txtPemasokAlamat_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If txtPemasokAlamat.Text = "" Then
MsgBox "Isikan dulu alamat pemasoknya donk ...!", 64, "Perintah" txtPemasokAlamat.SetFocus Else txtPemasokKota.SetFocus End If End If End Sub
Private Sub txtPemasokKota_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then
If txtPemasokKota.Text = "" Then
MsgBox "Isikan dulu kota pemasoknya donk ...!", 64, "Perintah" txtPemasokKota.SetFocus Else txtPemasokTelpon.SetFocus End If End If End Sub
Private Sub txtPemasokTelpon_KeyPress(KeyAscii As Integer)
If Not (KeyAscii >= ("0") And KeyAscii <= Asc("9") Or KeyAscii = vbKeyBack) Then Beep
KeyAscii = 0
MsgBox "Harus angka donk ...." txtPemasokTelpon.SetFocus End If
If KeyAscii = 13 Then
If cmdSimpan.Enabled = True Then cmdSimpan.SetFocus
ElseIf cmdSimpan.Enabled = False Then cmdEdit.SetFocus
End If End If End Sub
4
================================= Private Sub cmdSimpan_Click()If txtPemasokID.Text = "" Then
MsgBox "Isikan dulu Pemasok ID-nyo donk ...", 0 + 64, "Pesan" txtPemasokID.SetFocus
ElseIf txtPemasokNama.Text = "" Then
MsgBox "Isikan dulu Nama Pemasok donk ...", 0 + 64, "Pesan" txtPemasokNama.SetFocus
ElseIf txtPemasokKontak.Text = "" Then
MsgBox "Isikan dulu Kontak Pemasok-nya donk ...", 0 + 64, "Pesan" txtPemasokKontak.SetFocus
ElseIf txtPemasokAlamat.Text = "" Then
MsgBox "Isikan dulu Alamat Pemasok donk ...", 0 + 64, "Pesan" txtPemasokAlamat.SetFocus
ElseIf txtPemasokKota.Text = "" Then
MsgBox "Isikan dulu Alamat Pemasok donk ...", 0 + 64, "Pesan" txtPemasokKota.SetFocus
Else
Dim pesan As Byte
pesan = MsgBox("Apakah datanya sudah benar dan mau disimpan", _ vbOKCancel + vbExclamation, "Pesan")
If pesan = vbOK Then SimpanData bersih_txt TidakAktifkanTextBox frmNavigator.Enabled = True cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdKeluar.Enabled = True cmdTambah.Enabled = True cmdEdit.Enabled = True cmdHapus.Enabled = True cmdTambah.SetFocus Else bersih_txt TidakAktifkanTextBox cmdKeluar.Enabled = True cmdTambah.Enabled = True cmdBatal.Enabled = False cmdSimpan.Enabled = False cmdEdit.Enabled = True cmdEdit.Caption = "&Edit" cmdHapus.Enabled = True cmdTambah.SetFocus End If End If End Sub Sub SimpanData() koneksi.BeginTrans
Set rsPemasok = koneksi.Execute("Insert into Pemasok (PemasokID, " & _ "PemasokNama, PemasokKontak, PemasokAlamat, PemasokKota, " & _ "PemasokTelpon) " & _
"values('" & txtPemasokID.Text & "', '" & txtPemasokNama.Text & _ "', '" & txtPemasokKontak.Text & "', '" & txtPemasokAlamat.Text & _ "', '" & txtPemasokKota.Text & "', '" & txtPemasokTelpon.Text & "')") koneksi.CommitTrans
Set rsPemasok = koneksi.Execute("Pemasok") Set DataGrid1.DataSource = rsPemasok DataGrid1.Refresh
Private Sub cmdEdit_Click()
If cmdEdit.Caption = "&Edit" Then Dim X As String
X = InputBox("Masukkan Pemasok ID-nya", "Pesan") If X = "" Then
MsgBox "Masukkan dulu Pemasok-nya ...!" Exit Sub
End If
Set rsPemasok = koneksi.Execute("Select * " & _
"From Pemasok Where PemasokID = '" & X & "'") With rsPemasok
If .EOF Then
MsgBox "Pemasok ID ini Belum Ada ...!" & Chr(13) & _ "Coba Ulangi Lagi", vbExclamation, "Pesan" Exit Sub cmdTambah.SetFocus End If TampilData AktifkanTextBox cmdTambah.Enabled = False cmdSimpan.Enabled = False cmdBatal.Enabled = True cmdEdit.Caption = "&Ubah" cmdHapus.Enabled = False cmdKeluar.Enabled = False txtPemasokID.Enabled = False txtPemasokNama.SetFocus End With
ElseIf cmdEdit.Caption = "&Ubah" Then UpdateData bersih_txt TidakAktifkanTextBox cmdTambah.Enabled = True cmdBatal.Enabled = False cmdSimpan.Enabled = False cmdEdit.Enabled = True cmdEdit.Caption = "&Edit" cmdHapus.Enabled = True cmdKeluar.Enabled = True End If End Sub Sub UpdateData() If txtPemasokNama.Text = "" Then
MsgBox "Isikan dulu Nama Pemasok donk ...", 0 + 64, "Pesan" txtPemasokNama.SetFocus
ElseIf txtPemasokKontak.Text = "" Then
MsgBox "Isikan dulu Kontak Pemasok-nya donk ...", 0 + 64, "Pesan" txtPemasokKontak.SetFocus
ElseIf txtPemasokAlamat.Text = "" Then
MsgBox "Isikan dulu Alamat Pemasok donk ...", 0 + 64, "Pesan" txtPemasokAlamat.SetFocus
ElseIf txtPemasokKota.Text = "" Then
MsgBox "Isikan dulu Alamat Pemasok donk ...", 0 + 64, "Pesan" txtPemasokKota.SetFocus
Else
koneksi.BeginTrans
Set rsPemasok = koneksi.Execute("Update Pemasok " & _ "set PemasokNama = '" & txtPemasokNama.Text & _ "', PemasokKontak = '" & txtPemasokKontak.Text & _
"', PemasokAlamat = '" & txtPemasokAlamat.Text & _ "', PemasokKota = '" & txtPemasokKota.Text & _ "', PemasokTelpon = '" & txtPemasokTelpon.Text & _ "' Where PemasokID Like '" & txtPemasokID.Text & "'") koneksi.CommitTrans
End If
Set rsPemasok = koneksi.Execute("Pemasok") Set DataGrid1.DataSource = rsPemasok DataGrid1.Refresh
End Sub
6
================================= Private Sub cmdHapus_Click()Dim X As String
X = InputBox("Masukkan Pemasok ID-nya", "Pesan") If X = "" Then
MsgBox "Masukkan dulu Pemasok ID-nya ...!" Exit Sub
End If
Set rsPemasok = koneksi.Execute("Select * " & _
"From Pemasok Where PemasokID = '" & X & "'") With rsPemasok
If .EOF Then
MsgBox "Pemasok ID ini Belum Ada ...!" & Chr(13) & _ "Coba Ulangi Lagi", vbExclamation, "Pesan" Exit Sub
cmdTambah.SetFocus Else
TampilData Dim Y As Byte
Y = MsgBox("Betul Mau Dihapus?", vbOKCancel, "Menghapus Record") If Y = vbOK Then
koneksi.BeginTrans
Set rsPemasok = koneksi.Execute("Delete from Pemasok " & _ "Where PemasokID Like '" & txtPemasokID.Text & "'") koneksi.CommitTrans
Set rsPemasok = koneksi.Execute("Pemasok") Set DataGrid1.DataSource = rsPemasok DataGrid1.Refresh
bersih_txt
ElseIf Y = vbCancel Then bersih_txt TidakAktifkanTextBox cmdTambah.Enabled = True cmdSimpan.Enabled = False cmdBatal.Enabled = False cmdEdit.Enabled = True cmdEdit.Caption = "&Edit" cmdHapus.Enabled = True cmdKeluar.Enabled = True cmdTambah.SetFocus End If End If End With End Sub
rsPemasok.MoveFirst TampilData
End Sub
Private Sub cmdPrev_Click() If rsPemasok.BOF Then rsPemasok.MoveFirst Exit Sub Else rsPemasok.MovePrevious End If TampilData End Sub
Private Sub cmdNext_Click() If rsPemasok.EOF Then rsPemasok.MoveLast Exit Sub Else rsPemasok.MoveNext End If TampilData End Sub
Private Sub cmdLast_Click() rsPemasok.MoveLast TampilData
End Sub
Lb. Buaya, 2 November 2009