查询结果转换为DBF格式问题???小急

AKiang 2004-11-21 10:39:31
有很多条查询结果,根据选择把查询结果导出到DBF表格式,DBF表是还没有建好的。用什么方法实现好,怎么实现???
我已经根据选择构造了查询语句,但不知道怎么实现上述问题,对FOXPRO不熟悉。

还有个小问题,DBF表格的字段长度只有10位吗?怎么我输入5个中文就不能再输入了。

先谢谢啦!!!!
...全文
196 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
AKiang 2004-11-24
  • 打赏
  • 举报
回复
UP 谁能帮帮我~
lxcc 2004-11-23
  • 打赏
  • 举报
回复
提前生成DBF表
/***************** 导出到DBF ***************/
--如果要导出数据到已经生成结构(即现存的)FOXPRO表中,可以直接用下面的SQL语句

insert into openrowset('MSDASQL',
'Driver=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=c:\',
'select * from [aa.DBF]')
select * from 表

--说明:
--SourceDB=c:\ 指定foxpro表所在的文件夹
--aa.DBF 指定foxpro表的文件名.

lxcc 2004-11-23
  • 打赏
  • 举报
回复
MkDir App.Path & "\DBF"
AKiang 2004-11-23
  • 打赏
  • 举报
回复
1.怎么样建立一个空目录,在程序所在目录新建一个空DBF文件夹吗?我在程序里直接加了App.path & "\Dbf"这条语句,运行时说语法错误,应该怎么写?

谢谢了,我有些概念还不是很清楚.

AKiang 2004-11-23
  • 打赏
  • 举报
回复
to 糊涂:要新建表的话会很麻烦,因为总共有几百张表呢,是要根据选择来导出表的.
TO 虫子:谢谢你给出的例子,不过我看不懂,觉得好麻烦.
好易用介绍的方法不错,可是我第二步通不过,机SET DB = OPENDATABASE(..........

谁还能帮帮我@!!!!
zhaochengqing 2004-11-23
  • 打赏
  • 举报
回复
你可不可以先建一个空的DBF数据库,然后你在程序中打开并新建表这样虽然不灵活但可以达到你要的目的.
lxcc 2004-11-23
  • 打赏
  • 举报
回复
或者试试在SQL中用按照你的条件生成一个DTS包,然后在VB中调用DTS

'调用方法
'引用Microsoft DTSPackage Object Library
Private Sub RunPackage(ByVal S As String) 'S is FileName
Dim objPackage As DTS.Package2
Dim objStep As DTS.Step
Dim objTask As DTS.Task
Dim objExecPkg As DTS.ExecutePackageTask

'On Error GoTo PackageError
Set objPackage = New DTS.Package
Set mobjPkgEvents = objPackage
objPackage.FailOnError = True

'Create the step and task. Specify the package to be run, and link the step to the task.
Set objStep = objPackage.Steps.New
Set objTask = objPackage.Tasks.New("DTSExecutePackageTask")
Set objExecPkg = objTask.CustomTask
With objExecPkg
.PackagePassword = ""
.FileName = S
.Name = "ExecPkgTask"
End With
With objStep
.TaskName = objExecPkg.Name
.Name = "ExecPkgStep"
.ExecuteInMainThread = True
End With
objPackage.Steps.Add objStep
objPackage.Tasks.Add objTask

'Run the package and release references.
objPackage.Execute

Set objExecPkg = Nothing
Set objTask = Nothing
Set objStep = Nothing
Set mobjPkgEvents = Nothing

objPackage.UnInitialize
MsgBox "执行成功"
End Sub

Private Sub Command1_Click()
RunPackage "D:\Test.dts"
End Sub
AKiang 2004-11-23
  • 打赏
  • 举报
回复
数据要导出到不是现成的表中
AKiang 2004-11-23
  • 打赏
  • 举报
回复
1.MkDir App.Path & "\DBF"是用于创建文件夹的吧,那不是每运行一次都要重复创建一次?
我在程序里加了这条语句后第一次运行没事,第二次就会出现访问路径或是文件出错.

2.使用这条语句时提示"找不到可安装的ISAM"
set db=Opendatabase(App.path & "\Dbf",false,false,";Foxpro2.6")


怎么回事啊??
a达哥a 2004-11-21
  • 打赏
  • 举报
回复
1. 建立一个空目录: App.path & "\Dbf"
2. 用DAO以DBF的形式打开这个空目录作为DBF数据库:
set db=Opendatabase(App.path & "\Dbf",false,false,";Foxpro2.6")
3. 用查询语句直接生成DBF数据表: db.execute("Select * from 你的数据表 Into Table 你的DBF数据表名")

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