VB数据库的数据统计
我想完成如下数据的统计,VB代码
供应商 供货日期 材料名称 规格型号 批量数 抽样数 判定批
大丰 2011-3-25 外箱 外箱(WA-850TGS) 250 32 不合格
大丰2011-3-25 外箱 外箱(WA-950TGS) 401 80 合格
绩东一2011-3-25 外箱 外箱(WA-3080RTG-D) 200 32 不合格
绩东一2011-3-25 外箱 外箱(WA-3067TG-B) 200 32 合格
绩东一2011-3-25 外箱 外箱(WA-5080TG) 100 20 合格
绩东一2011-3-25 外箱 外箱WA-3050RTG-A 150 20 合格
顺发2011-3-25 圆管 Φ8(8*0.4*495) 41870 500 合格
顺发2011-3-25 圆管 Φ8(8*0.4*495) 500 80 不合格
请教高手们,我要得到的格式为:输入 年 月(2011-3)就要得到
供应商评价标准:A:90.1-100;B:80.1-90;C:70.1-80;D:60.1-70;E:60分以下。
供应商 供货总批数 合格批数 总数量 不合格批数 总数量 送货总数量 送货合格率 供应商评价
大丰 2 1 401 1 250 651 62% D
绩东一 4 3 450 1 200 650 69% D
顺发 2 1 41870 1 500 42370 99% A
[解决办法]
结帖率:0.00%
[解决办法]
有没有高手,指点一下,
[解决办法]
你的日期是往text里输入还是combo中输入?
[解决办法]
select 供应商, count(*) as 供货总批数, (1 - sum(抽样数) / sum(批量数)) * 100 as 送货合格率 from 表 group by 供应商
有点复杂,望高手们指点一下。
[解决办法]
我的代码是:
Private Sub dj_Click()
On Error Resume Next
Dim strSQL As String
Dim w As String
Dim k As String
Dim s As String
Dim g As String
w = InputBox("请输入统计日期-月份:如2011-1")
s = InputBox("请输入批判定:如 1=合格;2=不合格")
If s = 1 Then
k = "合格"
g = "and 批判定='" & k & "'"
End If
If s = 2 Then
k = "不合格"
g = "and 批判定='" & k & "'"
End If
If s = "" Then
k = ""
g = ""
End If
strSQL = "SELECT 供应商,count(供应商) as 供货总批次 ,判定批,sum(批量数) as 批量总数 from IQC报表 where 日期 like " & " '%" & w & "%'" & g & " GROUP BY 批判定,供应商 ORDER BY 供应商"
'设置Adodc1的连接字符串
Adodc1.ConnectionString = ConnectString
'设定Adodc1的命令类型
Adodc1.CommandType = adCmdText
'设定Adodc1的记录源
Adodc1.RecordSource = strSQL
'刷新Adodc1
SaveInit
Set DataGrid1.DataSource = Adodc1
Adodc1.Refresh
ResumeInit
SQL = strSQL
If (Adodc1.Recordset.BOF) Then
MsgBox "没查到数据!!"
Exit Sub
End If
End Sub
结果就只能得到:供应商 供货总批次 判定批 批量总数
而分不出判定批中的合格和不合格,并不能得到各自的总数量,所以就求不到合格率,
[解决办法]
望高手们指点一下
[解决办法]
SQL SERVER里面有统计命令。