Cara Mengatasi Password Database Login Crystal Report (1)

 

Catatan :

a)       Tools Vb.Net

b)      Database sql server menggunakan user id dan password

 

1.      Buatlah laporan dengan crystal report

2.      Dimpan laporan dengan nama BUKU.RPT di bin>debug

3.      Buatlah form seperti gambar di bawah ini

 

 

4.      Form terdiri dari sebuah crystalreportviewer kemudian diganti nama menjadi CRV

5.      Coding :

 

Imports CrystalDecisions.CrystalReports.Engine

Public Class Form1

 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim rpt As New ReportDocument

        rpt.Load("buku.rpt")

        rpt.SetDatabaseLogon("sa", "123")

        CRV.ReportSource = rpt

        CRV.RefreshReport()

    End Sub

End Class

 

Cara Mengatasi Password Database Login Crystal Report (2)

 

Seringkali kita dapati kasus seperti ini, padahal pada saat laporan dibuat dengan crystal report semuanya berjalan dengan mulus, tapi ketika "ditarik" dari aplikasi muncul permintaan login seolah-olah databasenya diberi password.

 

 

Cara untuk mengatasi hal tersebut adalah dengan mengikuti gambar - gambar di bawah ini :

 

 

 

 

 

 

 

 

Isilah nama server, user name, password dan nama database dengan benar

 

 

 

 

Dengan Langkah-langkah diatas, disimpulkan bahwa pembuatan laporan dilakukan dengan menggukanan string koneksi = OLEDB, bukan dengan DSN atau ODBC. Setelah itu buatlah form seperti gambar berikut

 

 

Form diatas terdiri dari sebuah button dan crystalreportviewer, Lalu ketiklah coding dibawah ini:

 

Imports System.Data.SqlClient

Imports CrystalDecisions.CrystalReports.Engine

Imports CrystalDecisions.Shared

 

Public Class reportpasswordsql

 

    Dim conn As SqlConnection

    Dim rpt As New ReportDocument

    Dim log As New TableLogOnInfo

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

        conn = New SqlConnection("data source=user-pc;initial catalog=dbgl;user id=sa;password=123")

        conn.Open()

 

        rpt.Load("lap perkiraan.rpt")

 

        log.ConnectionInfo.ServerName = "USER-PC"

        log.ConnectionInfo.DatabaseName = "DBGL"

        log.ConnectionInfo.UserID = "sa"

        log.ConnectionInfo.Password = "123"

 

        For i As Integer = 0 To rpt.Database.Tables.Count - 1

            rpt.Database.Tables(i).ApplyLogOnInfo(log)

        Next

 

        rpt.VerifyDatabase()

        CrystalReportViewer1.ReportSource = rpt

        CrystalReportViewer1.RefreshReport()

 

    End Sub

End Class

 

Cara Menghilangkan Password Database Login Crystal Report  (3)

 

 

1.      Membuat database dengan nama "DBService" (boleh mdb atau accdb, dalam contoh ini menggunakan accdb - access 2007, 2010)

2.      Membuat tabel dengan nama "barang" dan mengisi tabel secara manual (sebagai demo)

3.      Membuat laporan dengan crystal report (diambil dari tabel dan simpan dengan nama "barang.rpt" di posisi bin\debug)

4.      Membuat form pemanggil laporan

a.      Tambahkan sebuah button

b.      Tambahkan sebuah crystalreport(viewer) dan ubah namanya menjadi CRV

 

 

Imports CrystalDecisions.CrystalReports.Engine

Imports CrystalDecisions.Shared

Public Class Form1

    Dim laporan As New ReportDocument

    Dim TabelLogon As CrystalDecisions.Shared.TableLogOnInfo

    Sub SetingLaporan()

        Dim BacaTabel As CrystalDecisions.CrystalReports.Engine.Table

        For Each BacaTabel In laporan.Database.Tables

            TabelLogon = BacaTabel.LogOnInfo

            With TabelLogon.ConnectionInfo

                .ServerName = Application.StartupPath & "\Dbsercive.accdb"

                .UserID = ""

                .Password = ""

                .DatabaseName = ""

            End With

            BacaTabel.ApplyLogOnInfo(TabelLogon)

        Next BacaTabel

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        laporan.Load(Application.StartupPath & "\barang.rpt")     

   Call SetingLaporan()

        CRV.ReportSource = laporan

    End Sub

End Class