VB WITH MS ACCESS OR MS ACCESS WITH VB ?

Author: ronggo warsidi /

Membuat Koneksi Database Access menggunakan Visual Basic 6.0Untuk menjadi Programmer kita harus menguasai beberapa coding dasar dari sebuah koneksi yang sederhana. Dalam kesempatan ini saya akan membahas coding koneksi menggunakan Access yang merupakan program aplikasi database dasar yang sering digunakan di lingkungan perkantoran.
Database latihan :
Tabel barang
Kode barang
Nama barang
Harga beli
Harga jual
stok
satuan






Sebenarnya dalam pembuatan table diatas tidak terlalu diperlukan dalam pembahasan ini tetapi hanya untuk informasi belaka. Untuk memberi penjelasan kepada pembaca.Yang harus diperhatikan dalam materi ini adalah pemahaman dari coding koneksi itu sendiri.Yang pertama dilakukan adalah membuat module dahulu untuk pemanggilan koneksi dari database.Setelah membuat koneksi masukan coding sebagai berikut :
Public cn As New ADODB.Connection
Public Sub BukaDB()
Dim koneksi As String
koneksi = “provider=microsoft.jet.oledb.4.0; Data source= ” & App.Path & “\latihan.mdb;”
cn.Open koneksi
End Sub
Perhatikan kode diatas, jangan sampai asal menulis saja tetapi anda harus bisa memahaminya dengan benar, yang pertama yaitu
Public cn As New ADODB.Connection
Berfungsi untuk membuat variable bersifat public menggunakan ADODB
Dim koneksi As String
Berfungsi untuk membuat variable bersifat private bertipe string
koneksi = “provider=microsoft.jet.oledb.4.0; Data source= ” & App.Path & “\latihan.mdb;”
Merupakan kode utama dari koneksi yang dibutuhkan. Yang pertama menggunakan provider Microsoft jet oledb 4.0 yang memanggil data source/sumber data dari database latihan.mdb
cn.Open koneksi
Visual Basic ? programmer mana sih yang nggak kenal sama tool yang satu ini?
nggak usah saya sebutin apa itu Visual Basic.
Lalu Ms Access, sebuah aplikasi yang menangani database, aplikasi ini biasanya sudah satu paket dengan Microsoft Office Aplication.
Keduanya merupakan keluarga besar keturunannya Om Bill Gates. Sebagai satu keluarga maka wajarlah bila satu sama lain dapat dikombinasikan untuk saling melengkapi.
lalu mengapa aku pake judul diatas ?

Sebagai tool programming yang powerful, Visual Basic kaya akan library-library yang mendukung pengelolaan database Ms Access, meski banyak jenis data lain yang didukung (txt, xls, xml, mysql dll)
Banyak sekali aplikasi VB jadi, baik mass product maupun rancangan software house yang menggunakan Ms Access sebagai basis datanya. Dengan demikian kemampuan VB dalam mengelola database Ms Access tidak diragkan lagi.

Lalu Ms Access sendiri, adalah sebuah RDBMS (relational database management system ) yang terintegrasi dalam satu file. didalam Ms access kita sudah dapat mendefinisikan tabel, query, relation, bahkan form dan report.
Kehebatan Ms Access adalah kita dapat menyusun aplikasi secara interaktif dan profesional dengan bantuan Visual Basic for Aplication (VBA).
VBA itu apa to ? mbuh lah, lha wong saya juga nggak terlalu mudeng, tapi kayaknya tuh semacam Visual Basic yang sudah terintegrasi dengan Office Aplication (Ms Excel, Word, MS Access).
Jadi didalam Ms Access kita dapat menyisipkan kode-kode VB (misalnya di dalam form dan report) agar lebih powerfull dalam mengelola database.
Menurut saya sebenarnya ‘kekuatan’ utama Ms Access adalah VBA itu sendiri, disamping integrasi yang sangat bagus dengan aplikasi office saudaranya.

