我在名为(Crystal1)的报表上绘制了17个框,该框从右到左分布在三列中,第一列包含7个框,第二列包含7个框,第三列包含3个框。每个框包含3个IFieldObject(FactoryId1-FactoryRoom1 -FactoryName1)。在我的访问表1中,我有几条记录,可能是250条,也许300条,也许是500条记录。一个房间最多只包含17条记录,可能少于17条记录。我想通过ComboBox1选择已经由数字填充的房间号1至100,并且仅打印ComboBox1选择的房间记录。 使用此代码,当我要打印时,我的Crystal1上的所有17个标签将显示第一条记录。 我知道如何使用“跨选项卡”来执行此操作,但是不幸的是,由于使用了“跨选项卡”选项,我无法从右到左显示记录
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Rpt1 As New Crystal1
Try
If ComboBox1.Text = vbNullString Then
MessageBox.Show("Choose room number please", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.RightAlign)
Else
Dim Dt As New DataTable
Dim Str As String = "Select * From Table1 Where Factory_Room_Number LIKE '" & ComboBox1.Text & "'"
Dim Da As New OleDbDataAdapter(Str, Conne)
Da.Fill(Dt)
Rpt1.SetDataSource(Dt)
End If
Catch
End Try
Dim Frm As New Form2
Me.Dispose()
Frm.Show()
Frm.CrystalReportViewer1.ReportSource = Rpt1
End Sub