Bermain-main dengan Microsoft Hierarcichal FlexGrid di Visual Basic 6

Post ini hanya buat pemula,,,buat sang master tolong di koreksi jika ada kesalahan,,,,ehehehe
Apakah kamu termasuk seseorang yang menyukai pemrograman....????terutama menggunakan Visual Basic...????Pernahkah kamu menemuai masalah ini...?
1. Ketika membuat Form One to many Kamu kesulitan membuat jumlah total dari sub total?
contoh kasus:
     Seorang customer membeli lebih dari satu barang,dengan satu no transaksi,lihat form berikut:

Form Transaksi Penjualan One To Many

Pada form diatas terdapat MSH flexGrid dimana grid tersebut di koneksikan dengan Data Base pada tabel  sementara. Pada Kolom terakhir ada Subtotal yang merupakan hasil dari harga di kalikan jumlah beli. Permasalahannya: bagaimana cara menjumlahkan subtotal-subtotal tersebut manjadi jumlah total dari semua transaksi.
SOLUSI :
 
Hal ini dapat diatasi dengan solusi berikut, Lihat listing di bawah ini:
 
Sub Total()
Dim jum(3), nil(3) As Long
jum(0) = 0
jum(1) = 0
jum(2) = 0

With Grid
    For i = 0 To Grid.Rows - 1
         If IsNumeric(.TextMatrix(i, 5)) Then
           nil(0) = .TextMatrix(i, 5)
          Else
             nil(0) = Val(.TextMatrix(i, 5))
          End If
          jum(0) = jum(0) + nil(0)
           
    Next
   Text8.Text = jum(0)
End With
End Sub

Penjelasan:
jum= Variable Untuk Total
nil= Variable untuk subTotal
Grid= Nama dr MSHFlexGrid
Textmatrix(i,5)= Variable untuk memanggil Baris ke ( i ) pada Kolom (5)
Untuk menjumlahkan subtotal dari baris pertama sampai baris terakhir kita menggunakan perulangan yaitu FOR......NEXT.
Untuk menyeleksi perhitungan kita menggunakan Pernyataan perhitungan hanya akan terjadi ketika kolom berisi angka hal ini untuk menghindari looping atau perulangan perhitungan pada kolom yang tak berisi record/data.Kita menggunakan:
If....End If

Sekian Posting saya tentang Microsoft Hierarcichal FlexGrid di Visual Basic 6 semoga dapat membantu dan berguna bagi yang membaca.
Just Share What I ever Get...

Untuk pertanyaan seputar post ini silahkan tinggalkan comment..

Kampung Bebas Rokok di India