Kesimpulannya, Kita dapat membuat aplikasi pengelolaan database dengan Visual Basic yang berbasis data Ms Access, juga bisa dengan ‘pure’ Ms Access Aplication yang di bumbui dengan VBA.

lalu gimana enaknya mas djmumun ?
Relatif sih. Bagi para suhu - suhu VB mungkin tertawa dengan dengan tulisan ini. Bagaimanapun dengan Visual Basic, anda dapat membuat aplikasi yang lebih kompleks. Fitur Installer yang bagus sehingga kita bisa membuat aplikasi standalone, tanpa tergantung dengan aplikasi lain .

tapi bagi saya bila database Ms-Access (bukan data berbasis yang lain, mis mysql, oracle, dll) yang menjadi point utama, mending langsung pake Ms Access aja.
fitur - fitur nya yang interaktif dan user friendly, -apalagi dengan wizard-wizardnya - sangat membantu saya dalam membuat aplikasi secara ’sedap sekejap’.
Kalo masih kurang puas dengan wizard yang ada (biasa nih.. penyakit) anda dapat mengoprek dengan memberi kode - kode VBA.
Buka aja Visual Basic Editor, silahkan tuliskan kode - kode (kebanyakan saya sih cuman kopi paste . . . ), dan lihatlah aplikasi ms access anda nggak kalah dengan yang buatan Visual Basic.
kendalanya mungkin dalam distribusinya.
komputer pemakai musti terinstall minimal Microsoft Access Runtime atau Microsoft Office profesional

Ada beberapa definisi tentang arsitektur yaitu sebagai berikut
 Menurut Laundon,Arsitektur informasi adalah bentuk khusus yang
menggunakan teknologi informasi dalam organisasi untuk mencapai tujuantujuan
maupun fungsi-fungsi yang telah dipilih.
 Menurut Zwsas,Arsitektur informasi adalah desain sistem komputer secara
keseluruhan termasuk sistem jaringan untuk memenuhi kebutuhan-kebutuhan
organisasi yang spesifik

Arsitektur Informasi menggunakan arsitektur teknologi dibedakan atas 3 macam yaitu
 Arsitektur tersentralisasi
Arsitektur ini telah dikenal sejak tahun 1960-an dengan mainframe sebagai
faktor utama.Mainframe adalah komputer yang berukuran relatif besaruntuk
menangani data yang berukuran besar dengan ribuan terminal untuk mengakses data
dengan tanggapan yang sangat cepat dan melibatkan jutaan transaksi.
Implementasinya adalah pemrosesan data yang terpusat/komputasi
terpusat.Semua pemrosesan data dilakukan oleh komputer yang ditempatkan didalam
suatu lokasi untuk melayani semua pemakai dalam organisasi

Arsitektur Desentralisasi
Arsitektur desentralisasi merupakan konsep dari pemrosesan data
tersebar/terdistribusi.Sistem pemrosesan data terdistribusi/komputasi tersebar sebagai
sistem yang terdiri atas sejumlah komputer yang tersebar pada berbagai lokasi yang
dihubungkan dengan sarana telekomunikasi dengan masing-masing komputer mampu
melakukan pemrosesan yang serupa secara mandiri,tetapi bisa saling berinteraksi
dalam pertukaran data

Arsitektur Client/Server
Server adalah sistem/proses yang menyediakan data/layanan yang diminta oleh
client.Server dapat berupa komputer (mainframe,mini komputer,workstation,ataupun
PC ) atau piranti lain misalnya printer.
Client mempunyai kemampuan untuk melakukan proses sendiri.Ketika sebuah client
meminta suatu data ke server,server akan segera menanggapinya dengan memberikan
data yang diminta ke client bersangkutanSeteleh diterima client akan melakukan
pemrosesan.Model komputasi yang berbasis client/server terdapat pada sistem
operasi.

SISTEM INFORMASI MANAJEMEN

Author: ronggo warsidi /

