Dokumen tersebut membahas tentang pengenalan MSDE sebagai versi desktop dari SQL Server, langkah-langkah instalasi MSDE dan database, pembuatan tabel, trigger, view, stored procedure, serta pengaturan manajemen backup database."
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Pemanfaatan sql server dengan vb6
1. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Pengenalan MSDE
MSDE merupakan versi desktop untuk SQL Server, MSDE dapat diinstalasi pada
komputer yang tidak menggunakan sistem operasi Server (NT Server, Win 2000 Server,
maupun 2003 Server), MSDE dapat diinstalasi pada komputer dengan sistem operasi Win
98/2000/XP.
MSDE ditujukan untuk programmer yang ingin belajar pemrograman dengan SQL
Server, dan selanjutnya program dan database yang telah dibuat dapat dipindahkan ke
SQL Server tanpa adanya perubahan.
Pada MSDE dibatasi jumlah concurrent connection adalah 5, dan ukuran database
dibatasi s/d 2 GB, jadi pada prinsipnya dapat digunakan pada program skala menengah ke
bawah.
Langkah Instalasi MSDE dan Database
1. Instalasi MSDE = Microsft SQL Dekstop Engine
MSDE merupakan versi SQL Server untuk sistem operasi non-Server.
a. Masukan CD SQL Server 2000, dan Double klik pada folder MSDE
b. Double klik pada Setup.exe
Indoprog 1
2. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
c. Proses Instalasi akan dijalankan
d. Lakukan Restart komputer anda.
2. Instalasi program SQL Server Client
a. Buka CD SQL Server 2000, lakukan double klik pada Autorun
b. Klik pada SQL Server 2000 Components
Indoprog 2
3. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
b. Klik pada Install Database Server
c. Akan muncul bahwa komponen client yang dapat diinstalasi, klik pada Ok
d. Dan kemudian klik next sampai selesai.
Indoprog 3
4. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
3. Setting MSDE Service
a. Jalankan SQL server enterprised manager
b. Klik kanan pada SQL Server Group, dan pilih New SQL Server
Registration
Indoprog 4
5. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
c. Beri tanda Check pada From now on, I want to perform this task without
wizard.
d. Isikan pada dialog box berikut :
Server : Pilih local dari drop down list, dan klik pada Ok.
e. Klik pada pada Local, dan pilih Properties
Indoprog 5
6. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
f. Beri tanda check pada Auto Start SQL Server, dan Auto Start SQL Server
Agent.
dan klik pada tab Security (Penting), dan pilih
Authentication SQL Server and Window, dan
klik pada Ok.
Indoprog 6
8. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Membuat Database dengan SQL Enterprised Manager
Database pada SQL Server akan tersimpan pada sebuah file dengan extension .Mdf dan
secara otomatis akan terbentuk sebuah log file .Ldf
1. Pada Database, klik kanan dan pilih New Database
2. Ketik nama database yang ingin dibuat pada Tab General
3. Kemudian tentukan lokasi penyimpanan cdnAHRDMS.mdf (database file), pada
tab Data Files
Indoprog 8
9. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
4. Kemudian tentukan lokasi penyimpanan cdnAHRDMS.ldfog file), pada tab
Transaction Log
Indoprog 9
10. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
5. Kemudian klik pada Ok, dan akan muncul nama database cdnAHRDMS pada
group database
Indoprog 10
11. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Membuat Tabel
Pembuatan tabel pada SQL Server, hampir menyerupai cara pembuatan tabel pada
Microsoft Access.
1. Pada Tabel, klik kanan dan pilih New Table
2. Kemudian muncul suatu jendela untuk mengetikan struktur database anda :
2. Selanjutnya ketiklah struktur database anda
Indoprog 11
12. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
3. Kemudian klik pada save, dan tentukan nama tabel anda.
Indoprog 12
13. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Membuat Trigger pada Tabel
Fasilitas Trigger tidak tersedia pada MDB, dan merupakan salah satu keunggulan dari
database yang berbasis SQL Server seperti Oracle, DB2, Sybase, SQL Server, Interbase,
dan Firebird.
Trigger merupakan pemicu bagi SQL Server untuk melakukan suatu aksi sesuai dengan
proses yang dilakukan terhadap tabel tertentu, misalnya perintah Insert, Update dan
Delete.
Biasanya Trigger digunakan untuk mempertahankan business rule pada kaitannya dengan
database.
Misalnya, pada proses penjualan akan mengurangi qty part on hand, dan proses
penerimaan akan menambah qty part on hand.
Pada teknik pemrograman database .MDB, tentu saja hal tersebut dapat dilakukan dengan
melakukan pemrograman, tetapi pada SQL Server, hal tersebut secara otomatis dilakukan
oleh Server, sehingga lebih efektif.
1. Klik Kanan pada tabel yang ingin dibuat triggernya berkaitan dengan proses
Insert, Update atau Delete
2. Akan muncul dialog Trigger properties, dan disana anda dapat mengetikan
perintah SQL untuk pembuatan trigger yang dimaksud
Indoprog 13
14. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
3. Kemudian klik pada Ok.
Script untuk proses INSERT dan UPDATE detail Faktur Penjualan
CREATE TRIGGER H3_CDN_PART_KELUAR_DTL_INSERT
ON dbo.H3_CDN_PART_KELUAR_DTL
FOR INSERT, UPDATE
Indoprog 14
15. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
AS
IF UPDATE(QTY) OR UPDATE(JENIS) OR UPDATE(PART_NO) OR UPDATE(KODE_LOKASI0) OR
UPDATE(KODE_LOKASI1)
BEGIN
UPDATE H3_AHM_MASTER_PARTS_LOKASI
SET QTYONHAND = QTYONHAND +
Isnull((SELECT SUM(CASE WHEN JENIS='4' OR JENIS='6' OR JENIS ='A' THEN -QTY
ELSE QTY END) FROM INSERTED WHERE PART_NO=H3_AHM_MASTER_PARTS_LOKASI.PART_NO AND
KODE_LOKASI0=H3_AHM_MASTER_PARTS_LOKASI.KODE_LOKASI),0)
WHERE PART_NO+KODE_LOKASI IN (SELECT PART_NO+KODE_LOKASI0 FROM INSERTED)
UPDATE H3_AHM_POD_DTL
SET QTY_SUPPLY = QTY_SUPPLY +
Isnull((SELECT SUM(CASE WHEN JENIS='4' OR JENIS='6' OR JENIS ='A' THEN QTY
ELSE -QTY END) FROM INSERTED WHERE PODDTLID=H3_AHM_POD_DTL.PODDTLID),0)
WHERE PODDTLID IN (SELECT PODDTLID FROM INSERTED)
END
Script untuk proses DELETE dan UPDATE detail Faktur Penjualan
CREATE TRIGGER H3_CDN_PART_KELUAR_DTL_DELETE
ON dbo.H3_CDN_PART_KELUAR_DTL
FOR UPDATE, DELETE
AS
IF UPDATE(QTY) OR UPDATE(JENIS) OR UPDATE(PART_NO) OR UPDATE(KODE_LOKASI0) OR
UPDATE(KODE_LOKASI1)
BEGIN
UPDATE H3_AHM_MASTER_PARTS_LOKASI
SET QTYONHAND = QTYONHAND +
Isnull((SELECT SUM(CASE WHEN JENIS='4' OR JENIS='6' OR JENIS ='A' THEN QTY
ELSE -QTY END) FROM DELETED WHERE PART_NO=H3_AHM_MASTER_PARTS_LOKASI.PART_NO AND
KODE_LOKASI0=H3_AHM_MASTER_PARTS_LOKASI.KODE_LOKASI),0)
WHERE PART_NO+KODE_LOKASI IN (SELECT PART_NO+KODE_LOKASI0 FROM DELETED)
UPDATE H3_AHM_POD_DTL
SET QTY_SUPPLY = QTY_SUPPLY +
Isnull((SELECT SUM(CASE WHEN JENIS='4' OR JENIS='6' OR JENIS ='A' THEN -QTY
ELSE QTY END) FROM DELETED WHERE PODDTLID=H3_AHM_POD_DTL.PODDTLID),0)
WHERE PODDTLID IN (SELECT PODDTLID FROM DELETED)
END
Indoprog 15
16. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Membuat Database Diagram
Database diagram digunakan untuk menggambarkan relationship antar tabel didalam
dabatabase untuk memelihara Referensial Integrity.
1. Pada Diagram klik New Database Diagram
2. Kemudian tambahkan database yang akan dibuat diagramnya, serta tarik field
yang saling berhubungan.
Indoprog 16
17. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
3. Tentukan jenis relationship, dengan klik kanan pada garis relation, dan pilih
properties
4. Dan pilih Cascade Update Related Fields atau Cascade Delete Related Fields.
Indoprog 17
18. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Membuat View
Membuat View di SQL Server, menyerupai pembuatan View pada Access.
1. Pada View, klik kanan dan pilih New View
2. Kemudian akan muncul suatu jendela tempat mendesign View
4. Klik kanan dan pilih Add Table
Indoprog 18
19. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
5. Pilih tabel yang digunakan dalam View Tersebut :
5. Dan Lakukan designer View Anda.
Indoprog 19
21. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Membuat Store Procedure
Store Procedure merupakan perintah-perintah SQL yang terkompilasi dan tersimpan pada
Server, pada saat dibutuhkan dapat langsung dieksekusi tanpa melalui proses kompilasi
ulang.
Store Procedure pada SQL Server menyerupakan Sub Rutin pada bahasa pemrograman,
dimana dapat menerima input, dan mengembalikan output parameter.
Store Procedure juga dapat mengembalikan recordset seperti pada View, Cuma
perbedaannya Store Procedure memiliki performance yang lebih baik karena langsung
dapat dijalankan oleh server.
Store Procedure pada SQL Server menggunakan bahasa TSQL yang didefinisikan oleh
Microsoft.
1. Klik kanan pada Store Procedure dan pilih New Stored Procedure.
2. Selanjutnya akan ditampilkan jendela New Stored Procedure sebagai tempat
mengetik TSQL Script anda.
Indoprog 21
22. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
3. Ketikan TSQL Script anda.
CREATE PROCEDURE CANCEL_H0_CDN_AR_LUNAS
(
@NODOC AS CHAR(10),
@RESULT AS INT OUTPUT
Indoprog 22
23. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
)
AS
BEGIN
DECLARE @TOTALBARIS AS INTEGER
SET @TOTALBARIS = 0;
DECLARE CS CURSOR LOCAL FORWARD_ONLY STATIC
FOR SELECT KD_DLR,CASH+GIRO+LAIN-DEPOSIT, NOTT FROM
H0_CDN_AR_LUNAS
WHERE NODOC = @NODOC AND STATUS = 'N' FOR READ ONLY;
OPEN CS;
DECLARE @KD_DLR AS TKodeCustomer;
DECLARE @TPAYMENT AS THARGA;
DECLARE @DEPOSIT AS THARGA;
DECLARE @NOTT AS TNOTT;
FETCH NEXT FROM CS
INTO @KD_DLR, @TPAYMENT,@NOTT;
WHILE @@FETCH_STATUS = 0
BEGIN
SET @TOTALBARIS = @TOTALBARIS + 1;
DECLARE CS1 CURSOR LOCAL FORWARD_ONLY STATIC
FOR SELECT NOAR, PAYMENT, ARLUNASARID FROM H0_CDN_AR_LUNAS_AR
WHERE NODOC = @NODOC AND STATUS = 'N' FOR READ ONLY;
OPEN CS1;
DECLARE @NOAR AS TNOAR;
DECLARE @PAYMENT AS THARGA;
DECLARE @ARLUNASARID AS INT;
FETCH NEXT FROM CS1
INTO @NOAR, @PAYMENT, @ARLUNASARID;
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE H0_CDN_AR_LUNAS_AR SET STATUS = 'C' WHERE ARLUNASARID =
@ARLUNASARID;
FETCH NEXT FROM CS1
INTO @NOAR, @PAYMENT, @ARLUNASARID;
END
CLOSE CS1;
DEALLOCATE CS1;
DECLARE CS2 CURSOR LOCAL FORWARD_ONLY STATIC
FOR SELECT NILAI, ARLUNASGIROID FROM H0_CDN_AR_LUNAS_GIRO
WHERE NODOC = @NODOC AND STATUS = 'N' FOR READ ONLY;
OPEN CS2;
DECLARE @NILAI AS THARGA;
DECLARE @ARLUNASGIROID AS INT;
FETCH NEXT FROM CS2
INTO @NILAI,@ARLUNASGIROID;
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE H0_AHM_DEALERS SET GIRO = GIRO - @NILAI WHERE KD_DLR=
@KD_DLR;
UPDATE H0_CDN_AR_LUNAS_GIRO SET NOGIRO = 'X' + NOGIRO, STATUS =
Indoprog 23
24. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
'C' WHERE ARLUNASGIROID = @ARLUNASGIROID;
FETCH NEXT FROM CS2
INTO @NILAI,@ARLUNASGIROID;
END
CLOSE CS2;
DEALLOCATE CS2;
UPDATE H0_CDN_AR_LUNAS_DTL SET STATUS = 'C' WHERE NODOC = @NODOC;
UPDATE H0_CDN_AR_LUNAS SET STATUS = 'C', POSTING = 'C' WHERE NODOC =
@NODOC;
UPDATE H0_CDN_AR_TT SET STATUS = 'L' WHERE NOTT = @NOTT;
FETCH NEXT FROM CS
INTO @KD_DLR, @TPAYMENT,@NOTT;
END
CLOSE CS;
DEALLOCATE CS;
SET @RESULT = @TOTALBARIS;
END
Indoprog 24
25. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Setting Manajemen Backup
Salah satu fasilitas yang unggul pada MSDE adalah adanya fasiltias Management Backup
yang mana kita dapat membuat suatu Schedule backup yang otomatis dijalankan oleh
komputer.
Anda harus mengaktifkan SQL Server Agent untuk proses manajemen Backup yang
menggunakan Schedule.
1. Klik kanan pada Backup, dan pilih Backup a Database
2. Kemudian pada Database pilih cdnAHRDMS, dan beri tanda check pada
Schedule, dan klik … untuk melakukan Schedule
Indoprog 25
26. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
3. Pada Name ketik Backup, dan klik pada Change
4. Pada Occurs, pilih Daily, dan klik pada Ok, Ok, Ok
Indoprog 26
27. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
5. Lakukan klik pada Jobs
dan akan tampil task berikut ini :
Pengaturan diatas, akan menyebabkan komputer secara otomatis melakukan backup
terhadap database cdnAHRDMS setiap jam 12:00 siang
Indoprog 27
28. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Dalam hal ini operator perlu secara manual melakukan duplikasi file
C:BACKUPcdnAHRDMS.BAK ke Hardisk di D:
Indoprog 28
29. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Melakukan Restore Database
Database yang telah dibackup dapat direstore kembali dengan nama yang sama maupun
nama baru yang diinginkan :
1. Klik kanan pada Database, pilih All Tasks dan pilih Restore Database
2. Pada Restore as database ketik cdnAHRDMS, kemudian pilih From Device, dan
klik pada Select Device
3. Lakukan klik pada Add
Indoprog 29
30. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
4. Dan pada File name isikan C:BackupcdnAHRDMS.BAK (hasil duplikasi dari
CD), dan klik pada OK, dan OK lagi
Indoprog 30
31. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
5. Klik pada Tab Options, dan beri tanda Check pada Force restore over existing
database, dan klik pada Ok.
a. Dan Jika berhasil akan muncul dialog box berikut ini bahwa proses restore
berhasil.
b. Dan selanjutnya pada Database akan bertambah cdnAHRDMS.
Indoprog 31
32. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Setting Password sa
Setting password sa sangat penting dilakukan mengingat sa merupakan sistem
administrator yang dapat melakukan berbagai aktifitas pada Data maupun database server
anda.
1. Klik pada Login
2. Double klik pada sa
3. Ketik xxxxx pada Password, dan klik pada Ok
Indoprog 32
33. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
4. Ketik xxxxxx pada confirm, dan klik pada Ok
Indoprog 33
34. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Menggunakan Query Analyzer
Pada konsep SQL Server, semua komunikasi antara Client dengan server diwujudkan
dalam perintah-perintah SQL (TSQL).
Sebagai programmer yang menggunakan database Server, anda wajib menguasai bahasa
SQL untuk menghasilkan program yang efektif dan efisien.
Untuk pengolahan data di SQL Server, anda dapat menggunakan Query Analyzer, dan
menjalankannya untuk melihat hasilnya.
Isikan login name dan password anda :
Indoprog 34
35. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Pilih Database anda :
Ketik perintah SQL anda, dan klik pada untuk menjalankan :
Indoprog 35
37. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Koneksi program VB dengan SQL Server
Kunci dari koneksi antara program anda dengan SQL Server adalah pada Connection
String :
Public MyConn As New ADODB.Connection
MyConn.ConnectionString = "Provider=SQLOLEDB.1;Password=xxxxxx;Persist Security
Info=True;User ID=sa;Initial Catalog=CdnAHRDMS;Data Source=namaserver;”
MyConn.CursorLocation = adUseClient
MyConn.Open
Membuka Recordset
Proses membuka recordset dilakukan seperti pembukaan recordset biasanya pada
database .mdb.
Dim Rs As Recordset
Set RsMaster = New Recordset
RsMaster.Open "H3_AHM_Master_Parts", MyConn, adOpenDynamic, adLockOptimistic
Menjalankan Stored Procedure
Dim MyComm As Command
Set myComm.ActiveConnection = MyConn
myComm.CommandText = "POSTING_KE_H3_CDN_PART_KARTU_PART"
myComm.CommandType = adCmdStoredProc
myComm.Parameters.Append myComm.CreateParameter("@TANGGAL1", adDate,
adParamInput, , txtTanggal1.Value)
myComm.Parameters.Append myComm.CreateParameter("@TANGGAL2", adDate,
adParamInput, , txtTanggal2.Value)
myComm.Parameters.Append myComm.CreateParameter("@KODE_LOKASI", adVarChar,
adParamInput, 10, txtKodeLokasi.Text)
myComm.Parameters.Append myComm.CreateParameter("@SUMBER", adChar,
adParamInput, 2, txtSumber.Text)
myComm.Parameters.Append myComm.CreateParameter("@RESULT", adInteger,
adParamOutput)
myComm.Execute
nResult1 = myComm.Parameters("@RESULT")
If nResult1 = -1 Then
MsgBox "Posting Gagal, ada SPB yang belum ada intransit !", vbOKOnly +
vbInformation, "PERHATIAN"
End If
Indoprog 37
38. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Konektivitas Crystal Report dengan SQL Server
Design report dengan sumber data
Klik pada More Data Sources, dan DblClik pada Microsoft SQL Server
Kemudian akan muncul dialog berikut, isikan nama server, user id, password, dan nama
database sumber data.
Selanjutnya klik pada tombol Option untuk menampilakn sumber data report yang
menggunakan Storeprocedure.
Indoprog 38
39. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Selanjutnya proses design report tidak jauh berbeda dengan sumber data yang berasal dari
.Mdb.
Indoprog 39
40. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
Menampilkan Report pada Visual Basic (SQL Server)
Sumber data Tabel atau View
Dim xApp As New CRAXDRT.Application
Dim xRpt As New CRAXDRT.Report
Dim xServer As String
Dim xDatabase As String
Private Sub Form_Load()
xServer = "cdnsql”
xDatabase = "cdnAHRDMS"
Set xRpt = xApp.OpenReport("C:fbindoprog.rpt")
xRpt.DiscardSavedData
xRpt.Database.LogOnServerEx "p2ssql.dll", xServer, xDatabase, "sa", "xxxxxx"
xRpt.Database.Tables(1).SetLogOnInfo xServer, xDatabase, "sa", "xxxxxx"
xRpt.Database.Tables(1).Location = xDatabase & ".dbo.LAPORAN_MUTASI_STOCK"
CRViewer.ReportSource = xRpt
CRViewer.ViewReport
End Sub
Catatan :
Kalau nama server/database berbeda pada saat implementasi dengan ketika design, maka
akan muncul pesan berikut :
Solusinya adalah menanbah tiga baris berikut ini :
xRpt.Database.LogOnServerEx "p2ssql.dll", xServer, xDatabase, "sa", "xxxxxx"
xRpt.Database.Tables(1).SetLogOnInfo xServer, xDatabase, "sa", "xxxxxx"
xRpt.Database.Tables(1).Location = xDatabase &".dbo.Proc(LAPORAN_MUTASI_STOCK)"
Sumber data Storeprocedure
Dim xApp As New CRAXDRT.Application
Dim xRpt As New CRAXDRT.Report
Dim crParamDefs As CRAXDRT.ParameterFieldDefinitions
Dim crParamDef As CRAXDRT.ParameterFieldDefinition
Dim xServer As String
Dim xDatabase As String
Private Sub Form_Load()
xServer = "cdnsql”
xDatabase = "cdnAHRDMS"
Set xRpt = xApp.OpenReport("C:fbindoprog.rpt")
xRpt.DiscardSavedData
xRpt.Database.LogOnServerEx "p2ssql.dll", xServer, xDatabase, "sa", "xxxxxx"
xRpt.Database.Tables(1).SetLogOnInfo xServer, xDatabase, "sa", "xxxxxx"
xRpt.Database.Tables(1).Location = xDatabase &".dbo.Proc(LAPORAN_MUTASI_STOCK)"
xRpt.EnableParameterPrompting = False
Set crParamDefs = xRpt.ParameterFields
Indoprog 40
41. Pemanfaatan SQL server dengan VB6 Oleh : Hendra, ST.
For Each crParamDef In crParamDefs
Select Case crParamDef.ParameterFieldName
Case "@DARITANGGAL"
crParamDef.SetCurrentValue DlgLMutasiStokL.txtDariTanggal.Value
Case "@SAMPAITANGGAL"
crParamDef.SetCurrentValue DlgLMutasiStokL.txtSampaiTanggal.Value
Case "@KODELOKASI"
crParamDef.SetCurrentValue DlgLMutasiStokL.cboKodeLokasi.Text
End Select
Next
CRViewer.ReportSource = xRpt
CRViewer.ViewReport
End Sub
Indoprog 41