Friday, 7 April 2023

Program Penjualan dengan VB 6 #Step2

 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

Program VB 6 dan Net

Assalamualakum.....wr. wb         Apakabarnya teman-teman pencinta Visual Basic,baik VB 6 maupun .Net. Kali ini saya mencoba menbagikan Prog...