Public Class Invoice
Dim baris, kolom, Hargasatuan As Integer
Dim kodebrg, namabrg, statusheader As String
Private Sub Invoice_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call koneksi()
Call isicombo1()
Call isicombo2()
Call settingdatagrid()
Call tampilkan_detail_Inv()
'Call tampil_dInvoice()
End Sub
Private Sub simpandata()
If Trim(TextBox1.Text) = "" Then Exit Sub
If Trim(TextBox2.Text) = "" Then Exit Sub
If Trim(ComboBox1.Text) = "" Then Exit Sub
If Trim(ComboBox2.Text) = "" Then Exit Sub
If Trim(TextBox3.Text) = "" Then Exit Sub
If Trim(TextBox5.Text) = "" Then Exit Sub
If Trim(TextBox6.Text) = "" Then Exit Sub
If Add.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "insert into Invoice_H(noInvo,tglInvo,noSO,kdcust,kdcarabyr,jnstransaksi,ppn,total,tglentry,useridd) values ('" & Trim(TextBox1.Text) & "', '" & DateTimePicker1.Value & "','" & Microsoft.VisualBasic.Left(ComboBox1.Text, 4) & "','" & TextBox2.Text & "','" & Microsoft.VisualBasic.Left(ComboBox2.Text, 2) & "','" & TextBox3.Text & "'," & Val(TextBox7.Text) & "," & Val(TextBox5.Text) & ",'" & tglskg & "', '" & nmorang & "' )"
Tampil.ExecuteNonQuery()
Else
If Edit.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "update Invoice_H set tglInvo='" & DateTimePicker1.Value & "', noSO='" & Microsoft.VisualBasic.Left(ComboBox1.Text, 4) & "', kdcust='" & TextBox2.Text & "',tglEntry='" & tglskg & "', useridd='" & nmorang & "' where noInvo='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
'ppn=" & TextBox7.Text & ",total=" & TextBox5.Text & ",
Else
If Delete.Text = "Ok" Then
'Untuk menghapus detail SO
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from Invoice_D where noInvo_H='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
'Untuk menghapus header SO
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from Invoice_H where noInvo='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
Call settingdatagrid()
Else
End If
End If
End If
End Sub
Private Sub isicombo1()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SalesOrder "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
ComboBox1.Items.Clear()
While Tampilkan.Read() 'membaca data 1 per 1
ComboBox1.Items.Add(Trim(Tampilkan("NoSO"))) '& " " & Trim(Tampilkan("nmcarabyr")))
End While
End If
End Sub
Private Sub isicombo2()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from Carabayar "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
ComboBox2.Items.Clear()
While Tampilkan.Read() 'membaca data 1 per 1
ComboBox2.Items.Add(Trim(Tampilkan("kdcarabyr")) & " " & Trim(Tampilkan("nmcarabyr")))
End While
End If
End Sub
Private Sub posisiList()
ListBox1.Top = TextBox3.Top + TextBox4.Height
ListBox1.Left = TextBox3.Left
End Sub
Private Sub caritransaksi()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from Jenistransaksi where nmjnstrans like '%" & Trim(TextBox3.Text) & "%' "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
ListBox1.Items.Clear()
ListBox1.Visible = True
Call posisiList()
While Tampilkan.Read() 'membaca data 1 per 1
ListBox1.Items.Add(Trim(Tampilkan("kdjnstrans")) & " " & Trim(Tampilkan("nmjnstrans")))
End While
End If
End Sub
Private Sub carinamatransaksi()
Call koneksi()
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "select * from Jenistransaksi where kdjnstrans='" & Trim(TextBox3.Text) & "'"
Tampilkan = Tampil.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then
'klw ada record(data)maka akan bertipe true
While Tampilkan.Read()
TextBox4.Text = Tampilkan("nmjnstrans")
End While
End If
End Sub
Private Sub caristatusheader()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from Invoice_H where noInvo='" & Trim(TextBox1.Text) & "'"
Tampilkan = Tampil2.ExecuteReader
If Tampilkan.HasRows = True Then
statusheader = "T"
Else
statusheader = "F"
End If
End Sub
Private Sub carinamacustomer()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from Customer where kdcust ='" & Trim(TextBox2.Text) & "' "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan.Read() 'membaca data 1 per 1
TextBox8.Text = Trim(Tampilkan("nmcust"))
End While
End If
End Sub
Private Sub bersih()
TextBox1.Text = ""
TextBox2.Text = ""
ComboBox1.Text = ""
ComboBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox6.Text = ""
TextBox7.Text = ""
TextBox8.Text = ""
End Sub
Private Sub normal()
Add.Text = "Add"
Edit.Text = "Edit"
Delete.Text = "Delete"
Keluar.Text = "Exit"
Add.Enabled = True
Edit.Enabled = True
Delete.Enabled = True
Keluar.Text = "Exit"
End Sub
Private Sub nomorOtomatis()
If DG1 IsNot Nothing Then
Dim count As Integer = 0
While (count <= (DG1.Rows.Count - 2))
DG1.Rows(count).HeaderCell.Value = String.Format((count + 1).ToString(), "0")
count += 1
End While
End If
End Sub
Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.Click
ListBox1.Visible = False
ListBox1.Top = 12
TextBox3.Text = Microsoft.VisualBasic.Left(ListBox1.Text, 4)
End Sub
Private Sub TextBox3_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox3.TextChanged
If Len(TextBox3.Text) > 0 Then
Call caritransaksi()
Call carinamatransaksi()
End If
End Sub
Private Sub caridata_H()
Call koneksi()
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "select * from Invoice_H where noInvo='" & Trim(TextBox1.Text) & "'"
Tampilkan = Tampil.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan.Read() 'membaca data 1 per 1
If IsDBNull(Tampilkan("noInvo")) Then '
TextBox1.Focus()
Else
DateTimePicker1.Value = Tampilkan("tglInvo")
TextBox2.Text = Tampilkan("kdcust")
ComboBox1.Text = Tampilkan("noSO")
ComboBox2.Text = Tampilkan("kdcarabyr")
TextBox3.Text = Tampilkan("jnstransaksi")
'TextBox5.Text = Tampilkan("total")
'TextBox7.Text = Tampilkan("ppn")
TextBox2.Focus()
End If
End While
End If
End Sub
Private Sub settingdatagrid()
'untuk menentukan jumlah kolom
DG1.ColumnCount = 5
DG1.RowCount = 5
'untuk menentukan nama header kolom
DG1.Columns(0).Name = "Kode Barang"
DG1.Columns(1).Name = "Nama Barang"
DG1.Columns(2).Name = "Qty"
DG1.Columns(3).Name = "Satuan Harga"
DG1.Columns(4).Name = "Total Harga"
'menentukan lebar kolom
DG1.Columns(0).Width = 120
DG1.Columns(1).Width = 250
DG1.Columns(2).Width = 100
DG1.Columns(3).Width = 100
DG1.Columns(4).Width = 100
Call AddButtonColumn()
'format kolom sesuai dengan keingninan
DG1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
DG1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
End Sub
Private Sub AddButtonColumn()
'untuk membuat tombol button di datagridview
Dim btn = New DataGridViewButtonColumn()
DG1.Columns.Add(btn)
btn.HeaderText = "Simpan"
btn.Text = "Simpan"
btn.Name = "btnsimpan"
btn.UseColumnTextForButtonValue = True
End Sub
Private Sub bersihbaris()
DG1.Rows.Item(baris).Cells(0).Value = ""
DG1.Rows.Item(baris).Cells(1).Value = ""
DG1.Rows.Item(baris).Cells(2).Value = ""
End Sub
Private Sub tampilkan_detail_Inv()
Call koneksi()
Dim n As Integer
DG1.RowCount = 1
DG1.RowCount = 5
Tabel = "SELECT SODetail.kdbrg, Barang.nmbrg, SODetail.qty,SODetail.hargasatuan, SODetail.totalharga"
Tabel = Tabel + " FROM SODetail INNER JOIN Barang ON SODetail.kdbrg = Barang.kdbrg WHERE SODetail.nosoH= '" & Trim(ComboBox1.Text) & "'"
Tampil4.Connection = Dtbase
Tampil4.CommandType = CommandType.Text
'MsgBox(Tabel)
Tampil4.CommandText = Tabel
Tampilkan = Tampil4.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
n = 0
While Tampilkan.Read() 'membaca data 1 per 1
DG1.Rows.Item(n).Cells(0).Value = Tampilkan("kdbrg")
DG1.Rows.Item(n).Cells(1).Value = Trim(Tampilkan("nmbrg"))
DG1.Rows.Item(n).Cells(2).Value = Tampilkan("qty")
DG1.Rows.Item(n).Cells(3).Value = Tampilkan("hargasatuan")
DG1.Rows.Item(n).Cells(4).Value = Tampilkan("totalharga")
n = n + 1
End While
DG1.RowCount = n + 1
'Dim nn As Integer = dgv1.Rows.Add()
End If
Dim nn As Integer = DG1.Rows.Add()
'Dim nn As Integer = dgv1.Rows.Add()
Tampilkan.Close()
Tampil4.ExecuteReader.Close()
End Sub
Private Sub tampil_dInvoice()
Call koneksi()
Dim n As Integer
DG1.RowCount = 1
DG1.RowCount = 5
Tabel = "SELECT Invoice_D.kdbrg, Barang.nmbrg, Invoice_D.qty,Invoice_D.hargasatuan, Invoice_D.totalharga"
Tabel = Tabel + " FROM Invoice_D INNER JOIN Barang ON Invoice_D.kdbrg = Barang.kdbrg WHERE Invoice_D.noInvo_H= '" & Trim(TextBox1.Text) & "'"
Tampil4.Connection = Dtbase
Tampil4.CommandType = CommandType.Text
'MsgBox(Tabel)
Tampil4.CommandText = Tabel
Tampilkan = Tampil4.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
n = 0
While Tampilkan.Read() 'membaca data 1 per 1
DG1.Rows.Item(n).Cells(0).Value = Tampilkan("kdbrg")
DG1.Rows.Item(n).Cells(1).Value = Trim(Tampilkan("nmbrg"))
DG1.Rows.Item(n).Cells(2).Value = Tampilkan("qty")
DG1.Rows.Item(n).Cells(3).Value = Tampilkan("hargasatuan")
DG1.Rows.Item(n).Cells(4).Value = Tampilkan("totalharga")
n = n + 1
End While
DG1.RowCount = n + 1
'Dim nn As Integer = DG1.Rows.Add()
End If
Dim nn As Integer = DG1.Rows.Add()
Tampilkan.Close()
Tampil4.ExecuteReader.Close()
End Sub
Private Sub bersih_datagrid()
DG1.RowCount = 1
DG1.Refresh()
DG1.RowCount = 5
End Sub
Private Sub simpan_datagridview()
'cek sudah terisi semua belum
If DG1.Rows.Item(baris).Cells(0).Value = "" Then Exit Sub
If DG1.Rows.Item(baris).Cells(1).Value = "" Then Exit Sub
If Trim(DG1.Rows.Item(baris).Cells(2).Value) = "" Then Exit Sub
If Trim(DG1.Rows.Item(baris).Cells(3).Value) = "" Then Exit Sub
If Trim(DG1.Rows.Item(baris).Cells(4).Value) = "" Then Exit Sub
If Add.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "insert into Invoice_D(noInvo_H,kdbrg,qty,hargasatuan,totalharga,tglEntry,useridd) values ('" & Trim(TextBox1.Text) & "', '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'," & Val(DG1.Rows.Item(baris).Cells(2).Value) & "," & Val(DG1.Rows.Item(baris).Cells(3).Value) & "," & Val(DG1.Rows.Item(baris).Cells(4).Value) & ",'" & tglskg & "', '" & nmorang & "')"
Tampil.ExecuteNonQuery()
' Call tampilkan_detail_SO()
Else
If Edit.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "update Invoice_D set qty = " & Val(DG1.Rows.Item(baris).Cells(2).Value) & ",hargasatuan=" & Val(DG1.Rows.Item(baris).Cells(3).Value) & ",totalharga =" & Val(DG1.Rows.Item(baris).Cells(4).Value) & " where noInvo_H='" & Trim(TextBox1.Text) & "' and kdbrg= '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'"
Tampil.ExecuteNonQuery()
'Call tampilkan_detail_SO()
Else
If Delete.Text = "Ok" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from Invoice_D where noInvo_H='" & Trim(TextBox1.Text) & "' and kdbrg= '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'"
Tampil.ExecuteNonQuery()
Call bersihbaris()
End If
End If
End If
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(Keys.Enter) Then
Call caridata_H()
Call carinamacustomer()
Call tampilkan_detail_Inv()
'Call tampil_dInvoice()
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If Len(TextBox1.Text) > 0 Then
Call tampilkan_detail_Inv()
'Call tampil_dInvoice()
Call penjumlahan()
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Call koneksi()
Call tampilkan_detail_Inv()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SalesOrder where NoSO='" & Trim(ComboBox1.Text) & "'"
Tampilkan2 = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan2.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan2.Read() 'membaca data 1 per 1
If IsDBNull(Tampilkan2("NoSO")) Then '
TextBox1.Focus()
'Call tampilkan_detail_SJ()
Else
TextBox2.Text = Tampilkan2("kdcust")
TextBox2.Focus()
End If
End While
End If
Call carinamacustomer()
End Sub
Private Sub Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Add.Click
If Add.Text = "Add" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Add.Text = "Simpan"
Edit.Enabled = False
Delete.Enabled = False
Keluar.Text = "Batal"
Else
' Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Edit.Click
If Edit.Text = "Edit" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Edit.Text = "Simpan"
Add.Enabled = False
Delete.Enabled = False
Keluar.Text = "Batal"
Else
Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Delete.Click
If Delete.Text = "Delete" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Delete.Text = "Ok"
Add.Enabled = False
Edit.Enabled = False
Keluar.Text = "Batal"
Else
Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Keluar.Click
If Keluar.Text = "Batal" Then
Call normal()
Call bersih()
Call bersih_datagrid()
TextBox1.Focus()
Else
Me.Close() 'untuk menutup form diri sendiri'
End If
End Sub
Private Sub DG1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellClick
baris = DG1.CurrentRow.Index
'untuk menentukan kolom yang mana
If DG1.Columns(e.ColumnIndex).Name = "Kode Barang" Then
kolom = 1
Else
If DG1.Columns(e.ColumnIndex).Name = "Nama Barang" Then
kolom = 2
Else
If DG1.Columns(e.ColumnIndex).Name = "Harga" Then
kolom = 3
Else
If DG1.Columns(e.ColumnIndex).Name = "Qty" Then
kolom = 4
Else
kolom = 5
End If
End If
End If
End If
If kolom = 5 Then
If Add.Text = "Simpan" Then
'dgv1.Rows.Add()
Call caristatusheader()
If statusheader = "T" Then
Call simpan_datagridview()
Call penjumlahan()
Call updateTOTAL()
Else
Call simpandata()
Call simpan_datagridview()
Call penjumlahan()
Call updateTOTAL()
End If
Else
If Edit.Text = "Simpan" Then
Call simpan_datagridview()
Call penjumlahan()
Else
If Delete.Text = "Ok" Then
Call simpan_datagridview()
Call penjumlahan()
End If
End If
End If
End If
End Sub
Private Sub DG1_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellEnter
' untuk menunjukan kolom yang mana
If kolom = 1 Then
'untuk mengambil nilai dari cell datagridview
kodebrg = DG1.Rows.Item(baris).Cells(0).Value
' memanggil method untuk menampilkan data barang
' Call tampilkan_data_barang()
'menentukan posisi listbox
'Call posisilist2()
End If
'If kolom = 2 Then
'End If
If kolom = 3 Then
End If
If kolom = 4 Then
'isi total harga
DG1.Rows.Item(baris).Cells(4).Value = Val(DG1.Rows.Item(baris).Cells(3).Value) * Val(DG1.Rows.Item(baris).Cells(2).Value)
End If
Call nomorOtomatis()
'isi total harga
'DataGridView1.Rows.Item(baris).Cells(4).Value = Val(DataGridView1.Rows.Item(baris).Cells(3).Value) * Val(DataGridView1.Rows.Item(baris).Cells(2).Value)
End Sub
Private Sub penjumlahan()
Call koneksi()
Tampil5.Connection = Dtbase
Tampil5.CommandType = CommandType.Text
Tampil5.CommandText = "SELECT SUM(totalharga) AS subtotal FROM Invoice_D WHERE noInvo_H = '" & Trim(TextBox1.Text) & "'"
Tampilkan = Tampil5.ExecuteReader
If Tampilkan.HasRows = True Then
Do While Tampilkan.Read()
If IsDBNull(Tampilkan("subtotal")) Then
Else
TextBox6.Text = Format(Tampilkan("subtotal"), "###,###,###")
TextBox7.Text = Format(Tampilkan("subtotal"), "###,###,###") * 0.1
TextBox5.Text = Format(Tampilkan("subtotal"), "###,###,###") + Val(TextBox7.Text)
End If
Loop
End If
'Tampil5.Connection = Database
'Tampil5.CommandType = CommandType.Text
'Tampil5.CommandText = "SELECT SUM(totalharga) AS subtotal FROM Detailinvoice WHERE NoinvoiceH = '" & Trim(TextBox1.Text) & "'"
'Tampilkan3 = Tampil5.ExecuteReader
'If Tampilkan3.HasRows = True Then
' Do While Tampilkan3.Read()
' If IsDBNull(Tampilkan3("subtotal")) Then
' Else
' TextBox7.Text = Format(Tampilkan3("subtotal"), "###,###,###")
End Sub
Private Sub updateTOTAL()
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "update Invoice_H set total= " & Val(TextBox5.Text) & " where noInvo='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
End Sub
Private Sub Print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Print.Click
noprint = TextBox1.Text
lap_in.Show()
End Sub
Private Sub DG1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellContentClick
End Sub
End Class
Translate
Rabu, 19 November 2014
Senin, 17 November 2014
Cara Membuat Surat Jalan menggunakan VB.Net
Public Class SJ
Dim baris, kolom, Hargasatuan As Integer
Dim kodebrg, namabrg, statusheader As String
Private Sub SJ_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call koneksi()
Call isicombo()
Call settingdatagrid()
Call tampilkan_detail_SJ()
End Sub
Private Sub simpandata()
If Trim(TextBox1.Text) = "" Then Exit Sub
If Trim(TextBox2.Text) = "" Then Exit Sub
If Trim(ComboBox1.Text) = "" Then Exit Sub
If Add.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "insert into SJ_H(noSJ,tglSJ,kdcust,noso,tglEntry, useridd) values ('" & Trim(TextBox1.Text) & "', '" & DateTimePicker1.Value & "','" & TextBox2.Text & "','" & Microsoft.VisualBasic.Left(ComboBox1.Text, 5) & "','" & tglskg & "', '" & nmorang & "' )"
Tampil.ExecuteNonQuery()
Else
If Edit.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "update SJ_H set tglSJ='" & DateTimePicker1.Value & "',kdcust='" & TextBox2.Text & "',noSO='" & Microsoft.VisualBasic.Left(ComboBox1.Text, 5) & "',tglEntry='" & tglskg & "', useridd='" & nmorang & "' where noSJ='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
Else
If Delete.Text = "Ok" Then
'Untuk menghapus detail SO
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from SJ_D where noSJ_H='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
'Untuk menghapus header SO
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from SJ_H where noSJ='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
Call settingdatagrid()
Else
End If
End If
End If
End Sub
Private Sub caristatusheader()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SJ_H where noSJ='" & Trim(TextBox1.Text) & "'"
Tampilkan = Tampil2.ExecuteReader
If Tampilkan.HasRows = True Then
statusheader = "T"
Else
statusheader = "F"
End If
End Sub
Private Sub bersih()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
ComboBox1.Text = ""
End Sub
Private Sub normal()
Add.Text = "Add"
Edit.Text = "Edit"
Delete.Text = "Delete"
Keluar.Text = "Exit"
Add.Enabled = True
Edit.Enabled = True
Delete.Enabled = True
Keluar.Text = "Exit"
End Sub
'Private Sub posisiList()
' ListBox1.Top = TextBox2.Top + TextBox2.Height
' ListBox1.Left = TextBox2.Left
'End Sub
'Private Sub caricustomer()
' Call koneksi()
' Tampil2.Connection = Dtbase
' Tampil2.CommandType = CommandType.Text
' Tampil2.CommandText = "select * from Customer where nmcust like '%" & Trim(TextBox2.Text) & "%' "
' Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
' If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
' ListBox1.Items.Clear()
' ListBox1.Visible = True
' Call posisiList()
' While Tampilkan.Read() 'membaca data 1 per 1
' ListBox1.Items.Add(Trim(Tampilkan("kdcust")) & " " & Trim(Tampilkan("nmcust")))
' End While
' End If
'End Sub
Private Sub carinamacustomer()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from Customer where kdcust ='" & Trim(TextBox2.Text) & "' "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan.Read() 'membaca data 1 per 1
TextBox3.Text = Trim(Tampilkan("nmcust"))
End While
End If
End Sub
Private Sub caridata_H()
Call koneksi()
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "select * from SJ_H where noSJ='" & Trim(TextBox1.Text) & "'"
Tampilkan = Tampil.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan.Read() 'membaca data 1 per 1
If IsDBNull(Tampilkan("noSJ")) Then '
TextBox1.Focus()
Else
DateTimePicker1.Value = Tampilkan("tglSJ")
TextBox2.Text = Tampilkan("kdcust")
ComboBox1.Text = Tampilkan("noSO")
TextBox2.Focus()
End If
End While
End If
End Sub
Private Sub isicombo()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SalesOrder "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
ComboBox1.Items.Clear()
While Tampilkan.Read() 'membaca data 1 per 1
ComboBox1.Items.Add(Trim(Tampilkan("NoSO"))) '& " " & Trim(Tampilkan("nmcarabyr")))
End While
End If
End Sub
Private Sub settingdatagrid()
'untuk menentukan jumlah kolom
DG1.ColumnCount = 3
DG1.RowCount = 5
'untuk menentukan nama header kolom
DG1.Columns(0).Name = "Kode Barang"
DG1.Columns(1).Name = "Nama Barang"
DG1.Columns(2).Name = "Qty"
'menentukan lebar kolom
DG1.Columns(0).Width = 120
DG1.Columns(1).Width = 250
DG1.Columns(2).Width = 100
Call AddButtonColumn()
'format kolom sesuai dengan keingninan
'DG1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
'DG1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
End Sub
Private Sub AddButtonColumn()
'untuk membuat tombol button di datagridview
Dim btn = New DataGridViewButtonColumn()
DG1.Columns.Add(btn)
btn.HeaderText = "Simpan"
btn.Text = "Simpan"
btn.Name = "btnsimpan"
btn.UseColumnTextForButtonValue = True
End Sub
Private Sub simpan_datagridview()
'cek sudah terisi semua belum
If DG1.Rows.Item(baris).Cells(0).Value = "" Then Exit Sub
If DG1.Rows.Item(baris).Cells(1).Value = "" Then Exit Sub
If DG1.Rows.Item(baris).Cells(1).Value = "" Then Exit Sub
' If Trim(DG1.Rows.Item(baris).Cells(2).Value) = "" Then Exit Sub
'If Trim(DG1.Rows.Item(baris).Cells(3).Value) = "" Then Exit Sub
'If Trim(DG1.Rows.Item(baris).Cells(4).Value) = "" Then Exit Sub
If Add.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "insert into SJ_D(noSJ_H,kdbrg,qty,tglEntry,useridd) values ('" & Trim(TextBox1.Text) & "', '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'," & Val(DG1.Rows.Item(baris).Cells(2).Value) & ",'" & tglskg & "', '" & nmorang & "')"
Tampil.ExecuteNonQuery()
' Call tampilkan_detail_SO()
Else
If Edit.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "update SJ_D set qty = " & Val(DG1.Rows.Item(baris).Cells(2).Value) & " where noSJ_H='" & Trim(TextBox1.Text) & "' and kdbrg= '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'"
Tampil.ExecuteNonQuery()
'Call tampilkan_detail_SO()
Else
If Delete.Text = "Ok" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from SJ_D where noSJ_H='" & Trim(TextBox1.Text) & "' and kdbrg= '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'"
Tampil.ExecuteNonQuery()
Call bersihbaris()
End If
End If
End If
End Sub
Private Sub bersihbaris()
DG1.Rows.Item(baris).Cells(0).Value = ""
DG1.Rows.Item(baris).Cells(1).Value = ""
DG1.Rows.Item(baris).Cells(2).Value = ""
End Sub
Private Sub tampilkan_detail_SJ()
Call koneksi()
Dim n As Integer
DG1.RowCount = 1
DG1.RowCount = 10
Tabel = "SELECT SODetail.kdbrg, Barang.nmbrg, SODetail.qty"
Tabel = Tabel + " FROM SODetail INNER JOIN Barang ON SODetail.kdbrg = Barang.kdbrg WHERE SODetail.nosoH= '" & Trim(ComboBox1.Text) & "'"
Tampil4.Connection = Dtbase
Tampil4.CommandType = CommandType.Text
'MsgBox(Tabel)
Tampil4.CommandText = Tabel
Tampilkan = Tampil4.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
n = 0
While Tampilkan.Read() 'membaca data 1 per 1
DG1.Rows.Item(n).Cells(0).Value = Tampilkan("kdbrg")
DG1.Rows.Item(n).Cells(1).Value = Trim(Tampilkan("nmbrg"))
DG1.Rows.Item(n).Cells(2).Value = Tampilkan("qty")
n = n + 1
End While
'dgv1.RowCount = n + 1
'Dim nn As Integer = dgv1.Rows.Add()
End If
'Dim nn As Integer = dgv1.Rows.Add()
Tampilkan.Close()
Tampil4.ExecuteReader.Close()
End Sub
Private Sub bersih_datagrid()
DG1.RowCount = 1
DG1.Refresh()
DG1.RowCount = 10
End Sub
Private Sub DG1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellClick
baris = DG1.CurrentRow.Index
'untuk menentukan kolom yang mana
If DG1.Columns(e.ColumnIndex).Name = "Kode Barang" Then
kolom = 0
Else
If DG1.Columns(e.ColumnIndex).Name = "Nama Barang" Then
kolom = 1
Else
If DG1.Columns(e.ColumnIndex).Name = "Qty" Then
kolom = 2
Else
kolom = 3
'Else
' If dgv1.Columns(e.ColumnIndex).Name = "Qty" Then
' kolom = 4
' Else
' kolom = 5
' End If
End If
End If
End If
If kolom = 3 Then
If Add.Text = "Simpan" Then
'dgv1.Rows.Add()
Call caristatusheader()
If statusheader = "T" Then
Call simpan_datagridview()
'Call simpandata()
Else
Call simpandata()
Call simpan_datagridview()
End If
Else
If Edit.Text = "Simpan" Then
Call simpan_datagridview()
Else
If Delete.Text = "Ok" Then
Call simpan_datagridview()
End If
End If
End If
End If
End Sub
Private Sub DG1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellContentClick
End Sub
Private Sub Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Add.Click
If Add.Text = "Add" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Add.Text = "Simpan"
Edit.Enabled = False
Delete.Enabled = False
Keluar.Text = "Batal"
Else
'Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Edit.Click
If Edit.Text = "Edit" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Edit.Text = "Simpan"
Add.Enabled = False
Delete.Enabled = False
Keluar.Text = "Batal"
Else
Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Delete.Click
If Delete.Text = "Delete" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Delete.Text = "Ok"
Add.Enabled = False
Edit.Enabled = False
Keluar.Text = "Batal"
Else
Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Keluar.Click
If Keluar.Text = "Batal" Then
Call normal()
Call bersih()
'Call bersih_datagrid()
TextBox1.Focus()
Else
Call bersih_datagrid()
Me.Close() 'untuk menutup form diri sendiri'
End If
End Sub
'Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
' If Len(TextBox2.Text) > 0 Then
' Call caricustomer()
' Call carinamacustomer()
' End If
'End Sub
'Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
' ListBox1.Visible = False
' ListBox1.Top = 12
' TextBox2.Text = Microsoft.VisualBasic.Left(ListBox1.Text, 4)
'End Sub
Private Sub ComboBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.Click
'Call koneksi()
'Call tampilkan_detail_SJ()
'Tampilkan2 = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
'Tampil2.Connection = Dtbase
'Tampil2.CommandType = CommandType.Text
'Tampil2.CommandText = "select * from SalesOrder where NoSO='" & Trim(ComboBox1.Text) & "'"
'If Tampilkan2.HasRows = True Then 'klw ada record(data)maka akan bertipe true
' While Tampilkan2.Read() 'membaca data 1 per 1
' If IsDBNull(Tampilkan2("noso")) Then '
' TextBox1.Focus()
' 'Call tampilkan_detail_SJ()
' Else
' TextBox2.Text = Tampilkan2("kdcust")
' TextBox2.Focus()
' End If
' End While
'End If
End Sub
'select * SODetail.kbbrg, Barang.nmbrg , SJ_D.qty from SODetail inner join Barang inner join SJ_D on where SODetail.kdbrg=Barang.kdbrg and SODetail.nosoh
'= '" & Trim(TextBox1.Text) & "'"
Private Sub DG1_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellEnter
' untuk menunjukan kolom yang mana
If kolom = 1 Then
'untuk mengambil nilai dari cell datagridview
kodebrg = DG1.Rows.Item(baris).Cells(0).Value
' memanggil method untuk menampilkan data barang
' Call tampilkan_data_barang()
'menentukan posisi listbox
'Call posisilist2()
End If
If kolom = 2 Then
End If
If kolom = 3 Then
End If
'isi total harga
'DataGridView1.Rows.Item(baris).Cells(4).Value = Val(DataGridView1.Rows.Item(baris).Cells(3).Value) * Val(DataGridView1.Rows.Item(baris).Cells(2).Value)
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(Keys.Enter) Then
Call caridata_H()
Call carinamacustomer()
Call tampilkan_detail_SJ()
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If Len(TextBox1.Text) > 0 Then
Call tampilkan_detail_SJ()
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Call koneksi()
Call tampilkan_detail_SJ()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SalesOrder where NoSO='" & Trim(ComboBox1.Text) & "'"
Tampilkan2 = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan2.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan2.Read() 'membaca data 1 per 1
If IsDBNull(Tampilkan2("NoSO")) Then '
'TextBox1.Focus()
'Call tampilkan_detail_SJ()
Else
TextBox2.Text = Tampilkan2("kdcust")
' TextBox2.Focus()
End If
End While
End If
Call carinamacustomer()
End Sub
Private Sub print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles print.Click
noprint = TextBox1.Text
Lap_SJ.Show()
End Sub
End Class
Cetak Surat Jalan
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Lap_SJ
Private Sub Lap_SJ_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call ngeprint()
'Untuk mefilter data yang akan dicetak
CRV1.SelectionFormula = "{SJ_H.noSJ} = '" & noprint & "'"
CRV1.RefreshReport()
'untuk setting form tampilan full dan posisi form
Me.WindowState = FormWindowState.Maximized
Me.StartPosition = FormStartPosition.CenterScreen 'posisi ditengah layar
End Sub
Private Sub ngeprint()
'set variabel untuk buka laporan
Dim cryRpt As New ReportDocument
Dim crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New TableLogOnInfo
Dim crConnectionInfo As New ConnectionInfo
Dim crTables As Tables
Dim crTable As Table
cryRpt.Load("D:\MAYA\MATERI KULIAH\semester 5\PPA\Penjualan2\Penjualan2\CrystalReportSJ.rpt")
With crConnectionInfo
.ServerName = "HP431-PC"
.DatabaseName = "Penjualan2"
.UserID = "sa"
'.Password = "123456"
End With
crTables = cryRpt.Database.Tables 'untuk mengaktifkan
For Each crTable In crTables
crtableLogoninfo = crtableLogoninfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
crTable.ApplyLogOnInfo(crtableLogoninfo)
Next
Crv1.ReportSource = cryRpt
Crv1.Refresh()
End Sub
End Class
Dim baris, kolom, Hargasatuan As Integer
Dim kodebrg, namabrg, statusheader As String
Private Sub SJ_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call koneksi()
Call isicombo()
Call settingdatagrid()
Call tampilkan_detail_SJ()
End Sub
Private Sub simpandata()
If Trim(TextBox1.Text) = "" Then Exit Sub
If Trim(TextBox2.Text) = "" Then Exit Sub
If Trim(ComboBox1.Text) = "" Then Exit Sub
If Add.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "insert into SJ_H(noSJ,tglSJ,kdcust,noso,tglEntry, useridd) values ('" & Trim(TextBox1.Text) & "', '" & DateTimePicker1.Value & "','" & TextBox2.Text & "','" & Microsoft.VisualBasic.Left(ComboBox1.Text, 5) & "','" & tglskg & "', '" & nmorang & "' )"
Tampil.ExecuteNonQuery()
Else
If Edit.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "update SJ_H set tglSJ='" & DateTimePicker1.Value & "',kdcust='" & TextBox2.Text & "',noSO='" & Microsoft.VisualBasic.Left(ComboBox1.Text, 5) & "',tglEntry='" & tglskg & "', useridd='" & nmorang & "' where noSJ='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
Else
If Delete.Text = "Ok" Then
'Untuk menghapus detail SO
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from SJ_D where noSJ_H='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
'Untuk menghapus header SO
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from SJ_H where noSJ='" & Trim(TextBox1.Text) & "'"
Tampil.ExecuteNonQuery()
Call settingdatagrid()
Else
End If
End If
End If
End Sub
Private Sub caristatusheader()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SJ_H where noSJ='" & Trim(TextBox1.Text) & "'"
Tampilkan = Tampil2.ExecuteReader
If Tampilkan.HasRows = True Then
statusheader = "T"
Else
statusheader = "F"
End If
End Sub
Private Sub bersih()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
ComboBox1.Text = ""
End Sub
Private Sub normal()
Add.Text = "Add"
Edit.Text = "Edit"
Delete.Text = "Delete"
Keluar.Text = "Exit"
Add.Enabled = True
Edit.Enabled = True
Delete.Enabled = True
Keluar.Text = "Exit"
End Sub
'Private Sub posisiList()
' ListBox1.Top = TextBox2.Top + TextBox2.Height
' ListBox1.Left = TextBox2.Left
'End Sub
'Private Sub caricustomer()
' Call koneksi()
' Tampil2.Connection = Dtbase
' Tampil2.CommandType = CommandType.Text
' Tampil2.CommandText = "select * from Customer where nmcust like '%" & Trim(TextBox2.Text) & "%' "
' Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
' If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
' ListBox1.Items.Clear()
' ListBox1.Visible = True
' Call posisiList()
' While Tampilkan.Read() 'membaca data 1 per 1
' ListBox1.Items.Add(Trim(Tampilkan("kdcust")) & " " & Trim(Tampilkan("nmcust")))
' End While
' End If
'End Sub
Private Sub carinamacustomer()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from Customer where kdcust ='" & Trim(TextBox2.Text) & "' "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan.Read() 'membaca data 1 per 1
TextBox3.Text = Trim(Tampilkan("nmcust"))
End While
End If
End Sub
Private Sub caridata_H()
Call koneksi()
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "select * from SJ_H where noSJ='" & Trim(TextBox1.Text) & "'"
Tampilkan = Tampil.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan.Read() 'membaca data 1 per 1
If IsDBNull(Tampilkan("noSJ")) Then '
TextBox1.Focus()
Else
DateTimePicker1.Value = Tampilkan("tglSJ")
TextBox2.Text = Tampilkan("kdcust")
ComboBox1.Text = Tampilkan("noSO")
TextBox2.Focus()
End If
End While
End If
End Sub
Private Sub isicombo()
Call koneksi()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SalesOrder "
Tampilkan = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
ComboBox1.Items.Clear()
While Tampilkan.Read() 'membaca data 1 per 1
ComboBox1.Items.Add(Trim(Tampilkan("NoSO"))) '& " " & Trim(Tampilkan("nmcarabyr")))
End While
End If
End Sub
Private Sub settingdatagrid()
'untuk menentukan jumlah kolom
DG1.ColumnCount = 3
DG1.RowCount = 5
'untuk menentukan nama header kolom
DG1.Columns(0).Name = "Kode Barang"
DG1.Columns(1).Name = "Nama Barang"
DG1.Columns(2).Name = "Qty"
'menentukan lebar kolom
DG1.Columns(0).Width = 120
DG1.Columns(1).Width = 250
DG1.Columns(2).Width = 100
Call AddButtonColumn()
'format kolom sesuai dengan keingninan
'DG1.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
'DG1.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomRight
End Sub
Private Sub AddButtonColumn()
'untuk membuat tombol button di datagridview
Dim btn = New DataGridViewButtonColumn()
DG1.Columns.Add(btn)
btn.HeaderText = "Simpan"
btn.Text = "Simpan"
btn.Name = "btnsimpan"
btn.UseColumnTextForButtonValue = True
End Sub
Private Sub simpan_datagridview()
'cek sudah terisi semua belum
If DG1.Rows.Item(baris).Cells(0).Value = "" Then Exit Sub
If DG1.Rows.Item(baris).Cells(1).Value = "" Then Exit Sub
If DG1.Rows.Item(baris).Cells(1).Value = "" Then Exit Sub
' If Trim(DG1.Rows.Item(baris).Cells(2).Value) = "" Then Exit Sub
'If Trim(DG1.Rows.Item(baris).Cells(3).Value) = "" Then Exit Sub
'If Trim(DG1.Rows.Item(baris).Cells(4).Value) = "" Then Exit Sub
If Add.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "insert into SJ_D(noSJ_H,kdbrg,qty,tglEntry,useridd) values ('" & Trim(TextBox1.Text) & "', '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'," & Val(DG1.Rows.Item(baris).Cells(2).Value) & ",'" & tglskg & "', '" & nmorang & "')"
Tampil.ExecuteNonQuery()
' Call tampilkan_detail_SO()
Else
If Edit.Text = "Simpan" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "update SJ_D set qty = " & Val(DG1.Rows.Item(baris).Cells(2).Value) & " where noSJ_H='" & Trim(TextBox1.Text) & "' and kdbrg= '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'"
Tampil.ExecuteNonQuery()
'Call tampilkan_detail_SO()
Else
If Delete.Text = "Ok" Then
Tampil.Connection = Dtbase
Tampil.CommandType = CommandType.Text
Tampil.CommandText = "Delete from SJ_D where noSJ_H='" & Trim(TextBox1.Text) & "' and kdbrg= '" & Trim(DG1.Rows.Item(baris).Cells(0).Value) & "'"
Tampil.ExecuteNonQuery()
Call bersihbaris()
End If
End If
End If
End Sub
Private Sub bersihbaris()
DG1.Rows.Item(baris).Cells(0).Value = ""
DG1.Rows.Item(baris).Cells(1).Value = ""
DG1.Rows.Item(baris).Cells(2).Value = ""
End Sub
Private Sub tampilkan_detail_SJ()
Call koneksi()
Dim n As Integer
DG1.RowCount = 1
DG1.RowCount = 10
Tabel = "SELECT SODetail.kdbrg, Barang.nmbrg, SODetail.qty"
Tabel = Tabel + " FROM SODetail INNER JOIN Barang ON SODetail.kdbrg = Barang.kdbrg WHERE SODetail.nosoH= '" & Trim(ComboBox1.Text) & "'"
Tampil4.Connection = Dtbase
Tampil4.CommandType = CommandType.Text
'MsgBox(Tabel)
Tampil4.CommandText = Tabel
Tampilkan = Tampil4.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan.HasRows = True Then 'klw ada record(data)maka akan bertipe true
n = 0
While Tampilkan.Read() 'membaca data 1 per 1
DG1.Rows.Item(n).Cells(0).Value = Tampilkan("kdbrg")
DG1.Rows.Item(n).Cells(1).Value = Trim(Tampilkan("nmbrg"))
DG1.Rows.Item(n).Cells(2).Value = Tampilkan("qty")
n = n + 1
End While
'dgv1.RowCount = n + 1
'Dim nn As Integer = dgv1.Rows.Add()
End If
'Dim nn As Integer = dgv1.Rows.Add()
Tampilkan.Close()
Tampil4.ExecuteReader.Close()
End Sub
Private Sub bersih_datagrid()
DG1.RowCount = 1
DG1.Refresh()
DG1.RowCount = 10
End Sub
Private Sub DG1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellClick
baris = DG1.CurrentRow.Index
'untuk menentukan kolom yang mana
If DG1.Columns(e.ColumnIndex).Name = "Kode Barang" Then
kolom = 0
Else
If DG1.Columns(e.ColumnIndex).Name = "Nama Barang" Then
kolom = 1
Else
If DG1.Columns(e.ColumnIndex).Name = "Qty" Then
kolom = 2
Else
kolom = 3
'Else
' If dgv1.Columns(e.ColumnIndex).Name = "Qty" Then
' kolom = 4
' Else
' kolom = 5
' End If
End If
End If
End If
If kolom = 3 Then
If Add.Text = "Simpan" Then
'dgv1.Rows.Add()
Call caristatusheader()
If statusheader = "T" Then
Call simpan_datagridview()
'Call simpandata()
Else
Call simpandata()
Call simpan_datagridview()
End If
Else
If Edit.Text = "Simpan" Then
Call simpan_datagridview()
Else
If Delete.Text = "Ok" Then
Call simpan_datagridview()
End If
End If
End If
End If
End Sub
Private Sub DG1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellContentClick
End Sub
Private Sub Add_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Add.Click
If Add.Text = "Add" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Add.Text = "Simpan"
Edit.Enabled = False
Delete.Enabled = False
Keluar.Text = "Batal"
Else
'Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Edit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Edit.Click
If Edit.Text = "Edit" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Edit.Text = "Simpan"
Add.Enabled = False
Delete.Enabled = False
Keluar.Text = "Batal"
Else
Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Delete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Delete.Click
If Delete.Text = "Delete" Then 'jk button1 d klik,mka button 1 berubah jd simpan & button4 jd batal
TextBox1.Focus()
Delete.Text = "Ok"
Add.Enabled = False
Edit.Enabled = False
Keluar.Text = "Batal"
Else
Call simpandata() 'jk tdak maka call simpan data, call bersih,call normal
Call bersih()
Call normal()
Call bersih_datagrid()
End If
End Sub
Private Sub Keluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Keluar.Click
If Keluar.Text = "Batal" Then
Call normal()
Call bersih()
'Call bersih_datagrid()
TextBox1.Focus()
Else
Call bersih_datagrid()
Me.Close() 'untuk menutup form diri sendiri'
End If
End Sub
'Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
' If Len(TextBox2.Text) > 0 Then
' Call caricustomer()
' Call carinamacustomer()
' End If
'End Sub
'Private Sub ListBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
' ListBox1.Visible = False
' ListBox1.Top = 12
' TextBox2.Text = Microsoft.VisualBasic.Left(ListBox1.Text, 4)
'End Sub
Private Sub ComboBox1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.Click
'Call koneksi()
'Call tampilkan_detail_SJ()
'Tampilkan2 = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
'Tampil2.Connection = Dtbase
'Tampil2.CommandType = CommandType.Text
'Tampil2.CommandText = "select * from SalesOrder where NoSO='" & Trim(ComboBox1.Text) & "'"
'If Tampilkan2.HasRows = True Then 'klw ada record(data)maka akan bertipe true
' While Tampilkan2.Read() 'membaca data 1 per 1
' If IsDBNull(Tampilkan2("noso")) Then '
' TextBox1.Focus()
' 'Call tampilkan_detail_SJ()
' Else
' TextBox2.Text = Tampilkan2("kdcust")
' TextBox2.Focus()
' End If
' End While
'End If
End Sub
'select * SODetail.kbbrg, Barang.nmbrg , SJ_D.qty from SODetail inner join Barang inner join SJ_D on where SODetail.kdbrg=Barang.kdbrg and SODetail.nosoh
'= '" & Trim(TextBox1.Text) & "'"
Private Sub DG1_CellEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG1.CellEnter
' untuk menunjukan kolom yang mana
If kolom = 1 Then
'untuk mengambil nilai dari cell datagridview
kodebrg = DG1.Rows.Item(baris).Cells(0).Value
' memanggil method untuk menampilkan data barang
' Call tampilkan_data_barang()
'menentukan posisi listbox
'Call posisilist2()
End If
If kolom = 2 Then
End If
If kolom = 3 Then
End If
'isi total harga
'DataGridView1.Rows.Item(baris).Cells(4).Value = Val(DataGridView1.Rows.Item(baris).Cells(3).Value) * Val(DataGridView1.Rows.Item(baris).Cells(2).Value)
End Sub
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If e.KeyChar = Chr(Keys.Enter) Then
Call caridata_H()
Call carinamacustomer()
Call tampilkan_detail_SJ()
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
If Len(TextBox1.Text) > 0 Then
Call tampilkan_detail_SJ()
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Call koneksi()
Call tampilkan_detail_SJ()
Tampil2.Connection = Dtbase
Tampil2.CommandType = CommandType.Text
Tampil2.CommandText = "select * from SalesOrder where NoSO='" & Trim(ComboBox1.Text) & "'"
Tampilkan2 = Tampil2.ExecuteReader 'tampilkan=menyimpan hasil pembacaan data
If Tampilkan2.HasRows = True Then 'klw ada record(data)maka akan bertipe true
While Tampilkan2.Read() 'membaca data 1 per 1
If IsDBNull(Tampilkan2("NoSO")) Then '
'TextBox1.Focus()
'Call tampilkan_detail_SJ()
Else
TextBox2.Text = Tampilkan2("kdcust")
' TextBox2.Focus()
End If
End While
End If
Call carinamacustomer()
End Sub
Private Sub print_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles print.Click
noprint = TextBox1.Text
Lap_SJ.Show()
End Sub
End Class
Cetak Surat Jalan
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Public Class Lap_SJ
Private Sub Lap_SJ_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call ngeprint()
'Untuk mefilter data yang akan dicetak
CRV1.SelectionFormula = "{SJ_H.noSJ} = '" & noprint & "'"
CRV1.RefreshReport()
'untuk setting form tampilan full dan posisi form
Me.WindowState = FormWindowState.Maximized
Me.StartPosition = FormStartPosition.CenterScreen 'posisi ditengah layar
End Sub
Private Sub ngeprint()
'set variabel untuk buka laporan
Dim cryRpt As New ReportDocument
Dim crtableLogoninfos As New TableLogOnInfos
Dim crtableLogoninfo As New TableLogOnInfo
Dim crConnectionInfo As New ConnectionInfo
Dim crTables As Tables
Dim crTable As Table
cryRpt.Load("D:\MAYA\MATERI KULIAH\semester 5\PPA\Penjualan2\Penjualan2\CrystalReportSJ.rpt")
With crConnectionInfo
.ServerName = "HP431-PC"
.DatabaseName = "Penjualan2"
.UserID = "sa"
'.Password = "123456"
End With
crTables = cryRpt.Database.Tables 'untuk mengaktifkan
For Each crTable In crTables
crtableLogoninfo = crtableLogoninfo
crtableLogoninfo.ConnectionInfo = crConnectionInfo
crTable.ApplyLogOnInfo(crtableLogoninfo)
Next
Crv1.ReportSource = cryRpt
Crv1.Refresh()
End Sub
End Class
Langganan:
Postingan (Atom)