Sistem Informasi Manajemen adalah sekumpulan hardware, software, brainware, prosedur dan atau aturan yang diorganisasikan secara integral untuk mengolah data menjadi informasi yang bermanfaat guna memecahkan masalah dan pengambilan keputusan.



Komponen Sistem Informasi

Komponen keras ( Hardware )
Perangkat lunak ( Software ) atau program
Prosedur
Orang
Basis Data ( Database )
Jaringan Komputer dan Komunikasi Data

SISTEM INFORMASI PRIBADI
3 Macam Arsitektur dalam Sistem Informasi
Arsitektur tersentralisasi
Arsitektur terdistribusi
Arsitektur Client / Server

KONEKSI VB DENGAN MS.ACCES
1. Masuk ke sebuah folder/drive yang Anda inginkan.
2. Klik kanan di area kosong dan pilih New--> Text Document
3. Kemudian abaikan untuk mengubah namanya (langsung enter saja).
4. Setelah itu, jalankan file text document itu tadi (biasanya akan
masuk ke notepad) dan pilih save as dengan nama file terserah anda
tetapi extensionnya gunakan *.udl
c:/ con.udl
5. Jika berhasil, maka di folder/drive itu akan muncul sebuah file baru
dengan extension udl. (File text document nya bisa anda hapus).
6. Jalankan file *.udl itu. Pada bagian tab "Provider" pilih provider
dengan nama : "Microsoft Jet 4.0 OLE DB Provider" (Ini provider untuk
database Ms Access). Lalu klik tombol Next
7. Pada tab "Connection", silahkan cari database access anda dengan
mengklik tombol browse (...) disebelah kanan. Lalu tekan tombol "Test
Connection", jika berhasil maka akan ada pesan bahwa test koneksi
berhasil, jika tidak biasanya database access yang anda pilih sedang
digunakan (coba tutup dulu saja). Selanjutnya klik tombol OK.
8. Kembali menuju file *.udl yang tadi. Sekarang klik kanan file
tersebut dan pilih Open With --> Notepad.
9. Setelah notepad terbuka anda akan melihat ada 3 baris isi dari file
tersebut. Yang akan anda gunakan untuk menghubungkan VB 6 dengan Ms
Access adalah ada pada baris ke-3. Oleh karena itu silahkan copy seluruh
baris ke tiga tersebut. (Dimulai dari tulisan provider sampai akhir baris).
----------------------------------------------------------
--Coding di VB6--

