1

レポート ビューアーを使用して 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

`

4

0 に答える 0