India sedang meningkatkan kampanye anti-tembakau dalam dua bulan terakhir. Sebuah negara bagian di India menyatakan diri bebas tembakau, sementara beberapa desa di sana sudah lama bebas dari asap rokok.
Dengan dana dari Bill and Melinda Gates Foundation, negara bagian Andhra Pradesh dan Gujarat telah menghentikan penjualan tembakau di beberapa desa, dan mulai menerapkan denda berat untuk mereka yang merokok atau mengunyah tembakau. Negara bagian Himachal Pradesh bahkan memproklamirkan diri bebas tembakau pada Mei lalu. Sementara itu, negara bagian Haryana mengklaim bebas kedai hookah (pipa shisha, berisi campuran nikotin dan air).
Tapi, sebuah desa di Haryana bahkan sudah puluhan tahun bebas tembakau, yang dianggap tabu oleh kepercayaan setempat. Di Shankapura, tidak ada puntung rokok atau noda tembakau.
“Tak ada rokok di sini,” kata Bhajan Lal Selwal, pemilik warung di Shankapura. Senyumannya menampilkan gigi cemerlang bebas noda tembakau, yang tak pernah ia sentuh seumur hidupnya.
Lal Selwal berkata penduduk desanya tak pernah merokok atau mencicipi paan, tembakau kunyah yang mencakup 20% dari konsumsi tembakau India, berdasarkan data dari Global Adult Tobacco Survey yang dilakukan World Health Organization.
Si pemilik warung itu berkata secara finansial ia tidak merugi akibat tidak menjual produk tembakau, dan malah ia telah menyelamatkan jiwa dan keuangannya dengan tidak merokok. “Konsumsi tembakau merusak kesehatan, dan uang yang diperlukan untuk menyembuhkan penyakit akibat rokok tidak sedikit,” ujar Lal Selwal.
Menurut Suresh Selwal, dosen ilmu politik di Universitas Kurukshetra (Haryana), berkata tradisi anti-rokok di kampung halamannya itu dimulai pada zaman kemerdekaan India tahun 1947.
“Saat konflik antara Hindu dan Muslim tahun 1947, pendiri sub-kasta Selwal dikejar-kejar oleh orang Islam. Ia berlindung di balik tanaman tembakau,” urai Selwal. “Sejak itu ia bersumpah kepada si tanaman: ‘Kasta kami akan melindungimu bagai engkau melindungi aku.’ Jadi sampai sekarang tidak ada yang mengonsumsi tembakau.”
Namun, Ram Lamba (101 tahun), orang tertua di desa itu, berkata ia sudah tinggal di Shankapura selama 90 tahun dan tabu tembakau itu setidaknya sudah berlangsung sejak generasi kakeknya.
“Tidak ada yang merokok sejak saat itu, dan kalau tidak ada anggota keluarga yang merokok, kita juga tidak akan melakukannya,” ujar Lamba, yang menambahkan baik dia maupun istrinya yang berusia 84 tahun tidak memiliki masalah kesehatan.
Alasan lain di balik budaya anti-tembakau di desa itu adalah kepercayaan Sikh yang dianut sebagian besar penduduknya. Guru Sikh kesepuluh, Gobind Singh, melarang pengikutnya merokok. Menurut legenda Sikh, ia menolak memberkati seorang petani sampai si petani berjanji tak akan lagi menanam tembakau.
Sebetulnya Shankapura terletak di salah satu daerah lumbung tembakau India. Negara bagian Haryana, bersama Andhra Pradesh dan Karnataka, menyumbang 84% dari total luas lahan yang dipakai untuk menanam tembakau di negara itu tahun 2008-2009, berdasarkan data dari Departemen Pertanian dan Koperasi India.

10 Alasan Mengapa anda harus berhenti merokok

Berhenti merokok pastinya bukan hal yang mudah terutama bagi anda yang sudah kecanduan Nikotin. Namun, tidak mudah itu bukan berarti tidak bisa. Bila anda sudah membulatkan tekad untuk berhenti merokok, anda harus konsekuen dan jangan mudah tergoda karena ketika tubuh Anda mulai bereaksi terhadap asupan tembakau dan nikotin, Anda pun harus segera berencana untuk keluar dari kebiasaan buruk tersebut. Sulit dan menyakitkan. Itu yang akan dirasakan.

Namun, banyak sekali hal baik yang akan anda rasakan setelah anda benar-benar total berhenti merokok. Berikut beberapa hal yang akan terjadi bila anda berhenti merokok :
Tekanan darah tinggi Anda turun ke normal

Perokok memiliki tingkat tekanan darah tinggi dan memberhentikan asupan nikotin membawa kembali tingkat tekanan darah normal.

Sirkulasi darah dalam tubuh meningkatkan

Setelah Anda berhenti merokok, karbon monoksida dalam darah akan banyak berkurang dalam seminggu Anda berhenti merokok. Hal ini membuat sirkulasi darah dalam tubuh meningkatkan.

Oksigen dalam tubuh meningkat

Bila Anda berhenti merokok kadar oksigen dalam tubuh Anda meningkat. Hal ini menyebabkan sirkulasi darah yang lebih baik. Merokok membangun racun dalam tubuh yang mempengaruhi warna kulit. Peningkatan sirkulasi darah mem-flushes racun dari tubuh Anda dan membantu dalam mendapatkan kembali kulit bersinar.

Memperbaiki fungsi otak

Jika Anda tidak merokok selama 2-3 hari, diyakini bahwa tingkat nikotin berkurang dari sistem anda. Nikotin memperlambat fungsi otak.

Metabolisme lebih sehat

Tubuh meningkatkan metabolisme Anda dan tingkat energi Anda menaikkan. Anda akan merasa lebih aktif dan sehat.

Cara Membuat File Setup / Exe Visual Basic 6.0