1. Pada source code vb 6 anda, silahkan pilih menu Project -->
References. Lalu cari "Microsoft ActiveX Data Objects 2.x Library".
Maksud dari 'x' disamping adalah versinya. Biasanya ada v 2.1, 2.2, 2.3,
dst. Saran saya pilih versi dibawah satu versi yang tertinggi. Misal yg
tertinggi 2.6 maka biasanya saya memilih yang 2.5 (Soalnya waktu saya
lihat di bagian Location nya (ada dibagian bawah) yang versi tertinggi
memiliki versi file yang lebih rendah. Misalnya v 2.6 filenya
"msado15.tlb" sedangkan yg v 2.5 filenya "msado25.tlb". Saya sendiri
masih bingung dengan hal ini. Jadi sebaiknya anda memilih satu versi
dibawah versi tertinggi.

2. Kemudian untuk lebih mudahnya, anda bisa tambahkan sebuah modul dalam
source code vb 6 anda. Dan tuliskan coding dibawah ini:
~~~~~~~~~~~~~~~~~Batas Awal Coding~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*Public con As New ADODB.Connection
Public rs As ADODB.Recordset
Public src As String*

*Sub BukaKoneksi()
Set con = New ADODB.Connection
con.Open "(baris ke 3 yang anda copy tadi tanpa tanda kurung)"*

' contohnya : con.open "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=D:\My Documents\My Project\Proyek Keni\db_blackcute.mdb;Persist
Security Info=False"
' untuk flexibilitas program anda, sebaiknya anda pindahkan
database anda menjadi satu folder dengan source code vb6 anda. Jika anda
mengikuti saran saya, maka
' coding untuk koneksi sedikit diubah menjadi :

'* con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
app.path & "\db_blackcute.mdb;Persist Security Info=False*
' dengan demikian dimanapun anda jalankan program anda maka anda
tidak perlu mengkonfigurasi secara manual lokasi databasenya.
*End Sub

Sub buka_rs()
Set rs = New ADODB.Recordset
rs.Open src, con, 1, 3

End Sub*
~~~~~~~~~~~~~~~~~~~~Batas Akhir Coding~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. Setelah coding diatas anda masukkan ke dalam modul. Maka sekarang
anda sudah bisa bermain-main dengan database access anda melalui VB 6.
4. Contoh penggunaannya :

* Private Sub Form_Load()*
*BukaKoneksi* 'untuk membuka jalur komunikasi dengan
database anda

*src = "" * from MsBarang"* 'perintah sql untuk
membuka/memanipulasi tabel pada database anda
*buka_rs* 'menjalankan perintah sql diatas.

*end sub*
5. Jadi yang perlu anda perhatikan dalam coding diatas adalah, sub
"BukaKoneksi" pada modul hanya akan kita letakkan pada Form_Load di
masing-masing form. Sedangkan untuk variabel 'src' dan sub "buka_rs"
bisa anda gunakan dimanapun dalam source code vb 6 anda untuk
membuka/memanipulasi tabel2 yang ada di database anda. Ingat !! variabel
'src' selalu bergandengan dengan sub "buka_rs". Karena sub "buka_rs"
membutuhkan isi dari variabel 'src' untuk melakukan tugasnya.



'the following constants are used to give the lights a certain colorConst Off = &H8000000FConst Red = vbRedConst Green = vbGreenConst Orange = &H80C0FF'a simple traffic junction of two perpendicular crossing streets'consists of 4 traffic poles. Each traffic pole has a green, orange'and red light. There is always just one light on per pole.'The traffic lights control on one of those junctions has just 4'statusses. The current status is stored in the variable "Status".Dim Status As Integer'The time a status lasts, is derived from the following constants, which'indicate the time in seconds.Const TimeForStatus1 = 5Const TimeForStatus2 = 3Const TimeForStatus3 = 5Const TimeForStatus4 = 3Private Sub SetStatus(ByVal intStatus As Integer)'Set the status variable to the new statusStatus = intStatus'Turn off all the lightsshpLamp1Groen.FillColor = OffshpLamp1Oranje.FillColor = OffshpLamp1Rood.FillColor = OffshpLamp2Groen.FillColor = OffshpLamp2Oranje.FillColor = OffshpLamp2Rood.FillColor = OffshpLamp3Groen.FillColor = OffshpLamp3Oranje.FillColor = OffshpLamp3Rood.FillColor = OffshpLamp4Groen.FillColor = OffshpLamp4Oranje.FillColor = OffshpLamp4Rood.FillColor = Off'Turn on the appropriate lights with the correct color,'depending on the current statusSelect Case intStatus 'or "Select Case Status", won't make any differenceCase 1shpLamp1Rood.FillColor = RedshpLamp2Groen.FillColor = GreenshpLamp3Rood.FillColor = RedshpLamp4Groen.FillColor = GreenTimer1.Interval = TimeForStatus1 * 1000Case 2shpLamp1Rood.FillColor = RedshpLamp2Oranje.FillColor = OrangeshpLamp3Rood.FillColor = RedshpLamp4Oranje.FillColor = OrangeTimer1.Interval = TimeForStatus2 * 1000Case 3shpLamp1Groen.FillColor = GreenshpLamp2Rood.FillColor = RedshpLamp3Groen.FillColor = GreenshpLamp4Rood.FillColor = RedTimer1.Interval = TimeForStatus3 * 1000Case 4shpLamp1Oranje.FillColor = OrangeshpLamp2Rood.FillColor = RedshpLamp3Oranje.FillColor = OrangeshpLamp4Rood.FillColor = RedTimer1.Interval = TimeForStatus4 * 1000End Select'We need to call the following subroutineRefreshLightsEnd SubPrivate Sub RefreshLights()'This subroutine makes sure that de data on the screen is'displayed correctlyshpLamp1Groen.RefreshshpLamp1Oranje.RefreshshpLamp1Rood.RefreshshpLamp2Groen.RefreshshpLamp2Oranje.RefreshshpLamp2Rood.RefreshshpLamp3Groen.RefreshshpLamp3Oranje.RefreshshpLamp3Rood.RefreshshpLamp4Groen.RefreshshpLamp4Oranje.RefreshshpLamp4Rood.RefreshEnd SubPrivate Sub Form_Load()'When the programs starts, it starts with status 1SetStatus 1'Initializing the timer will start the timer1_timer subroutine after the'set interval has elapsed (in milliseconds)Timer1.Interval = TimeForStatus1 * 1000End SubPrivate Sub Timer1_Timer()'Change to the next statusStatus = Status + 1'If the next status is 5 then we need to change it back to oneIf Status = 5 Then Status = 1SetStatus StatusEnd Sub

MULOK : VISUAL BASIC
1. Skrip yang masih tergolong bahasa pemrograman bahasa level Rendah adalah : 0B38:0100 B402
2. Skrip yang masih tergolong bahasa pemrograman bahasa level menengah adalah : Mov AH,02h
3. Skrip yang masih tergolong bahasa pemrograman bahasa level tinggi adalah : Write(‘A’);
4. Berisi Data atau program adalah bagian definisi dari : file
5. Kumpulan instruksi / perintah yang dirangkaian sehingga membentuk suatu proses dinamakan :program
6. Apa yang dimaksud dengan meng-Compile instruksi program yang dibuat : memeriksa program yang telah disusun
7. Flowchart berfungsi sebagai : alat bantu yang berupa simbol – simbol yang saling dihubungkan sehingga dapat menggambarkan alur pikir sebuah program atau permasalahan yang akan diproses dengan progam komputer.
8. Contoh Bahasa Pemrograman Berbasis Teks, kecuali: Visual basic
9. Bahasa Pemrograman Visual Basic memiliki karakter utama yakni event driven yang bermakna : Program menunggu user menjalankan program
10. Berikut yang bukan termasuk Event adalah : Merubah tampilan window
11. Salah satu contoh Properties yakni : Bentuk tampilan di window dapat anda ubah melalui template(cetakan) yang disediakan.
12. Yang dimaksud dengan methode adalah : susunan perintah yang dikerjakan bila event dijalankan
13. Jelaskan tujuan program berikut : Private Sub Lblnama_DblClick()Lblnama.caption =“ Saya sedang Belajar Visual Basic”End Sub
Jika diklik 2 kali maka akan ditampilkan “Saya sedang Belajar Visual Basic.
14. Apa Perbedaan dari Combo Box dengan List Box :Combo box tampilannya hanya satu sedangkan List box menampilkan beberapa pilihan.
15. Property Alignment pada label berfungsi untuk :Mengatur tata letak teks.16. Tempat dimana kita membuat tampilan (user interface) dari program aplikasi dinamakan :properties17. Dengan melihat tampilan program diatas,komponen yang dibutuhkan adalah :
18. Dengan melihat gambar diatas, komponen yang ditunjuk oleh label A adalah :
19. Dengan melihat gambar diatas, komponen yang ditunjuk oleh label A adalah :
20. Dengan melihat gambar diatas, komponen yang ditunjuk oleh label A adalah :


Dim NewElement As Integer (membuat variable / elemen baru sebagai integer)Private Sub Form_Click (membuat bentuk klik yang bisa diinput gambar) ()Load Image1(NewElement)Image1(NewElement).Visible = True(menentukan letak gambar)'Image1(NewElement).Top = Image1(NewElement - 1).Top'Image1(NewElement).Left = Image1(NewElement - 1).Left + 495( Menambah komponen dengan berurutan satu persatu)'NewElement = NewElement + 1'==================================================(utk mengatur tmpt ackan dng kode)'For Random Placement use this code:Image1(NewElement).Top = CInt(Form1.Height * Rnd (menentkan ltak ackan))Image1(NewElement).Left = CInt(Form1.Width * Rnd (menentkan ltak ackan))NewElement = NewElement + 1 ( Menambah komponen dengan berurutan satu persatu) '=================================================="End SubPrivate Sub Form_Load (menmplkan pesn sesuai dng properties isi_pesan dan judl_pesn yg di input melalui komponen yg kita buat)()NewElement = 1 (jml komponen yg ditmbahkan secra berurutn)End Sub (mengakhiri)


Private Declare Function GetTickCount Lib "kernel32" () As Long 'this function lets us not use timer'timers are bad :)
'main body... each part of the snake has X and YPrivate Type PartX As IntegerY As IntegerEnd Type
'Dynamic array to store part coordinatesDim Part() As Part
'Velocity in X and Y direction of the snakeDim vX As Integer, vY As IntegerDim i As Integer 'for loopsDim CS As Single 'cell size
Dim FX As Integer, FY As Integer 'food coordinatesDim X As Integer, Y As Integer
Dim bRunning As Boolean, died As Boolean
Private Sub Form_Load()Randomize 'random generation
'Initialize controls******************Picture1.BackColor = vbWhitePicture1.ScaleMode = 3 'pixels
CS = 20 'cell size in pixelsX = Int(Picture1.ScaleWidth / CS)Y = Int(Picture1.ScaleHeight / CS)
Picture1.AutoRedraw = TruePicture1.ScaleWidth = X * CSPicture1.ScaleHeight = Y * CS
Me.WindowState = 2Me.Show
DrawGrid Picture1, CS'*************************************
died = False'set up the gameReDim Part(0)Part(0).X = 0Part(0).Y = 0
FX = Int(Rnd * X)FY = Int(Rnd * Y)'go to main loopbRunning = TrueMainLoopEnd Sub
Sub MainLoop()Do While bRunning = True Update Draw WAIT (50) 'increasing this number makes game slowerLoop
Unload MeEnd Sub
Sub Update()'MOVE PARTSFor i = UBound(Part) To 1 Step -1 Part(i).X = Part(i - 1).X Part(i).Y = Part(i - 1).YNext i
'MOVE HEADPart(0).X = Part(0).X + vXPart(0).Y = Part(0).Y + vY
'HAS HE GONE OUT OF BOUNDS ?If Part(0).X <>= X Or Part(0).Y <>= Y Thendied = TrueEnd If
'HAS HE CRASHED INTO HIMSELF ?For i = 1 To UBound(Part)If Part(i).X = Part(0).X And Part(i).Y = Part(0).Y Thendied = TrueEnd IfNext i
'DID HE EAT FOOD ?If Part(0).X = FX And Part(0).Y = FY Then ReDim Preserve Part(UBound(Part) + 1) Part(UBound(Part)).X = -CS Part(UBound(Part)).Y = -CS FX = Int(Rnd * X) FY = Int(Rnd * Y) Form1.Caption = "Parts: " & UBound(Part)End If
'IS HE DEAD ?If died = True Then NewGameEnd Sub
Sub Draw() 'DRAW WHITENESS Rectangle 0, 0, X * CS, Y * CS, vbWhite 'DRAW SNAKE. PARTS IN BLUE, HEAD IN GREEN For i = 1 To UBound(Part) Rectangle Part(i).X * CS, Part(i).Y * CS, Part(i).X * CS + CS, Part(i).Y * CS + CS, vbBlue Next i Rectangle Part(0).X * CS, Part(0).Y * CS, Part(0).X * CS + CS, Part(0).Y * CS + CS, vbGreen 'DRAW FOOD Rectangle FX * CS, FY * CS, FX * CS + CS, FY * CS + CS, vbRed DrawGrid Picture1, CSEnd Sub
Sub Rectangle(X1 As Integer, Y1 As Integer, X2 As Integer, Y2 As Integer, color As Long) Picture1.Line (X1, Y1)-(X2, Y2), color, BFEnd Sub
Sub NewGame()'SET UP NEW GAMEdied = False
ReDim Part(0)Part(0).X = 0Part(0).Y = 0
vX = 0vY = 0
FX = Int(Rnd * X)FY = Int(Rnd * Y)End Sub
Sub DrawGrid(Pic As Control, CS As Single) '************************************************************************** 'DRAW GRID '************************************************************************** Dim i As Integer, Across As Single, Up As Single Across = Pic.ScaleWidth / CS Up = Pic.ScaleHeight / CS For i = 0 To Across Pic.Line (i * CS, 0)-(i * CS, Up * CS) Next i For i = 0 To Up Pic.Line (0, i * CS)-(Across * CS, i * CS) Next iEnd Sub
Sub WAIT(Tim As Integer) '************************************************************************** 'WAIT FUNCTION '************************************************************************** Dim LastWait As Long LastWait = GetTickCount Do While Tim > GetTickCount - LastWait DoEvents LoopEnd Sub
Private Sub Picture1_KeyDown(KeyCode As Integer, Shift As Integer)'USER KEYPRESSES HANDLED HERESelect Case KeyCodeCase vbKeyRightvX = 1vY = 0Case vbKeyLeftvX = -1vY = 0Case vbKeyUpvX = 0vY = -1Case vbKeyDownvX = 0vY = 1End SelectEnd Sub
Private Sub Picture1_KeyPress(KeyAscii As Integer)'27 is ESC. IF user presses ESC, QUITIf KeyAscii = 27 Then bRunning = FalseEnd Sub
Private Sub Form_Unload(Cancel As Integer)'This function can be left outEndEnd Sub


