专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VFP

VB 程序连VFP数据库不支持聚合函数?解决思路

发布时间:2010-05-24 22:03:58 文章来源:www.iduyao.cn 采编人员:星星草
VB 程序连VFP数据库不支持聚合函数???
Private Sub Command1_Click()
Dim sql1 As String
Dim sql2 As String


Dim rsResult As New ADODB.Recordset

'Open connection to Temp Folder
Dim cndbf As ADODB.Connection
Set cndbf = New ADODB.Connection
cndbf.ConnectionString = "Provider=VFPOLEDB;Data Source=D:TestVbpTempHiport.dbc"
cndbf.CursorLocation = adUseClient
cndbf.Open

sql1 = "Select * from z_Valuation Where Currency = 'CNY' "


sql2 = "Select currency, sum(LqValue*Exch) as PValue from z_Valuation Where Currency = 'CNY' group by currency"


rsResult.Open sql1, cndbf, adOpenForwardOnly, adLockBatchOptimistic

If Not rsResult.EOF Then
  MsgBox "RecordCount = " & rsResult.RecordCount
Else
  MsgBox "NO Record!"
  Exit Sub
End If

rsResult.Close

rsResult.Open sql2, cndbf, adOpenForwardOnly, adLockBatchOptimistic

If Not rsResult.EOF Then
  MsgBox "RecordCount = " & rsResult.RecordCount
Else
  MsgBox "NO Record!"
  Exit Sub
End If

rsResult.Close

End Sub



sql1可以选出一条记录,sql2为什么不能选出记录呢???

------解决方案--------------------
安装最新的驱动试试:

Microsoft OLE DB Provider for Visual FoxPro 9.0

oledb for vfp下载地址:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=14839

Version: 1.2
Date Published: 5/16/2008 
Language: English 

File Name Size
vfpoledb.msm 829 KB
VFPOLEDBSetup.msi 1.0 MB (安装此项)
------解决方案--------------------
Dim dd As New ADODB.Connection
Dim dd1 As New ADODB.Recordset
dd.Open ("Provider=VFPOLEDB.1;Data Source=r:temp;")
dd1.Open "Select [currency], cast(sum(Value*Exch) as n(12,2) ) from test!testgroup Where Currency = 'CNY' group by [currency]", dd, adOpenDynamic, adLockOptimistic
Do While Not dd1.EOF
MsgBox dd1(0) & " 123 " & dd1(1)
dd1.MoveNext
Loop
测试没有问题
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: