Excel内置的VBA语言(Visual Basic For Application)为Excel功能的扩展提供了便利的手段,用户可使用该语言直接驱动VFP完成数据检索等功能。程序首先生成一个VFP对象,然后用VFP的DoCmd方法执行VFP搜索命令串,其搜索结果再借助于VFP的DataToClip方法拷贝至剪切板,最后VBA将其粘贴至工作表的正确位置,为了每次运行时能将结果插入到工作表中,依次对操作的工作表以“搜索结果”、“搜索结果1”等进行编号。
Sub exceluseFox ()
Dim oFox As Object ’声明oFox为一个对象
Dim SCommand As String
’SQL对应的命令串变量
Dim cell As Variant
Dim choice As String
Dim join As String
Dim first As Boolean
Dim found As Boolean ’搜索结果标志,若表单中有搜索结果,则为真
Set oFox = CreateObject(“VisualFoxPro
.Application”)
’启动VFP,生成VFP对象
Sheets(“查询”).Select
’选择对应的工作表“查询”
join = Range(“连接条件”)
’在单一表格中的一个元素,其值为and或者or
choice = “” ’置连接串初值为空
first = True ’一般情况下连接串后需要加上逻辑连接符and 或 or,首次例外
For Each cell In Range(“条件”) ’产生连接条件,形成where语句的连接逻辑串