我用VB编一个统计总金额的程序,想让统计结果显示在Label2里面但是总是有错,求高手指教,程序代码如下
PrivateSubLabel2_Click()Adodc1.RecordSource="selectsum(金额(元))as总计金额(元)fromTABLE1"Adod...
Private Sub Label2_Click()
Adodc1.RecordSource = "select sum(金额(元)) as 总计金额(元) from TABLE1"
Adodc1.Refresh
Lable2.Text = Adodc1.Recordset.Fields("总计金额(元)").Value
End Sub
由于还有一个dataGrid控件,所以ADO控件记录源命令类型设为2-adcmdTable的,但是运行的时候说select附近有语法错误,到底是程序的错误还是控件的设置有问题?
我联系的是SQL数据库 展开
Adodc1.RecordSource = "select sum(金额(元)) as 总计金额(元) from TABLE1"
Adodc1.Refresh
Lable2.Text = Adodc1.Recordset.Fields("总计金额(元)").Value
End Sub
由于还有一个dataGrid控件,所以ADO控件记录源命令类型设为2-adcmdTable的,但是运行的时候说select附近有语法错误,到底是程序的错误还是控件的设置有问题?
我联系的是SQL数据库 展开
2个回答
展开全部
控件设置要么用纯代码,要么就直接在里面设置.你SQL语句里用的全是中文括号,语法也错了没给查询分组怎么汇总,全换成英文的,ADO控件不能这样指定连接,Label控件用Caption属性,全部要改一下:
Private Sub Label2_Click()
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS路径\ACCESS完整名称"
Adodc1.RecordSource = "select sum([金额(元)]) as [总计金额(元)] from TABLE1 Group By [金额(元)] "
Adodc1.Refresh
Lable2.Caption= Adodc1.Recordset.Fields("[总计金额(元)]")
End Sub
这样才算完工,ADO控件里面一个属性都不要去动,DataGrid1里面DataSource属性改成Adodc1
Private Sub Label2_Click()
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ACCESS路径\ACCESS完整名称"
Adodc1.RecordSource = "select sum([金额(元)]) as [总计金额(元)] from TABLE1 Group By [金额(元)] "
Adodc1.Refresh
Lable2.Caption= Adodc1.Recordset.Fields("[总计金额(元)]")
End Sub
这样才算完工,ADO控件里面一个属性都不要去动,DataGrid1里面DataSource属性改成Adodc1
更多追问追答
追问
运行的时候提示我Adodc1找不到文件.。我的数据库在D:\餐饮管理系统\zj_Data
追答
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\餐饮管理系统\zj_Data.mdb"
你的数据库名是zj_Data.mdb吗?就这样写
还有一种办法,就是你打包出去别人安装到任何路径都能用。用相对路径,在代码中加上
Dim 路径 AS String
路径 = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.path +"\ACCESS名.后缀"
Adodc1.ConnectionString = 路径
前提条件你要把工程保存在ACCESS数据库相同的文件夹里,要保存一次工程
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询