レポート ビューアーを使用して 3 つのドロップダウン ボックスを一覧表示する Crystal Report があります。ユーザーは、各ボックスからフィルタリングを選択できます (たとえば、「含む」、「始まる」などを選択できる姓と名のドロップダウン。次に、「より大きい」、「未満」、など。各ドロップダウンには、ユーザーが選択したとおりにフィルタリングできるテキストボックスが含まれています。
名と姓のドロップダウンを、レコード選択式のそれぞれと連携して機能させることができました。ただし、販売の式を追加しようとすると、エラーが発生し続けます。私は何時間も頭を悩ませ、レコード選択式に複数の式を追加する方法を研究しました。それを使用して名と姓を正常に追加しましたが、販売式を追加するすべての方法が機能しません. それだけで (姓と名の数式なしで) 販売数式は正しく機能しますが、3 つすべてを一緒に機能させることはできません。
どんな助けでも大歓迎です。以下は私がこれまでに持っているコードです。
`パブリック クラス Form1
Private Sub btnSearch_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSearch.Click
Dim reportToView As New CrystalReport1
'User inputs filters for first name
Dim firstname As String
Dim searchFirst As String
firstname = txtFirstName.Text
Dim firstnamesearch As String
'Begins with
If cboFirstName.SelectedIndex = 0 Then
searchFirst = firstname & "*"
'Ends with
ElseIf cboFirstName.SelectedIndex = 1 Then
searchFirst = "*" & firstname
'Contains
ElseIf cboFirstName.SelectedIndex = 2 Then
searchFirst = "*" & firstname & "*"
'Equals
ElseIf cboFirstName.SelectedIndex = 3 Then
searchFirst = firstname
End If
'User inputs filters for last name
Dim lastname As String
lastname = txtLastName.Text
Dim searchLast As String
Dim lastnamesearch As String
'Begins with
If cboLastName.SelectedIndex = 0 Then
searchLast = lastname & "*"
'Ends with
ElseIf cboLastName.SelectedIndex = 1 Then
searchLast = "*" & lastname
'Contains
ElseIf cboLastName.SelectedIndex = 2 Then
searchLast = "*" & lastname & "*"
'Equals
ElseIf cboLastName.SelectedIndex = 3 Then
searchLast = lastname
End If
'User inputs filters for sales data
Dim lastsales As String
lastsales = txtLastYearSales.Text
Dim searchSales As String
Dim salesearch As String
'If "Greater Than" chosen
If cboLastYearSales.SelectedIndex = 0 Then
searchSales = " >" + lastsales
'If "Less Than" chosen
ElseIf cboLastYearSales.SelectedIndex = 1 Then
searchSales = " < " + lastsales
'If "Equal" chosen
ElseIf cboLastYearSales.SelectedIndex = 2 Then
searchSales = " = " + lastsales
End If
'Dim firstnamesearch As String
firstnamesearch = "{Person_Contact.FirstName} like """ & searchFirst & """"
'Dim lastnamesearch As String
lastnamesearch = "{Person_Contact.LastName} like """ & searchLast & """"
'Dim salesearch As String
'(これは、以下のレコード選択式に追加したいものです) salessearch = "{Sales_SalesPerson.SalesLastYear} " + searchSales
'AND formula (must select an option in all fields)
reportToView.DataDefinition.RecordSelectionFormula = "{Person_Contact.FirstName} like '" & searchFirst & "' AND {Person_Contact.LastName} like '" & searchLast & "'"
Me.CrystalReportViewer1.ReportSource = reportToView
End Sub
`