Untuk membuat file distribusi dari program aplikasi yang besar, terutama yang menggunakan database, tidak bisa hanya dengan menyalin satu folder saja ke komputer lain. Kenapa?, karena pada program Visual Basic dan program untuk Windows umumnya, file Executable-nya akan memanggil file .dll, .ocx, dan sebagainya. File tersebut ada yang ditempatkan di bawah folder \Windows atau \Windows\System.
Visual Basic menyediakan add-in Package and Deployment Wizard yang akan membuat file distribusi menggunakan disk, network, dan internet. Pada contoh ini akan membuat package berbasis disk.
Untuk membuat file distribusi, ikuti langkah-langkah seperti berikut:
  1. Dari Start menu, pilih Programs, pilih Microsoft Visual Studio 6.0, pilih Microsoft Visual Studio 6.0 Tools, lalu klik Package & Deployment Wizard.
  2. Setelah masuk pada jendela Package and Deployment Wizard, klik tombol Browse, kemudian pilih file proyek yang ada pada folder program. 

     
  1. Setelah file proyek dipilih, klik tombol Package.
  2. Jika proyek (project) yang Anda pilih belum pernah dikompilasi dari jendela Visual Basic, biasanya akan ditampilkan pesan dan dialog gambar di bawah . Untuk itu disarankan, sebelum Anda menggunakan Package and Deployment Wizard, lakukanlah kompilasi terhadap proyek aplikasi.

    Keterangan:
    • Pilih Browse untuk memillih proyek yang sudah dikompilasi.
    • Pilih Compile jika proyek belum dikompilasi, dan ingin dikompilasi sekarang.
    • Pilih Cancel untuk membatalkan proses kompilasi

    Dalam proses kompilasi dapat terjadi error atau kesalahan jika:
    • Ada kode program yang salah atau metode yang digunakan tidak sesuai dengan spesifikasi hardware maupun software komputer yang dipakai
    • Project yang akan dikompilasi masih dibuka, jadi harus disimpan dan ditutup dulu.
    • Pendeklarasian variabel ganda dalam satu form atau satu modul. 

    Jika program yang akan dikompilasi tidak lengkap atau komponen program ada yang kurang, maka secara otomatis akan mengeluarkan pemberitahuan bahwa program tersebut masih terdapat kesalahan. Untuk itu, jika Anda ingin mengkompilasi program, disarankan agar mengontrol secara cermat apakah program tersebut sudah sempurna atau belum. Berikut adalah kotak dialog yang akan ditampilkan jika terdapat variabel yang kembar dalam satu modul dan satu form.
     
  1. Kemudian pilihlah tipe setup yang disediakan seperti pada gambar  di bawah ini. Terdapat dua pilihan yaitu:
    • Standard Setup Package untuk membuat program setup.exe.
    • Dependency File untuk membuat file informasi listing yang berisi komponen run time yang diperlukan oleh aplikasi.

     
     
  1. Langkah selanjutnya adalah memilih lokasi folder untuk menyimpan file hasil setup.
  2. Klik tombol New Folder untuk membuat folder baru.

     
     
  1. Jika folder tujuan telah dipilih/dibuat, lanjutkan dengan mengklik tombol Next.
  2. Pada jendela Included Files, pilihlah file yang akan diikutsertakan dalam kompilasi. Klik tombol Add, kemudian pilih file database atau file penting lainnya. Lanjutkan dengan mengklik tombol Next untuk melanjutkan.
  3.  
  4. Pada jendela Cab Option, Anda dapat memilih bentuk file Cabinet setup hasil kompilasi. Terdapat dua pilihan yang disediakan, yaitu:
    • Single Cabs
    • Jika Anda memilih Single Cabs, maka berapapun besarnya ukuran file setup hasil kompilasi akan dikompres dalam ukuran file Cabinet. Pilihan ini sesuai jika Anda ingin menggunakan media CD Blank untuk menyimpan file setup hasil kompilasi.
    • Multiple Cabs
    • Dan jika Anda memilih Multiple Cabs, maka akan menghasilkan file setup yang terdiri dari beberapa file Cabinet, sesuai dengan Cab Size yang Anda pilih. Biasanya pilihan ini digunakan jika file setup yang hasilnya akan disimpan dalam floppy disk.
  5. Pada langkah di atas, Anda dapat menggunakan bentuk file Single Cabs. Klik tombol Next untuk melanjutkan.
  6.  
  7. Tuliskan judul Installasinya, misalnya “Penjualan Barang”. Lanjutkan dengan mengklik tombol Next.
  8.  
  9. Selanjutnya pilihlah group menu dan item sebagai tempat untuk shortcut program setelah selesai diinstal. Jika dirasa tidak perlu, maka abaikan. Klik tombol Next untuk melanjutkan.
  10.  
  11. Akan muncul jendela Install Locations, jendela ini akan memberitahukan lokasi setiap file-file yang diperlukan dalam proses pembuatan Installasi program. Klik tombol Next untuk melanjutkan.
  12.  
  13. Setelah itu akan muncul kotak dialog untuk memilih file shared. Klik tombol Next untuk melanjutkan.
  14.  
  15. Akan ditampilkan jendela Finished.
  16. Berikan nama indentitas pada  kolom Script name, misalnya “Penjualan Barang”, kemudian klik tombol Finished untuk meyelesaikan proses setup Installasi.
  17.  
  18. Tunggu beberapa saat hingga muncul jendela laporan dari proses pembuatan paket. Berikut contohnya:
  19.  
  20. Dari proses di atas, maka sekarang Anda telah memiliki file paket installer yang disimpan dalam sub folder Penjualan Barang. Berikut adalah tampilannya:

 
