- Beranda
- Komunitas
- Tech
- Programmer Forum
gan tolong bantu kira-kira erornya dimana[VB.net]
TS
RhedylRobotl3st
gan tolong bantu kira-kira erornya dimana[VB.net]
selamat malam agan2 semua, sebelumnya udah 1 hari full kepala ane agak gondrong mikirin bug ini gan pada tiap objek udah ane definisikan,
apa mungkin erornya karena Refferencenya ada yang missing?
berikut sourcenya gan
jika berkenaan mohon dibantu ya gan
thankyou.
apa mungkin erornya karena Refferencenya ada yang missing?
Quote:
berikut sourcenya gan
Code:
Imports System.Data.OleDb
Imports System.Security.Cryptography
Imports System.Text
Public Class DataKaryawan
Dim rdr As OleDbDataReader = Nothing
Dim dtable As New DataTable
Dim con As OleDbConnection = Nothing
Dim adp As OleDbDataAdapter
Dim ds As DataSet
Dim cmd As OleDbCommand = Nothing
Dim dt As New DataTable
Dim cs As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\ckt.accdb;Persist Security Info=False;"
Private Sub DataKaryawan_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
MenuUtama.Show()
End Sub
Public Sub AutoGenerate()
nik.Text = "E-" & GetUniqueKey(6)
End Sub
Public Shared Function GetUniqueKey(ByVal maxSize As Integer) As String
Dim chars As Char() = New Char(61) {}
chars = "123456789".ToCharArray()
Dim data As Byte() = New Byte(0) {}
Dim crypto As New RNGCryptoServiceProvider()
crypto.GetNonZeroBytes(data)
data = New Byte(maxSize - 1) {}
crypto.GetNonZeroBytes(data)
Dim result As New StringBuilder(maxSize)
For Each b As Byte In data
result.Append(chars(b Mod (chars.Length)))
Next
Return result.ToString()
End Function
Sub Reset()
nik.Text = ""
norek.Text = ""
nama.Text = ""
Alamat.Text = ""
Contact.Text = ""
Email.Text = ""
cmbjabatan.Text = ""
Department.Text = ""
TanggalMasuk.Text = Today
Gaji.Text = ""
pendidikan.Text = ""
JamKerja.Text = ""
Update_Record.Enabled = False
Delete.Enabled = False
Save.Enabled = True
nama.Focus()
End Sub
Private Sub NewRecord_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewRecord.Click
Reset()
End Sub
Private Sub Save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Save.Click
If Len(Trim(nama.Text)) = 0 Then
MessageBox.Show("Silahkan Masukan Nama Karyawan Terlebih Dahulu", "Data Bisa Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
nama.Focus()
Exit Sub
End If
If Len(Trim(Alamat.Text)) = 0 Then
MessageBox.Show("Silahkan Masukan Alamatnya", "Data Bisa Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Alamat.Focus()
Exit Sub
End If
If Len(Trim(Contact.Text)) = 0 Then
MessageBox.Show("Silahkan Masukan Nomer Telepon.", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Contact.Focus()
Exit Sub
End If
If Len(Trim(Department.Text)) = 0 Then
MessageBox.Show("Pilih Departemenya", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Department.Focus()
Exit Sub
End If
If Len(Trim(cmbjabatan.Text)) = 0 Then
MessageBox.Show("Silahkan Pilih Jabatan", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
cmbjabatan.Focus()
Exit Sub
End If
If Len(Trim(Gaji.Text)) = 0 Then
MessageBox.Show("Masukan Gaji Pokok", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Gaji.Focus()
Exit Sub
End If
If Len(Trim(JamKerja.Text)) = 0 Then
MessageBox.Show("Silahkan Input Jam Kerja", "Input Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
JamKerja.Focus()
Exit Sub
End If
Try
AutoGenerate()
con = New OleDbConnection(cs)
con.Open()
Dim cb As String = "insert into datakaryawan (nik,nama,alamat,contact,email,departemen,jabatan,tanggal_masuk,gaji,jam_kerja,norek,pendidikan) VALUES (@d1,@d2,@d3,@d4,@d5,@d6,@d7,@d8,@d9,@d10,@d11,@d12)"
cmd = New OleDbCommand(cb)
cmd.Connection = con
cmd.Parameters.Add(New OleDbParameter("@d1", OleDbType.VarChar, 30, "nik"))
cmd.Parameters.Add(New OleDbParameter("@d2", OleDbType.VarChar, 100, "nama"))
cmd.Parameters.Add(New OleDbParameter("@d3", OleDbType.VarChar, 200, "alamat"))
cmd.Parameters.Add(New OleDbParameter("@d4", OleDbType.VarChar, 12, "contact"))
cmd.Parameters.Add(New OleDbParameter("@d5", OleDbType.VarChar, 60, "email"))
cmd.Parameters.Add(New OleDbParameter("@d6", OleDbType.VarChar, 10, "departemen"))
cmd.Parameters.Add(New OleDbParameter("@d7", OleDbType.VarChar, 60, "jabatan"))
cmd.Parameters.Add(New OleDbParameter("@d8", OleDbType.VarChar, 60, "tanggal_masuk"))
cmd.Parameters.Add(New OleDbParameter("@d9", OleDbType.VarChar, 30, "gaji"))
cmd.Parameters.Add(New OleDbParameter("@d10", OleDbType.VarChar, 10, "jam_kerja"))
cmd.Parameters.Add(New OleDbParameter("@d11", OleDbType.VarChar, 18, "norek"))
cmd.Parameters.Add(New OleDbParameter("@d12", OleDbType.VarChar, 10, "pendidikan"))
cmd.Parameters("@d1").Value = nik.Text
cmd.Parameters("@d2").Value = nama.Text
cmd.Parameters("@d3").Value = Alamat.Text
cmd.Parameters("@d4").Value = Contact.Text
cmd.Parameters("@d5").Value = email.Text
cmd.Parameters("@d6").Value = Department.Text
cmd.Parameters("@d7").Value = cmbjabatan.Text
cmd.Parameters("@d8").Value = TanggalMasuk.Text
cmd.Parameters("@d9").Value = Gaji.Text
cmd.Parameters("@d10").Value = JamKerja.Text
cmd.Parameters("@d11").Value = norek.Text
cmd.Parameters("@d12").Value = cmbjabatan.Text
cmd.ExecuteReader()
MessageBox.Show("Data Tersimpan", "Data Karyawan", MessageBoxButtons.OK, MessageBoxIcon.Information)
Save.Enabled = False
Filldepartment()
Fillcmbjabatan()
nik.Focus()
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Sub Filldepartment()
Try
Dim CN As New oledbConnection(cs)
CN.Open()
adp = New oledbDataAdapter()
adp.SelectCommand = New OleDbCommand("SELECT distinct (departemen) FROM datakaryawan", CN)
ds = New DataSet("ds")
adp.Fill(ds)
dtable = ds.Tables(0)
Department.Items.Clear()
For Each drow As DataRow In dtable.Rows
Department.Items.Add(drow(0).ToString())
Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Sub Fillcmbjabatan()
Try
Dim CN As New OleDbConnection(cs)
CN.Open()
adp = New OleDbDataAdapter()
adp.SelectCommand = New OleDbCommand("SELECT distinct (jabatan) FROM datakaryawan", CN)
ds = New DataSet("ds")
adp.Fill(ds)
dtable = ds.Tables(0)
cmbjabatan.Items.Clear()
For Each drow As DataRow In dtable.Rows
cmbjabatan.Items.Add(drow(0).ToString())
Next
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub DataKaryawan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Filldepartment()
Fillcmbjabatan()
End Sub
Private Sub Delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Delete.Click
Try
If MsgBox("Apakah Anda Yakin Akan Menghapus Data ini..?", MsgBoxStyle.YesNo Or MsgBoxStyle.Question) = MsgBoxResult.Yes Then
delete_records()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub delete_records()
Try
con = New oledbConnection(cs)
con.Open()
Dim ct As String = "select nik from datakaryawan where nik=@find"
cmd = New oledbCommand(ct)
cmd.Connection = con
cmd.Parameters.Add(New OleDbParameter("@find", OleDbType.VarChar, 30, "nik"))
cmd.Parameters("@find").Value = nik.Text
rdr = cmd.ExecuteReader()
If rdr.Read Then
MessageBox.Show("Data Tidak Dapat DIhapus..", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Reset()
If Not rdr Is Nothing Then
rdr.Close()
End If
Exit Sub
End If
con = New OleDbConnection(cs)
con.Open()
Dim ct2 As String = "select nik from gajikaryawan where nik=@find"
cmd = New oledbCommand(ct2)
cmd.Connection = con
cmd.Parameters.Add(New OleDbParameter("@find", OleDbType.VarChar, 30, "nik"))
cmd.Parameters("@find").Value = nik.Text
rdr = cmd.ExecuteReader()
If rdr.Read Then
MessageBox.Show("Data Tidak Dapat Dihapus..sedang digunakan", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Reset()
If Not rdr Is Nothing Then
rdr.Close()
End If
Exit Sub
End If
con = New OleDbConnection(cs)
con.Open()
Dim ct1 As String = "select nik from datakaryawan where nik=@find"
cmd = New OleDbCommand(ct1)
cmd.Connection = con
cmd.Parameters.Add(New OleDbParameter("@find", OleDbType.VarChar, 30, "nik"))
cmd.Parameters("@find").Value = nik.Text
rdr = cmd.ExecuteReader()
If rdr.Read Then
MessageBox.Show("Data Tidak Dapat Dihapus..Already in use", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Reset()
If Not rdr Is Nothing Then
rdr.Close()
End If
Exit Sub
End If
Dim RowsAffected As Integer = 0
con = New OleDbConnection(cs)
con.Open()
Dim cq As String = "delete from datakaryawan where nik=@DELETE1;"
cmd = New OleDbCommand(cq)
cmd.Connection = con
cmd.Parameters.Add(New OleDbParameter("@DELETE1", OleDbType.VarChar, 30, "nik"))
cmd.Parameters("@DELETE1").Value = Trim(nik.Text)
RowsAffected = cmd.ExecuteNonQuery()
If RowsAffected > 0 Then
MessageBox.Show("Data telah terhapus", "Record", MessageBoxButtons.OK, MessageBoxIcon.Information)
Filldepartment()
Fillcmbjabatan()
Reset()
nik.Focus()
Update_Record.Enabled = False
Delete.Enabled = False
Else
MessageBox.Show("Record tidak dapat ditemukan", "Sorry", MessageBoxButtons.OK, MessageBoxIcon.Information)
Reset()
If con.State = ConnectionState.Open Then
con.Close()
End If
con.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub Department_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Department.TextChanged
Dim selectionStart As Integer = Me.Department.SelectionStart
Me.Department.Text = Me.Department.Text.ToUpper()
Me.Department.SelectionStart = selectionStart
End Sub
Private Sub cmbjabatan_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmbjabatan.TextChanged
Dim selectionStart As Integer = Me.cmbjabatan.SelectionStart
Me.cmbjabatan.Text = Me.cmbjabatan.Text.ToUpper()
Me.cmbjabatan.SelectionStart = selectionStart
End Sub
Private Sub nama_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles nama.KeyPress
If (Microsoft.VisualBasic.Asc(e.KeyChar) < 65) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 90) _
And (Microsoft.VisualBasic.Asc(e.KeyChar) < 97) _
Or (Microsoft.VisualBasic.Asc(e.KeyChar) > 122) Then
'space accepted
If (Microsoft.VisualBasic.Asc(e.KeyChar) <> 32) Then
e.Handled = True
End If
End If
If (Microsoft.VisualBasic.Asc(e.KeyChar) = 8) Then
e.Handled = False
End If
End Sub
Private Sub Email_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles email.Validating
Dim rEMail As New System.Text.RegularExpressions.Regex("^[a-zA-Z][\w\.-]{2,28}[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$")
If Email.Text.Length > 0 Then
If Not rEMail.IsMatch(Email.Text) Then
MessageBox.Show("Emmail yang anda masukan salah", "Error", MessageBoxButtons.OK, MessageBoxIcon.[Error])
Email.SelectAll()
e.Cancel = True
End If
End If
End Sub
Private Sub nik_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim selectionStart As Integer = Me.nik.SelectionStart
Me.nik.Text = Me.nik.Text.ToUpper()
Me.nik.SelectionStart = selectionStart
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RecordKaryawan.DataGridView1.DataSource = Nothing
RecordKaryawan.namakaryawan.Text = ""
RecordKaryawan.DataGridView2.DataSource = Nothing
RecordKaryawan.DateFrom.Value = Today
RecordKaryawan.DateTo.Value = Today
RecordKaryawan.DataGridView3.DataSource = Nothing
RecordKaryawan.ShowDialog()
End Sub
End Class
jika berkenaan mohon dibantu ya gan
thankyou.
0
1.1K
5
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Urutan
Terbaru
Terlama
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan