返回首页

您好,我使用微软的MS Access从MySQL数据库database.Actually获取的数据和访问内部存储的ReportViewer,然后查看在ReportViewer。

问题是,只有1报告工作正常,当我尝试运行报告的第二类(不同的查询),它显示"的报告,正在生成"......

当我闭上我的应用程序第一次运行的报告的第二个类型,它运行良好,但结束后,当我运行第一种报告,它显示..."的报告,正在生成"......
任何人都可以解释...

我的代码 - 2 Button的Click事件: -

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

        Try

            Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\mwsm.mdb;Jet OLEDB:Database Password=")

            Dim adap As New OleDbDataAdapter()

            Dim cmd = New OleDbCommand()

            que = "delete from purchase_supply_manager"

            con.Open()

            cmd = New OleDbCommand(que, con)

            cmd.ExecuteNonQuery()

            con.Close()

            If RadioButton1.Checked = True Then

                mon = Month(DateTimePicker1.Value)

                yr = Year(DateTimePicker1.Value)

                idat = DateSerial(yr, mon, 1)

                fdat = DateSerial(yr, mon, 31)

            ElseIf RadioButton2.Checked = True Then

                idat = DateTimePicker2.Value

                fdat = DateTimePicker3.Value

            End If

            If idat >= fdat Then

                MsgBox("Initial Date should be less than Final Date.", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Generate Member's Report")

                Exit Sub

            End If

            If ComboBox3.Text = "" Or ComboBox4.Text = "" Then

                MsgBox("Select a brand,model from list.", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Generate Member's Report")

                Exit Sub

            Else

                query_brand = ComboBox3.Text

                query_model = ComboBox4.Text

            End If

            que = "select * from purchase_supply_manager where date between '" + idat.ToString("yyyy-MM-dd") + "' and '" + fdat.ToString("yyyy-MM-dd") + "' and (brand='" + query_brand + "' and model='" + query_model + "') order by date"

            gc.access1(que)

            If gc.err = False Then

                If gc.rec.Tables(0).Rows.Count > 0 Then

                    myds.Clear()

                    myds = gc.rec.Copy

                    For i As Double = 0 To myds.Tables(0).Rows.Count - 1

                        invo = myds.Tables(0).Rows(i).Item("invoice_no")

                        dat = myds.Tables(0).Rows(i).Item("date")

                        brand = myds.Tables(0).Rows(i).Item("brand")

                        model = myds.Tables(0).Rows(i).Item("model")

                        qnt = myds.Tables(0).Rows(i).Item("quantity")

                        transport = myds.Tables(0).Rows(i).Item("transport_amount")

                        amount = myds.Tables(0).Rows(i).Item("product_amount")

                        discount = myds.Tables(0).Rows(i).Item("discount")

                        misc_charge = myds.Tables(0).Rows(i).Item("misc_charge")

                        sName = myds.Tables(0).Rows(i).Item("supplier_name")

                        que = "insert into purchase_supply_manager values('" + invo + "','" + sName + "','" + dat.ToString("dd-MM-yyyy") + "','" + brand + "','" + model + "'," + qnt.ToString + "," + amount.ToString + "," + discount.ToString + "," + transport.ToString + "," + misc_charge.ToString + ")"

                        con.Open()

                        cmd = New OleDbCommand(que, con)

                        cmd.ExecuteNonQuery()

                        con.Close()

                    Next

                    report_purchase.Show()

                    report_purchase.MdiParent = MDIParent1

                    Me.Hide()

                Else

                    MsgBox("No Data Available.", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "Generate Member's Report")

                End If

            End If

        Catch er As Exception

            MsgBox(er.ToString())

        End Try

    End Sub

 

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Try

            Dim con As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\mwsm.mdb;Jet OLEDB:Database Password=")

            Dim adap As New OleDbDataAdapter()

            Dim cmd = New OleDbCommand()

            que = "delete from purchase_supply_manager"

            con.Open()

            cmd = New OleDbCommand(que, con)

            cmd.ExecuteNonQuery()

            con.Close()

            If RadioButton1.Checked = True Then

                mon = Month(DateTimePicker1.Value)

                yr = Year(DateTimePicker1.Value)

                idat = DateSerial(yr, mon, 1)

                fdat = DateSerial(yr, mon, 31)

            ElseIf RadioButton2.Checked = True Then

                idat = DateTimePicker2.Value

                fdat = DateTimePicker3.Value

            End If

            If idat >= fdat Then

                MsgBox("Initial Date should be less than Final Date.", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Generate Member's Report")

                Exit Sub

            End If

            If ComboBox2.Text = "" Then

                MsgBox("Select a supplier from list.", MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, "Generate Member's Report")

                Exit Sub

            Else

                sName = ComboBox2.Text

            End If

            que = "select * from purchase_supply_manager where date between '" + idat.ToString("yyyy-MM-dd") + "' and '" + fdat.ToString("yyyy-MM-dd") + "' and supplier_name='" + sName + "' order by date"

            gc.access1(que)

            If gc.err = False Then

                If gc.rec.Tables(0).Rows.Count > 0 Then

                    myds.Clear()

                    myds = gc.rec.Copy

                    For i As Double = 0 To myds.Tables(0).Rows.Count - 1

                        invo = myds.Tables(0).Rows(i).Item("invoice_no")

                        dat = myds.Tables(0).Rows(i).Item("date")

                        brand = myds.Tables(0).Rows(i).Item("brand")

                        model = myds.Tables(0).Rows(i).Item("model")

                        qnt = myds.Tables(0).Rows(i).Item("quantity")

                        transport = myds.Tables(0).Rows(i).Item("transport_amount")

                        amount = myds.Tables(0).Rows(i).Item("product_amount")

                        discount = myds.Tables(0).Rows(i).Item("discount")

                        misc_charge = myds.Tables(0).Rows(i).Item("misc_charge")

                        sName = myds.Tables(0).Rows(i).Item("supplier_name")

                        que = "insert into purchase_supply_manager values('" + invo + "','" + sName + "','" + dat.ToString("dd-MM-yyyy") + "','" + brand + "','" + model + "'," + qnt.ToString + "," + amount.ToString + "," + discount.ToString + "," + transport.ToString + "," + misc_charge.ToString + ")"

                        con.Open()

                        cmd = New OleDbCommand(que, con)

                        cmd.ExecuteNonQuery()

                        con.Close()

                    Next

                    report_purchase.Show()

                    report_purchase.MdiParent = MDIParent1

                    Me.Hide()

                Else

                    MsgBox("No Data Available.", MsgBoxStyle.OkOnly + MsgBoxStyle.Information, "Generate Member's Report")

                End If

            End If

        Catch er As Exception

            MsgBox(er.ToString())

        End Try

    End Sub

回答

评论会员: 时间:2
t