Sampai saat ini proses pembuatan paket installer telah selesai, Anda sekarang dapat mendistribusikan file paket di atas untuk diinstall pada komputer lain.


Sumber : Bunafit

Membuat Form Pegawai

Pada kesempatan kali ini saya coba kan berbagi pengetahuan cara membuat form pegawai dengan visual basic.Buat dulu design form seperti gambar di samping..
Setelah itu masukkan listing di bawah ini..
Untuk nama teks,Command button,Modul,database,combobox,sesuaikan dengan nama yang anda buat. Pada posting kali ini koneksi data base nya tidak menggunakan adodc melainkan menggunakan modul dengan listing.Caranya Ketik Project-->Pilih Add Modul.
Kemudian Ketikkan listing dibawah ini:


Public dbado As New ADODB.Connection
Public RsPeg As New ADODB.Recordset

Public Sub conn()
Set dbado = New ADODB.Connection
dbado.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=penggajian_swb"
dbado.CursorLocation = adUseClient
'dbado.Open
End Sub
keterangan :dbado = Variable untuk nama  Koneksi (pemberian nama terserah)
RsPeg = Variable Recordset tabel Pegawai (pemberian nama terserah)
Sub Conn = Procedure Koneksi (pemberian nama terserah)
penggajian_swb= Nama Database (Sesuaikan dengan nama data Base)


Simpan modul dalam satu folder dengan project anda.


Kemudian ketikkan listing dibawah ini pada form anda:

Public isi As Boolean
Sub tampil()
Text1.Text = RsPeg!nip
Text2.Text = RsPeg!napeg
Text3.Text = RsPeg!alamat
Text4.Text = RsPeg!kota
Text5.Text = RsPeg!notelp
Combo1.Text = RsPeg!pendidikan
End Sub
Sub bersih()
For Each x In Me
If TypeOf x Is TextBox Then
   x.Text = ""
End If
Next
Combo1.Text = ""
End Sub
Sub nonaktif()
For Each x In Me
If TypeOf x Is TextBox Then
   x.Enabled = False
End If
Next
Combo1.Enabled = False
End Sub

Sub aktif()
For Each x In Me
If TypeOf x Is TextBox Then
   x.Enabled = True
End If
Next
Combo1.Enabled = True
End Sub

 
Sub awal()
Dim strsql As String
strsql = "select * from pegawai order by nip"
Set RsPeg = dbado.Execute(strsql, , adCmdText)
Call conn
Set Grid1.DataSource = RsPeg
bersih
nonaktif
End Sub

Private Sub Command1_Click()
awal
isi = True
aktif
bersih
Text1.SetFocus
End Sub

Private Sub Command2_Click()
Dim simpan As String
Dim ubah As String
If Text1 = "" Then
    MsgBox "Nip harus diisi !", vbExclamation, "Konfirmasi"
    Text1.SetFocus
End If
If isi = True Then
    simpan = "insert into pegawai() values('" & Text1 & "','" & Text2 & "','" & Text3 & "','" & Text4 & "','" & Text5 & "','" & Combo1 & "')"
    Set RsPeg = dbado.Execute(simpan, , adCmdText)
Else
    ubah = "update pegawai set napeg='" & Text2 & "',alamat='" & Text3 & "',kota='" & Text4 & "',notelp='" & Text5 & "',pendidikan='" & Combo1 & "' where nip='" & Text1 & "'"
    Set RsPeg = dbado.Execute(ubah, , adCmdText)
End If
awal
MsgBox "data telah tersimpan"
bersih
nonaktif
End Sub

 
Private Sub Command3_Click()
Dim cari As String
Dim hapus As String
x = InputBox("masukan NIP yang dicari", "cari kode")
cari = "select *from pegawai where nip='" & x & "'"
hapus = "delete from pegawai where nip='" & x & "'"
Set RsPeg = dbado.Execute(cari, , adCmdText)
With RsPeg
    If .BOF And .EOF Then
        MsgBox "Kode yg dicari tdk ada", vbCritical, "Kesalahan"
    Else
        tampil
        h = MsgBox("Bener mo dihapus?", vbYesNo + vbQuestion, "Konformasi")
        If h = vbYes Then
            Set RsPeg = dbado.Execute(hapus, , adCmdText)
        End If
        Grid1.Refresh
        awal
    End If
End With
End Sub
Private Sub Command4_Click()
Dim cari As String
x = InputBox("masukan NIP yang dicari", "cari kode")
cari = "select *from pegawai where nip='" & x & "'"
Set RsPeg = dbado.Execute(cari, , adCmdText)
With RsPeg
    If .BOF And .EOF Then
        MsgBox "Kode yg dicari tdk ada", vbCritical, "Kesalahan"
        Grid1.Refresh
        awal
    Else
        tampil
    End If
End With
isi = False
aktif
Text1.Enabled = False
End Sub

Private Sub Command5_Click()
awal
End Sub
Private Sub Command6_Click()
Unload Me
End Sub
Private Sub Command7_Click()
Dim cetak As String
cetak = "SELECT * from pegawai order by nip"
Set RsPeg = dbado.Execute(cetak, , adCmdText)
Crpeg.ReportFileName = App.Path & "\crpeg.rpt"
Crpeg.Destination = crptToWindow
Crpeg.WindowState = crptMaximized
Crpeg.WindowTitle = "Cetak Data Pegawai"
Crpeg.RetrieveDataFiles
Crpeg.Action = 1
End Sub

 
Private Sub Form_Activate()
awal
Combo1.AddItem ("SMA")
Combo1.AddItem ("D3")
Combo1.AddItem ("S1")
End Sub



Private Sub Form_Load()
Call conn
'Set RsPeg = New ADODB.Recordset
'RsPeg.Open "select * from pegawai", dbado, adOpenDynamic, adLockOptimistic
'Set Grid1.DataSource = RsPeg
awal
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Dim cari As String
cari = "select * from pegawai where nip='" & Text1.Text & "'"
Set RsPeg = dbado.Execute(cari, , adCmdText)
With RsPeg
    If .BOF And .EOF Then
        t = MsgBox("Kode " & Text1 & " belum ada, mo tambah data lagi?", vbYesNo + vbQuestion, "Konfirmasi")
        If t = vbYes Then
            'isipeg = True
            Call aktif
            Text2.SetFocus
            Grid1.Refresh
            'cmdsimpan.Enabled = True
            'cmdbatal.Enabled = True
        Else
            Call awal
        End If
    Else
        MsgBox "Kode " & Text1 & " sudah ada", 64, "Ketemu"
        tampil
        Text1.Enabled = False
        'Text1.BackColor = &H80000000
        'cmdhapus.Enabled = True
        'cmdtambah.Enabled = True
        'cmdubah.Enabled = True
        'cmdubah.SetFocus
        'cmdsimpan.Enabled = False
    End If
End With
End If
End Sub
Selamat mencoba dan semoga berhasil...