Как сделать форму и код, чтобы показывать только 1 отчет на 1 данные? - PullRequest
0 голосов
/ 17 сентября 2018

Я использую Visualstudio 2010, MS Access и Crystal Report 8.5. Как кодировать только 1 отчет на 1 ввод данных? что я имею в виду для 1 записи данных: 1 : https://i.stack.imgur.com/y5R2C.jpg.

У меня есть 6 входных данных атм. это решение работает, но оно показывает только 1-й ввод данных, как показать 2-й или 5-й и т. д. для отчета ссылка переполнения стека . Пожалуйста, дайте мне знать ваш ответ полностью, если после кода мне все еще нужно это сделать (ссылка на переполнение стека). Большое спасибо.

Мой код (не может отображать данные, отличные от первых записей):

Imports System.Data.OleDb
Public Class Laporanutama
Public CONN As OleDbConnection
Public CMD As OleDbCommand
    Public DS As New DataSet
    Public DA As OleDbDataAdapter
    Public RD As OleDbDataReader
    Public LokasiData As String
    Dim awal As String
    Dim akhir As String
    Dim ae As String

    Sub Koneksi()
        LokasiData = "provider=microsoft.jet.oledb.4.0;data source=distribusi.mdb"
        CONN = New OleDbConnection(LokasiData)
        If CONN.State = ConnectionState.Closed Then
            CONN.Open()
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        CR.ReportFileName = "BPL1.rpt"
        CR.WindowState = Crystal.WindowStateConstants.crptMaximized
        CR.RetrieveDataFiles()
        CR.Action = 1
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        'lap1.Show()
        'CR.ReportFileName = "Stok.rpt"
        'CR.WindowState = Crystal.WindowStateConstants.crptMaximized
        'CR.RetrieveDataFiles()
        'CR.Action = 1
    End Sub
End Class
  • // Другой код, который я пытаюсь показать 1 отчет для каждой записи данных:

     Imports System.Data.OleDb
    Public Class LaporanBPL
    Public CONN As OleDbConnection
    Public CMD As OleDbCommand
    Public DS As New DataSet
    Public DA As OleDbDataAdapter
    Public RD As OleDbDataReader
    Public LokasiData As String
    Dim awal As String
    Dim akhir As String
    Dim ae As String
    
    
    Sub Koneksi()
        LokasiData = "provider=microsoft.jet.oledb.4.0;data source=C:\Users\ASUS\Documents\Visual Studio 2010\Projects\WindowsApplication14\WindowsApplication14\Database1.mdb"
        CONN = New OleDbConnection(LokasiData)
        If CONN.State = ConnectionState.Closed Then
            CONN.Open()
        End If
    End Sub
    
    
    Sub TampilTanggal()
    
        Call Koneksi()
        CMD = New OleDbCommand("select no_kkp from tb_bpl", CONN)
        RD = CMD.ExecuteReader
        Do While RD.Read
            ComboBox1.Items.Add(RD.Item(0))
        Loop
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If ComboBox1.Text = "" Then
            MsgBox("Pilih dulu Tahunnya")
            Exit Sub
        Else
            CR.SelectionFormula = "({tb_bpl.no_kkp})=" & Val(ComboBox1.Text)
            CR.ReportFileName = "BPL1.rpt"
            CR.WindowState = Crystal.WindowStateConstants.crptMaximized
            CR.RetrieveDataFiles()
            CR.Action = 1
        End If
    End Sub
    
    Private Sub LaporanBPL_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call TampilTanggal()
    End Sub
    
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    
    End Sub
    

    Конечный класс

...