RhedylRobotl3stAvatar border
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?
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
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Urutan
Terbaru
Terlama
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Komunitas Pilihan