如果你硬要用sql
select xxx from table
where ((rs("盐")-a(1))/a(1))^2+ ((rs("酱油") -a(2))/a(2))^2..... in
(select min(((rs("盐")-a(1))/a(1))^2+ ((rs("酱油") -a(2))/a(2))^2..... )
from table )
if minnum>abs(rs("盐")-a(1))+ abs(rs("酱油") -a(2))..... then
minnum=abs(rs("盐")-a(1))+ abs(rs("酱油") -a(2)).....
type =rs("XXX ")
end if
这段改改
if minnum>((rs("盐")-a(1))/a(1))^2+ ((rs("酱油") -a(2))/a(2))^2..... then
minnum=((rs("盐")-a(1))/a(1))^2+ ((rs("酱油") -a(2))/a(2))^2.....
type =rs("XXX ")
end if
这是求最小方差
非sql的做法
dim minnum as double
dim type as string '菜名
dim a(6) as double '6种调料的值
minnum=999999999'足够大
rs.open "select * from table"
do until rs.eof
if minnum>abs(rs("盐")-a(1))+ abs(rs("酱油") -a(2))..... then
minnum=abs(rs("盐")-a(1))+ abs(rs("酱油") -a(2)).....
type =rs("XXX ")
end if
rs.movenext
loop