Cara pembuatan client-server dengan menggunakan data karyawan
Server
Login
Form login
Perintah program nya
Private Sub Command1_Click()
If user.Text = "hery" And password.Text = "0902" Then
MDIForm1.Show
ElseIf user.Text = "" & password.Text = "" Then
MsgBox "Silahkan masukkan password login", vbCritical, "info"
user.SetFocus
Else
MsgBox "Password yang anda inputkan salah", vbCritical, "info"
user.Text = ""
password.Text = ""
End If
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
user.Text = ""
password.Text = ""
password.PasswordChar = "*"
End Sub
Setelah anda buat login terus anda link kan ke MDI
Form MDI
Listing program nya
Private Sub e_Click()
Unload Me
End Sub
Private Sub ldm_Click()
Datakaryawan.Show
End Sub
Lalu anda memilih laporan data karyawan
Listing program nya
Modul
Public db As New ADODB.Connection
Public rs As New ADODB.Recordset
Public rs2 As New ADODB.Recordset
Public SQL As String
Sub opendb()
If db.State = adStateOpen Then db.Close
db.CursorLocation = adUseClient
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\hery siregar\Documents\db1.mdb;Persist Security Info=False"
End Sub
Sub clearform(f As Form)
Dim ctl As Control
For Each ctl In f
If TypeOf ctl Is TextBox Then ctl.Text = ""
If TypeOf ctl Is ComboBox Then ctl.Text = ""
Next
End Sub
Sub center(f As Form)
f.Move (Screen.Width - f.Width) / 2, (Screen.Height - f.Height) / 4
End Sub
Sub rubahcmd(f As Form, L0 As Boolean, L1 As Boolean, L2 As Boolean, L3 As Boolean)
f.cmdproses(0).Enabled = L0
f.cmdproses(1).Enabled = L1
f.cmdproses(2).Enabled = L2
f.cmdproses(3).Enabled = L3
End Sub
Data karyawan
Private Sub cmdproses_Click(Index As Integer)
Select Case Index
Case 0
Call hapus
nik.SetFocus
Case 1
If cmdproses(1).Caption = "&Simpan" Then
Call prosesDB(0)
Else
Call prosesDB(1)
End If
Case 2
X = MsgBox("yakin RECORD karyawan akan dihapus...!", vbQuestion + vbYesNo, "karyawan")
If X = vbYes Then prosesDB 2
Call hapus
nik.SetFocus
Case 3
Call hapus
nik.SetFocus
Case 4
Unload Me
End Select
End Sub
Sub hapus()
nik.Enabled = True
clearform Me
Call rubahcmd(Me, True, False, False, False)
cmdproses(1).Caption = " &Simpan"
End Sub
Private Sub Form_Load()
Call opendb
Call hapus
mulaiserver
End Sub
Sub prosesDB(log As Byte)
Select Case log
Case 0
SQL = "INSERT INTO karyawan(nik,nama,alamat)" & _
"values('" & nik.Text & _
"','" & nama.Text & _
"','" & alamat.Text & "')"
Case 1
SQL = "UPDATE karyawan SET nama='" & nama.Text & "'," & _
"alamat='" & alamat.Text & "' " & _
"WHERE nik='" & nik.Text & "'"
Case 2
SQL = "DELETE FROM karyawan WHERE nik='" & nik.Text & "'"
End Select
MsgBox "Pemrosesan record karyawanbase telah berhasil....!!", vbInformation, "karyawan"
db.BeginTrans
db.Execute SQL, adCmdTable
db.CommitTrans
Call hapus
Adodc1.Refresh
nik.SetFocus
End Sub
Sub tampilkaryawan()
On Error Resume Next
nik.Text = rs!nik
nama.Text = rs!nama
alamat.Text = rs!alamat
End Sub
Sub mulaiserver()
ws.LocalPort = 1000
ws.Listen
End Sub
Private Sub nik_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If nik.Text = "" Then
MsgBox "Masukkan nik!", vbInformation, "karyawan"
nik.SetFocus
Exit Sub
End If
SQL = " SELECT * FROM karyawan WHERE nik='" & nik.Text & "'"
If rs.State = adStateOpen Then rs.Close
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount <> 0 Then
tampilkaryawan
Call rubahcmd(Me, False, True, True, True)
cmdproses(1).Caption = "&Edit"
nik.Enabled = False
Else
X = nik.Text
Call hapus
nik.Text = X
Call rubahcmd(Me, False, True, False, True)
cmdproses(1).Caption = "&Simpan"
End If
nama.SetFocus
End If
End Sub
Private Sub ws_ConnectionRequest(ByVal requestID As Long)
ws.Close
ws.Accept requestID
Me.Caption = "server-client" & ws.RemoteHostIP & "connect"
End Sub
Private Sub ws_karyawanArrival(ByVal bytesTotal As Long)
Dim xkirim As String
Dim xkaryawan1() As String
Dim xkaryawan2() As String
ws.Getkaryawan xkirim, vbString, bytesTotal
xkaryawan1 = Split(xkirim, "-")
Select Case xkaryawan1(0)
Case "SEARCH"
SQL = " delete * FROM karyawan " & _
" where nik= '" & xkaryawan1(1) & "'"
SQL = "SELECT * FROM karyawan WHERE nik='" & xkaryawan1(1) & "'"
If rs.State = adStateOpen Then rs.Close
rs.Open SQL, db, adOpenDynamic, adLockOptimistic
If rs.RecordCount <> 0 Then
ws.Sendkaryawan "RECORD-" & rs!nama & "/" & rs!alamat
Else
ws.Sendkaryawan "NOTHING-karyawan"
End If
Case "INSERT"
db.BeginTrans
db.Execute xkaryawan1(1), adCmdTable
db.CommitTrans
Adodc1.Refresh
ws.Sendkaryawan "INSERT-XXX"
Case "UPDATE"
db.BeginTrans
db.Execute xkaryawan1(1), adCmdTable
db.CommitTrans
Adodc1.Refresh
ws.Sendkaryawan "UPDATE-XXX"
Case "DELETE"
SQL = " delete * FROM karyawan " & _
" where nik= '" & xkaryawan1(1) & "'"
db.BeginTrans
db.Execute SQL, adCmdTable
db.CommitTrans
Adodc1.Refresh
ws.Sendkaryawan "DEL-xxx"
End Select
End Sub
Client
Login
Form login
Perintah program nya
Private Sub Command1_Click()If user.Text = "hery" And password.Text = "0902" Then
MDIForm1.Show
ElseIf user.Text = "" & password.Text = "" Then
MsgBox "Silahkan masukkan password login", vbCritical, "info"
user.SetFocus
Else
MsgBox "Password yang anda inputkan salah", vbCritical, "info"
user.Text = ""
password.Text = ""
End If
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
user.Text = ""
password.Text = ""
password.PasswordChar = "*"
End Sub
Setelah anda buat login terus anda link kan ke MDI
Form MDI
Listing program nya
Private Sub e_Click()
Unload Me
End Sub
Private Sub ldm_Click()
Datakaryawan.Show
End Sub
Lalu anda memilih laporan data karyawan
Form data karyawan
Listing program nya
Dim IpServer As String
Sub hapus()
nik.Enabled = True
ClearFORM Me
Call rubahCMD(Me, True, False, False, False)
cmdproses(1).Caption = "&Simpan"
End Sub
Sub prosesDB(log As Byte)
Select Case log
Case 0
SQL = "INSERT INTO data(nik,nama,alamat)" & _
"values('" & nik.Text & _
"','" & nama.Text & _
"','" & alamat.Text & "')"
Case 1
SQL = "UPDATE data SET nama='" & nama.Text & "'," & _
"alamat='" & alamat.Text & "' " & _
"where nik='" & nik.Text & "'"
Case 2
SQL = "DELETE FROM data WHERE nik='" & nik.Text & "'"
End Select
MsgBox "pemrosesan RECORD database telah berhasil...!", vbInformation, "data"
Call hapus
nik.SetFocus
End Sub
Private Sub cmdproses_Click(Index As Integer)
Select Case Index
Case 0
Call hapus
nik.SetFocus
Case 1
If cmdproses(1).Caption = " &Simpan" Then
Else
SQL = "UPDATE data Set " & _
"nama = '" & nama.Text & _
"' , alamat= '" & alamat.Text & _
"' where nik= '" & nik.Text & "'"
ws.SendData "UPDATE-" & SQL
End If
Case 2
X = MsgBox("yakin RECORD data akan dihapus...!", vbQuestion + vbYesNo, "data")
If X = vbYes Then
ws.SendData "DELETE-" & nik.Text
End If
Call hapus
nik.SetFocus
Case 3
Call hapus
nik.SetFocus
Case 4
Unload Me
End Select
End Sub
Private Sub Form_Load()
Call hapus
mulaikoneksi
End Sub
Sub mulaikoneksi()
IpServer = "192.168.10.1"
IPClient = ws.LocalIP
ws.Connect IpServer, 1000
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
DoEvents
End
End Sub
Private Sub nik_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
If nik.Text = "" Then Exit Sub
ws.SendData "SEARCH-" & nik.Text
End If
End Sub
Private Sub ws_DataArrival(ByVal bytesTotal As Long)
Dim xkirim As String
Dim xdata1() As String
Dim xdata2() As String
ws.GetData xkirim, vbString, bytesTotal
xdata1 = Split(xkirim, "-")
Select Case xdata1(0)
Case "NOTHING"
X = nik.Text
Call hapus
nik.Text = X
Call rubahCMD(Me, False, True, False, True)
cmdproses(1).Caption = "&Simpan"
nama.SetFocus
Case "RECORD"
xdata2 = Split(xdata1(1), "/")
nik.Text = xdata2(0)
nama.Text = xdata2(1)
alamat.Text = xdata2(2)
Call rubahCMD(Me, False, True, True, True)
cmdproses(1).Caption = "&Edit"
nik.Enabled = False
nama.SetFocus
Case "DEL"
MsgBox "penghapusan data berhasil!"
Call hapus
Case "EDIT"
MsgBox "Pengeditan Record berhasil!"
Call hapus
End Select
End Sub
Cara koneksi ke database
Pertama anda harus membuat data base nya terlebih dahulu dari
Start - all program - ms office - lalu pilih ms acces
Create a new file - blank database - lalu buat nama database nya
Create table in design view - isi field nya - save(ctrl+w)
Buat nama table nya lalu kembali ke table nya dan isi record nya
Selesai lah pembuatan table nya
Lalu anda koneksikan dari
Adodc klik kanan lalu pilih Adodc properties
Klik build pada menu general
Klik connection lalu pilih dari brows dan pilih database nya
Lalu pilih menu bar - record source
Ganti command type menjadi 2-adCmd table
Dan pilih table nya dari pilihan yang no :2(table or stored procedure name)
Lalu copy kan yang ada di menu general(use connection string)
Dan pastekan di listing program modul(db.open”…”)
Adapun Langkah-langkah koneksi ke database adalah sebagai berikut:
Langkah 1
Langkah 2
Langkah 3
Langkah 4
Tidak ada komentar:
Posting Komentar