Anda di halaman 1dari 41

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

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

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

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

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

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

Pemanfaatan SQL server dengan VB6

Indoprog

Oleh : Hendra, ST.

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

4. Kemudian tentukan lokasi penyimpanan cdnAHRDMS.ldfog file), pada tab


Transaction Log

Indoprog

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

5. Kemudian klik pada Ok, dan akan muncul nama database cdnAHRDMS pada
group database

Indoprog

10

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

3. Kemudian klik pada save, dan tentukan nama tabel anda.

Indoprog

12

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

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

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

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

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

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

5. Pilih tabel yang digunakan dalam View Tersebut :

5. Dan Lakukan designer View Anda.

Indoprog

19

Pemanfaatan SQL server dengan VB6

Indoprog

Oleh : Hendra, ST.

20

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

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

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
DECLARE
DECLARE
DECLARE

@KD_DLR AS TKodeCustomer;
@TPAYMENT AS THARGA;
@DEPOSIT AS THARGA;
@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

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

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

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

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

Dalam hal ini operator perlu secara manual melakukan duplikasi file
C:\BACKUP\cdnAHRDMS.BAK ke Hardisk di D:

Indoprog

28

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

4. Dan pada File name isikan C:\Backup\cdnAHRDMS.BAK (hasil duplikasi dari


CD), dan klik pada OK, dan OK lagi

Indoprog

30

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

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

4. Ketik xxxxxx pada confirm, dan klik pada Ok

Indoprog

33

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

Pilih Database anda :

Ketik perintah SQL anda, dan klik pada

Indoprog

untuk menjalankan :

35

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

Membuat Database dengan TSQL


CREATE DATABASE [cdnAHRDMS] ON (NAME = N'cdnAHRDMS_Data', FILENAME =
N'C:\Database\cdnAHRDMS.mdf' , SIZE = 7, FILEGROWTH = 10%) LOG ON (NAME
= N'cdnAHRDMS_Log', FILENAME = N'C:\Database\cdnAHRDMS_log.ldf' , SIZE
= 46, FILEGROWTH = 10%)

Membuat Tabel dengan TSQL


CREATE TABLE [H3_AHM_MASTER_PARTS] (
[PART_NO] [TKodePart] NOT NULL ,
[PART_NAME] [TPartDescription] NULL ,
[PART_GROUP] [TPartGroup] NULL ,
[PART_RANGE] [char] (1) NULL ,
[KELBRG] [varchar] (6) NULL ,
[MOTOR_TYPE] [varchar] (40) NULL ,
[STATUS] [char] (1) NULL ,
[FRG] [char] (1) NULL ,
[PNT] [char] (1) NULL ,
[FAST_SLOW] [char] (1) NULL ,
[RANK] [char] (1) NULL ,
[HARGA_JUAL] [THarga] NULL ,
[HARGA_TERENDAH] [THarga] NULL ,
[HET] [THarga] NULL ,
[HETKECIL] [THarga] NULL ,
[HARGA_POKOK] [THarga] NULL ,
[LEAD_TIME] [int] NULL ,
[MIN_ORDER] [TQty] NULL ,
[MIN_STOCK] [TQty] NULL ,
[MAX_STOCK] [TQty] NULL ,
[SAFETY_STOCK] [TQty] NULL ,
[ITEMPERPACK] [int] NULL ,
[SATUAN] [varchar] (10) NULL ,
[SATUANKECIL] [varchar] (10) NULL ,
[KODE_LOKASI] [TKodeLokasi] NULL ,
[NO_RAK] [TNoRak] NULL ,
[QTYONHAND] [TQty] NULL ,
[C_BY] [varchar] (20) NULL ,
[C_TIME] [datetime] NULL ,
[M_BY] [varchar] (20) NULL ,
[M_TIME] [datetime] NULL
) ON [PRIMARY]

Membuat Primary Key


ALTER TABLE [dbo].[H3_AHM_MASTER_PARTS] WITH NOCHECK ADD
CONSTRAINT [PK_H3_DATAPART] PRIMARY KEY CLUSTERED
(
[PART_NO]
) WITH FILLFACTOR = 90 ON [PRIMARY]

Indoprog

36

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

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

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

Selanjutnya proses design report tidak jauh berbeda dengan sumber data yang berasal dari
.Mdb.

Indoprog

39

Pemanfaatan SQL server dengan VB6

Oleh : Hendra, ST.

Menampilkan Report pada Visual Basic (SQL Server)


Sumber data Tabel atau View
Dim
Dim
Dim
Dim

xApp As New CRAXDRT.Application


xRpt As New CRAXDRT.Report
xServer As String
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
Dim
Dim
Dim
Dim
Dim

xApp As New CRAXDRT.Application


xRpt As New CRAXDRT.Report
crParamDefs As CRAXDRT.ParameterFieldDefinitions
crParamDef As CRAXDRT.ParameterFieldDefinition
xServer As String
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

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

Anda mungkin juga menyukai