Assalamualaikum Wr. Wb.
selamat siang teman2, selamat menjalankan ibadah Puasa Ramadan bagi teman-teman yg menjalankanya. Ditengah cuaca panas ini, enaknya tiduran, sambil tiduran yuk kita ngoding, Kali ini saya melanjutkan tutorial Program Penjualan dengan VB 6 #Step2,karena Step1 sudah saya buat, silahkan kunjungi turorial Program Penjualan dengan VB 6 #Step1.oke kita langsung saja ke tutorialnya.
buka projek penjualan kemudian buka form baru seperti ini
ketikan code di bawah ini :
Sub NoOtomatis()
Dim Urut As String
Dim Hitung As Long
Set RsPenjualan = New ADODB.Recordset
RsPenjualan.Open "select * from penjualan where no_penjualan in(select max(no_penjualan) from penjualan) order by no_penjualan desc", Conn, adOpenDynamic, adLockOptimistic
With RsPenjualan
If .EOF Then
Urut = "00001"
Text1.Text = Urut
Else
Hitung = Right(!no_penjualan, 5) + 1
Urut = Right("0000" & Hitung, 5)
End If
Text1.Text = Urut
End With
End Sub
Sub DataTemp()
Set RsTemp = New ADODB.Recordset
RsTemp.Fields.Append "Kode_Barang", adVarChar, 10, adFldIsNullable
RsTemp.Fields.Append "Nama_Barang", adVarChar, 100, adFldIsNullable
RsTemp.Fields.Append "Satuan", adVarChar, 50, adFldIsNullable
RsTemp.Fields.Append "Harga", adCurrency, , adFldIsNullable
RsTemp.Fields.Append "Jml", adInteger, , adFldIsNullable
RsTemp.Fields.Append "Total", adCurrency, , adFldIsNullable
RsTemp.Open
Set DataGrid1.DataSource = RsTemp
End Sub
Private Sub Command1_Click()
Form3.Show 1
End Sub
Private Sub Command2_Click()
Set RsPenjualan = New ADODB.Recordset
RsPenjualan.Open "select * from penjualan where no_penjualan='" & Text1.Text & "'", Conn, adOpenDynamic, adLockOptimistic, adCmdText
With RsPenjualan
.AddNew
!no_penjualan = Text1.Text
!tgl_penjualan = Text2.Text
!total_bayar = Text9.Text
!dibayar = Text10.Text
!kembali = Text11.Text
.Update
End With
If RsTemp.EOF Then
RsTemp.MoveFirst
Set RsPenjualanDetail = New ADODB.Recordset
RsPenjualanDetail.Open "select * from penjualan_detail", Conn, adOpenDynamic, adLockOptimistic, adCmdText
Do Until RsTemp.EOF
With RsPenjualanDetail
.AddNew
!no_penjualan = Text1.Text
!kode_barang = RsTemp!kode_barang
!nama_barang = RsTemp!nama_barang
!satuan = RsTemp!satuan
!harga_jual = RsTemp!harga
!jumlah = RsTemp!jml
!total_harga = RsTemp!total
.Update
End With
Set RsBarang = New ADODB.Recordset
RsBarang.Open "select * from barang where kode_barang='" & RsTemp!kode_barang & "'", Conn, adOpenDynamic, adLockOptimistic
With RsBarang
!stok = !stok - Val(RsTemp!jml)
.Update
End With
RsTemp.MoveNext
Loop
End If
MsgBox "Data Tersimpan ", vbInformation
CetakNota
NoOtomatis
HapusGridTemp
End Sub
Sub HapusGridTemp()
Set RsTemp = New ADODB.Recordset
RsTemp.Fields.Append "Kode_Barang", adVarChar, 10, adFldIsNullable
RsTemp.Fields.Append "Nama_Barang", adVarChar, 100, adFldIsNullable
RsTemp.Fields.Append "Satuan", adVarChar, 50, adFldIsNullable
RsTemp.Fields.Append "Harga", adCurrency, , adFldIsNullable
RsTemp.Fields.Append "Jml", adInteger, , adFldIsNullable
RsTemp.Fields.Append "Total", adCurrency, , adFldIsNullable
RsTemp.Open
If RsTemp.EOF Then
Do Until RsTemp.EOF
RsTemp.Delete
RsTemp.MoveNext
Loop
Set DataGrid1.DataSource = RsTemp
End If
End Sub
Private Sub Form_Load()
Koneksi
NoOtomatis
DataTemp
Text2.Text = Format(Date, "dd/mm/yyyy")
End Sub
Sub CetakNota()
CrystalReport1.SelectionFormula = "({penjualan.no_penjualan})='" & Text1.Text & "'"
CrystalReport1.ReportFileName = App.Path & "\nota.rpt"
CrystalReport1.RetrieveDataFiles
CrystalReport1.Destination = crptToPrinter
CrystalReport1.Action = 1
End Sub
Private Sub Text10_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If Val(Text9.Text) < Val(Text10.Text) Then
Text11.Text = Val(Text10.Text) - Val(Text9.Text)
Else
MsgBox "Pembayaran Masih Kurang", vbCritical, ""
End If
End If
End Sub
Private Sub Text7_Change()
Text8.Text = Val(Text6.Text) * Val(Text7.Text)
End Sub
Sub HapusBarang()
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Me.Command1.SetFocus
End Sub
Private Sub Text7_KeyPress(KeyAscii As Integer)
Dim TotalBayar As Currency
If KeyAscii = 13 Then
With RsTemp
.AddNew
!kode_barang = Me.Text3.Text
!nama_barang = Me.Text4.Text
!satuan = Me.Text5.Text
!harga = Me.Text6.Text
!jml = Me.Text7.Text
!total = Me.Text8.Text
.Update
End With
If Not RsTemp.EOF Then
RsTemp.MoveFirst
Do Until RsTemp.EOF
TotalBayar = TotalBayar + Val(RsTemp!total)
Text9.Text = TotalBayar
RsTemp.MoveNext
Loop
End If
HapusBarang
End If
End Sub
Selanjutnya buat form3 seperti gambar di bawah ini :
Ketikan Code dibawah ini :
Sub TampilGrid()
Set RsBarang = New ADODB.Recordset
RsBarang.Open "select * from barang", Conn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RsBarang
End Sub
Private Sub DataGrid1_dblClick()
Form2.Text3.Text = DataGrid1.Columns(0).Text
Form2.Text4.Text = DataGrid1.Columns(1).Text
Form2.Text5.Text = DataGrid1.Columns(2).Text
Form2.Text6.Text = DataGrid1.Columns(3).Text
Unload Me
Form2.Text7.SetFocus
End Sub
Private Sub Form_Load()
Koneksi
TampilGrid
End Sub
Private Sub Text6_Change()
Set RsBarang = New ADODB.Recordset
RsBarang.Open "select * from barang where nama_barang like '" & Text6.Text & "%'", Conn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = RsBarang
End Sub
Jalankan Program....
Selamat Mencoba
No comments:
Post a Comment