|
As String
本帖最后由 mxg825 于 2012-8-31 12:18 编辑
帮你优化一下 IF 过程(做成一个子程序)- Private Sub CommandButton1_Click()
- Dim cnn As New ADODB.Connection
- Dim rst As New ADODB.Recordset
- Dim xm As String, ht As String, kh As String
- Dim gys As String, lx As String, xh As String
- Dim stpath As String, strsql As String
- Dim l As Integer, n As Integer
- stpath = ThisWorkbook.Path & Application.PathSeparator & "fish.mdb"
- cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & stpath
- xm = ComboBox1.Text
- ht = ComboBox2.Text
- lx = ComboBox3.Text
- xh = ComboBox4.Text
- kh = ComboBox5.Text
- gys = ComboBox6.Text
- strsql = "select * from 核算表 WHERE "
- strsql = strsql & sqlAnd("产品类型", lx) '调用子程序组合
- strsql = strsql & sqlAnd("项目号", xm)
- strsql = strsql & sqlAnd("合同号", ht)
- strsql = strsql & sqlAnd("客户", kh)
- strsql = strsql & sqlAnd("供货商", gys)
- strsql = strsql & sqlAnd("型号", xh)
- l = Len(strsql)
- strsql = Left(strsql, l - 5)
- MsgBox strsql
- rst.Open strsql, cnn
- n = Sheet2.Range("B65536").End(xlUp).Row
- Sheet2.Rows("5:" & n).ClearContents
- Sheet2.[B5].CopyFromRecordset rst
- rst.Close
- cnn.Close
- Set TST = Nothing
- End Sub
- Function sqlAnd(fieldName As String, Tet As String) As String
- If Len(Tet) > 0 Then
- sqlADD = fieldName & " Like '" & Tet & "' and "
- End If
- End Function
复制代码 帮你优化一下 IF 过程(做成一个子程序) |
评分
-
查看全部评分
|