一张表多条件查询

   Try
            Me.Cursor = Cursors.WaitCursor

            Dim sql As String = ""

            Dim WhereStr As String = ""

If Me.SaleOrdingNo.Text.Length > 0 Then
                WhereStr += " and fSaleOrdeNo='" & Me.SaleOrdingNo.Text.Trim & "'"
            End If
            If Me.WriteNo.Text.Length > 0 Then
                WhereStr += " and fWriteNo='" & Me.WriteNo.Text.Trim & "'"//(其中一个查询条件值为空的处理方式:即用Trim()方法)
            End If
            If Me.OrdeMode.Text.Trim <> "" Then
                WhereStr += " and fOrdeStatus = '" & Me.OrdeMode.Text & "'"
            End If
            If Me.SaleMan.Text.Trim <> "" Then
                WhereStr += " and fEmployeeID like '%" & Me.SaleMan.Text & "%'"
            End If


            If Me.OrderCustomerType.Text.Trim <> "" Then
                WhereStr += " and fCustomerType = '" & Me.OrderCustomerType.Text & "' "
            End If


            If Me.txtOrdeType.Text.Length > 0 Then


                Dim OrdeType1 As String = Me.txtOrdeType.Text


                If OrdeType1.EndsWith(",") Then
                    OrdeType1 = OrdeType1.Remove(OrdeType1.Length - 1, 1)
                End If


                Dim Str() As String = OrdeType1.Split(",")
                Dim OrdeType As String = ""


                For i As Int64 = 0 To Str.Length - 1
                    OrdeType += "'" & Str(i) & "',"
                Next
                If OrdeType.EndsWith(",") Then
                    OrdeType = OrdeType.Remove(OrdeType.Length - 1, 1)
                End If


                WhereStr += " and fGoodsType in (" & OrdeType & ")"
            End If


            If Me.OrdeShopNo.Text.Trim <> "" Then
                WhereStr += " and ShopNo like '%" & Me.OrdeShopNo.Text & "%'"
            End If


            If Me.DeliverType.Text.Trim <> "" Then
                WhereStr += " and fDeliverMode like '%" & Me.DeliverType.Text & "%'"
            End If


            If Me.StartDate.Value.ToString.Length > 0 And Me.EndDate.Value.ToString.Length <= 0 Then
                'WhereStr += " and fSaleDate"
            ElseIf Me.StartDate.Value.ToString.Length <= 0 And Me.EndDate.Value.ToString.Length >= 0 Then
                'WhereStr += " and fSaleDate"
            ElseIf Me.StartDate.Value.ToString.Length >= 0 And Me.EndDate.Value.ToString.Length >= 0 Then
                WhereStr += " and fSaleDate between '" & Format(Me.StartDate.Value, "yyyy-MM-dd") & "' and '" & Format(Me.EndDate.Value, "yyyy-MM-dd") & "'"    //时间处理,如:and fSaleDate between '2012-06-25' and '2012-06-25'
            End If
            sql = "select fSaleOrdeNo, fWriteNo, fDeliverMode, fStoreCode, fDeliverDate, fGoodsType, ……fOrdeStatus, isnull(FDSIA,0) as FDSIA, isnull(FDSIB,0) as FDSIB, isnull(FBSI,0) as FBSI, isnull(FTAmount,0)  as FTAmount, isnull(FReceipt,0) as FReceipt, isnull(FRefund,0) as FRefund, fPayMode, fRemark  from V_SaleOrde where 1=1" & WhereStr
            mDatasetA = ReturnDataset(sql)


  Me.DGV_Master.DataSource = mDatasetA.Tables(0)
            bFind = mDatasetA.Tables(0).Rows.Count > 0
            If mDatasetA.Tables(0).Rows.Count > 0 Then

               ‘(Private mDatasetA As DataSet)
                MainForm.ToolStripFirst.Enabled = False
                MainForm.ToolStripNext.Enabled = True
                MainForm.ToolStripPrivous.Enabled = False
                MainForm.ToolStripLast.Enabled = True
                Me.DGV_Master.CurrentCell = Me.DGV_Master.Rows(0).Cells(0)
            Else
                MainForm.ToolStripFirst.Enabled = False
                MainForm.ToolStripNext.Enabled = False
                MainForm.ToolStripPrivous.Enabled = False
                MainForm.ToolStripLast.Enabled = False
            End If


           If Me.DGV_Master.Rows.Count > 0 Then
                Me.DGV_MasterSum.Rows(0).Cells("fDSIA").Value = Format(Val(mDatasetA.Tables(0).Compute("sum(fDSIA)", "")), "#0.00")
                Me.DGV_MasterSum.Rows(0).Cells("FDSIB").Value = Format(Val(mDatasetA.Tables(0).Compute("sum(FDSIB)", "")), "#0.00")
                Me.DGV_MasterSum.Rows(0).Cells("fBSI").Value = Format(Val(mDatasetA.Tables(0).Compute("sum(fBSI)", "")), "#0.00")
                Me.DGV_MasterSum.Rows(0).Cells("FTAmount").Value = Format(Val(mDatasetA.Tables(0).Compute("sum(FTAmount)", "")), "#0.00")
                Me.DGV_MasterSum.Rows(0).Cells("FReceipt").Value = Format(Val(mDatasetA.Tables(0).Compute("sum(FReceipt)", "")), "#0.00")
                Me.DGV_MasterSum.Rows(0).Cells("FRefund").Value = Format(Val(mDatasetA.Tables(0).Compute("sum(FRefund)", "")), "#0.00")
            End If

             SetToolEnable() 

             Catch ex As Exception
            ''MsgBox("BtnFind_Click:" + ex.ToString, MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, Msg.CompanyName)
        Finally
            Me.Cursor = Cursors.Default
        End Try


       ''' <summary>
    ''' 主窗體上的ToolButton按鈕的Enable屬性
    ''' </summary>
    ''' <remarks></remarks>
    Private Sub SetToolEnable()


        Dim ShopNo As String = ""
        If Not Me.DGV_Master.CurrentRow Is Nothing Then
            ShopNo = Me.DGV_Master.CurrentRow.Cells("ShopNo").Value & ""
        End If
        If Me.DGV_Master.Rows.Count > 0 Then
            If Me.DGV_Master.CurrentRow.Cells("fOrdeStatus").Value = "保存" Then
                If ShopNo = PubCompanyName Then
                    MainForm.ToolStripCheck.Enabled = True And CheckEnable = True
                    MainForm.ToolStripUnCheck.Enabled = False
                    MainForm.ToolStripComplete.Enabled = False
                    MainForm.ToolStripDelete.Enabled = True And DeleteEnable = True
                    MainForm.ToolStripEdit.Enabled = True And EditEnable = True
                Else
                    MainForm.ToolStripCheck.Enabled = False
                    MainForm.ToolStripUnCheck.Enabled = False
                    MainForm.ToolStripComplete.Enabled = False
                    MainForm.ToolStripDelete.Enabled = False
                    MainForm.ToolStripEdit.Enabled = False
                End If
                Me.BtnCancel.Enabled = False
            ElseIf Me.DGV_Master.CurrentRow.Cells("fOrdeStatus").Value = "核准" Then
                MainForm.ToolStripCheck.Enabled = False
                MainForm.ToolStripUnCheck.Enabled = True And UncheckEnable = True
                MainForm.ToolStripComplete.Enabled = True And CompleteEnable = True
                MainForm.ToolStripDelete.Enabled = False
                MainForm.ToolStripEdit.Enabled = False
                Me.BtnCancel.Enabled = True
            ElseIf Me.DGV_Master.CurrentRow.Cells("fOrdeStatus").Value = "反核准" Then
                MainForm.ToolStripCheck.Enabled = True And CheckEnable = True
                MainForm.ToolStripUnCheck.Enabled = False
                MainForm.ToolStripComplete.Enabled = False
                MainForm.ToolStripDelete.Enabled = False
                MainForm.ToolStripEdit.Enabled = True And EditEnable = True
                Me.BtnCancel.Enabled = True
            ElseIf Me.DGV_Master.CurrentRow.Cells("fOrdeStatus").Value = "結案" Then
                MainForm.ToolStripCheck.Enabled = False
                MainForm.ToolStripUnCheck.Enabled = False
                MainForm.ToolStripComplete.Enabled = False
                MainForm.ToolStripDelete.Enabled = False
                MainForm.ToolStripEdit.Enabled = False
                Me.BtnCancel.Enabled = False
            End If
            If Me.DGV_Master.CurrentRow.Index = 0 Then
                MainForm.ToolStripFirst.Enabled = False
                MainForm.ToolStripNext.Enabled = True
                MainForm.ToolStripPrivous.Enabled = False
                MainForm.ToolStripLast.Enabled = True
            ElseIf Me.DGV_Master.CurrentRow.Index = Me.DGV_Master.Rows.Count - 1 Then
                MainForm.ToolStripFirst.Enabled = True
                MainForm.ToolStripNext.Enabled = False
                MainForm.ToolStripPrivous.Enabled = True
                MainForm.ToolStripLast.Enabled = False
            Else
                MainForm.ToolStripFirst.Enabled = True
                MainForm.ToolStripNext.Enabled = True
                MainForm.ToolStripPrivous.Enabled = True
                MainForm.ToolStripLast.Enabled = True
            End If
            MainForm.ToolStripPrint.Enabled = True
        End If


    End Sub




Private Sub GetToolEnable()
        Try
            With MainForm
                .ToolStripAdd.Enabled = AddEnable
                .ToolStripEdit.Enabled = EditEnable And bFind = True
                .ToolStripDelete.Enabled = DeleteEnable And bFind = True
                .ToolStripPrint.Enabled = PrintEnable
                .ToolStripImport.Enabled = ImportEnable
                .ToolStripExport.Enabled = ExportEnable
                .ToolStripFind.Enabled = FindEnable
                .ToolStripCheck.Enabled = CheckEnable
                .ToolStripUnCheck.Enabled = UncheckEnable
                .ToolStripComplete.Enabled = CompleteEnable
                .AddToolStripMenuItem.Enabled = .ToolStripAdd.Enabled
                ……
            End With


        Catch ex As Exception
            MsgBox("GetToolEnable:" + ex.ToString, MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, Msg.CompanyName)
        End Try
    End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值