Option ExplicitDim days As Long '<-Stores the number of days elapsed from 1/1/1900 to current month and yearDim i As Integer
Private Sub cmdGenerate_Click()On Error GoTo Error_handle 'On error, goto to end of functiondays = 0For i = 0 To 34 Label1(i).Caption = "" 'Clear all the labelsNext i
For i = 1900 To txtYear.Text - 1 If i Mod 4 = 0 Then 'If leap year then count 366 days days = days + 366 Else 'else 365 days days = days + 365 End IfNext i
For i = 1 To txtMonth.Text - 1 If i = 1 Or i = 3 Or i = 5 Or i = 7 Or i = 8 Or i = 10 Or i = 12 Then 'For January,March,May....,December count 31 days days = days + 31 ElseIf (i = 4 Or i = 6 Or i = 9 Or i = 11) Then 'For April,June,September,November count 30 days days = days + 30 ElseIf (i = 2 And txtYear.Text Mod 4 = 0) Then 'If month is February and year is leap year count 29 days days = days + 29 Else 'If month is February and year is not a leap year, count 28 days days = days + 28 End If Next i
If (i = 1 Or i = 3 Or i = 5 Or i = 7 Or i = 8 Or i = 10 Or i = 12) Then show_calender 31 'Show calender with 31 days ElseIf (i = 4 Or i = 6 Or i = 9 Or i = 11) Then show_calender 30 'Show calender with 30 days ElseIf (i = 2 And txtYear.Text Mod 4 = 0) Then show_calender 29 'Show calender with 29 days Else show_calender 28 'Show calender with 28 days End IfError_handle:End Sub
Private Function show_calender(n As Integer) '//<- n stores the number of days to displayDim i, k As Integerk = days Mod 7 'Divide days with 7, the remainder give the current dayFor i = 1 To n Label1(k).Caption = i 'Display the number in calender format k = k + 1 If k = 35 Then k = 0Next iEnd Function

CHAPTER3

Author: ronggo warsidi /

chepter2

Author: ronggo warsidi /



chepter1

Author: ronggo warsidi /



RONGGO WARSIDI

Author: ronggo warsidi /

SEM IS ASSHOLE