hugo_huang 发表于 2013-9-13 10:42
嗯,可以简单这么理解,在网上看到很多关于这方面的说法,不知道实际情况怎样。我最近在考虑到底用Excel+ ... - Sub xuanxiang1()
- Application.ScreenUpdating = False
- On Error Resume Next
- Range("A3:P66536").Cells.ClearContents
- Set cnn = CreateObject("adodb.connection")
- cnn.Open "Provider=Microsoft.ACE.OLEDB.12.0;data Source= \\192.168.10.5\网络硬盘\公共盘\业务部\进销存\业务部进销存.accdb;Jet OLEDB:Database Password=SLC"
- If TextBox1.Text = "" Or TextBox2.Text = "" Then
- MsgBox "请输入日期", 1 + 16, "系统提示"
- ElseIf CheckBox1.Value = False And CheckBox2.Value = False And CheckBox3.Value = False Then '只选时间选项
-
- SQL = "select 供应商,订单号,合同编号,客户要求交期,业务组编号,产品编码,规格型号,下单数量+0,单价,总金额+0,操作人,操作时间,下单客户,订单状态,包装要求,备注 from 出库表 WHERE 操作时间 between #" & TextBox1.Value & "# and #" & TextBox2.Value & "# ORDER BY 操作时间 desc "
-
- ElseIf CheckBox1.Value = True And CheckBox2.Value = True Then '只选时间选项
-
- SQL = "select 供应商,订单号,合同编号,客户要求交期,业务组编号,产品编码,规格型号,下单数量+0,单价,总金额+0,操作人,操作时间,下单客户,订单状态,包装要求,备注 from 出库表 WHERE 操作时间 between #" & TextBox1.Value & "# and #" & TextBox2.Value & "# and 订单状态 not in(SELECT 订单状态 from [出库表] where 订单状态 = '完结' ) ORDER BY 操作时间 desc "
- ElseIf CheckBox2.Value = True And CheckBox3.Value = True Then '只选时间选项
-
- SQL = "select 供应商,订单号,合同编号,客户要求交期,业务组编号,产品编码,规格型号,下单数量+0,单价,总金额+0,操作人,操作时间,下单客户,订单状态,包装要求,备注 from 出库表 WHERE 操作时间 between #" & TextBox1.Value & "# and #" & TextBox2.Value & "# and 订单状态 not in(SELECT 订单状态 from [出库表] where 订单状态 = '执行' ) ORDER BY 操作时间 desc "
- ElseIf CheckBox2.Value = True Then '只选时间选项
-
- SQL = "select 供应商,订单号,合同编号,客户要求交期,业务组编号,产品编码,规格型号,下单数量+0,单价,总金额+0,操作人,操作时间,下单客户,订单状态,包装要求,备注 from 出库表 WHERE 操作时间 between #" & TextBox1.Value & "# and #" & TextBox2.Value & "# and 订单状态 in(SELECT 订单状态 from [出库表] where 订单状态 = '冻结' ) ORDER BY 操作时间 desc "
- ElseIf CheckBox3.Value = True Then '只选时间选项
-
- SQL = "select 供应商,订单号,合同编号,客户要求交期,业务组编号,产品编码,规格型号,下单数量+0,单价,总金额+0,操作人,操作时间,下单客户,订单状态,包装要求,备注 from 出库表 WHERE 操作时间 between #" & TextBox1.Value & "# and #" & TextBox2.Value & "# and 订单状态 in(SELECT 订单状态 from [出库表] where 订单状态 = '完结' ) ORDER BY 操作时间 desc "
- ElseIf CheckBox1.Value = True Then '只选时间选项
-
- SQL = "select 供应商,订单号,合同编号,客户要求交期,业务组编号,产品编码,规格型号,下单数量+0,单价,总金额+0,操作人,操作时间,下单客户,订单状态,包装要求,备注 from 出库表 WHERE 操作时间 between #" & TextBox1.Value & "# and #" & TextBox2.Value & "# and 订单状态 in(SELECT 订单状态 from [出库表] where 订单状态 = '执行' ) ORDER BY 操作时间 desc "
- Else
-
- SQL = "select 供应商,订单号,合同编号,客户要求交期,业务组编号,产品编码,规格型号,下单数量+0,单价,总金额+0,操作人,操作时间,下单客户,订单状态,包装要求,备注 from 出库表 WHERE 操作时间 between #" & TextBox1.Value & "# and #" & TextBox2.Value & "# and 订单状态 not in(select 订单状态 from [出库表] where 订单状态 ='冻结') ORDER BY 操作时间 desc "
- End If
- Set rst = cnn.Execute(SQL)
- Cells(3, 1).CopyFromRecordset rst
- cnn.Close
- Set cnn = Nothing
- Application.ScreenUpdating = True
- End SubEXCEL 做前台,代码太多,我只做了一个进销存,这只是一个窗体的其中一个控件代码,基本一个窗体要有4到5个代码以上,甚至10个。而且代码写多了 不利于管理。我个人建议用ACCESS做前台。SQLSERVER 做后台。
复制代码 |