| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5750 人关注过本帖
标题:VFP怎么和ACCESS联接
只看楼主 加入收藏
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
结帖率:93.55%
收藏
 问题点数:0 回复次数:11 
VFP怎么和ACCESS联接
VFP怎么和ACCESS联接啊?
就是说,怎么在VFP中导入ACCESS的MDB表呢?
搜索更多相关主题的帖子: VFP ACCESS 联接 MDB 
2006-03-13 10:49
Amylovely
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-3-15
收藏
得分:0 

搂主啊,我们俩遇到了差不多的问题。
我是想要把foxpro的表导入access中。可是我在acess中只能得到一个链表。现在我也在急求解决方法。
请求来解决问题的高人一并帮我解决了,不胜感激

2006-03-15 15:03
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
在ACCESS中直接选择导入,好像可以选择Foxpro的数据库吧?

2006-03-15 15:24
kinjan
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-2-16
收藏
得分:0 
其它数据库的连接文章:
http://foxtiantang.vicp.net/index.asp?boardid=2

建立与ACCESS连接的ODBC
FUNCTION LinkAccess
*!************************************************************
*! 程序名称为:connect_1
*! 程序为非DNS连接
*!
*!***********************************************************
PARAMETERS DbPath,mUid,mPwd
SQLDISCONNECT(0)
PUBLIC handle
lcString ="Driver={Microsoft Access Driver (*.mdb)};Dbq="
lcString=lcString+Dbpath+";Uid="+mUid+";Pwd="+mPwd
handle=SQLSTRINGCONNECT(lcstring)
IF handle<0
MESSAGEBOX('读取数据失败!',0,'提示信息')
ELSE
RETURN handle
ENDIF

2006-03-17 15:21
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
谢谢kinjan
不过,我要的是在VFP中怎么直接导入ACCESS表!

2006-03-19 15:52
zengxingye
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-2-24
收藏
得分:0 
我也不知道能不能将ACCESS数据直接导入VFP,我原来有很多数据也是保存在ACCESS中的,如果间接导入的话是可以的,也不是很麻烦,方法如下:
将ACCESS数据表文件导出为"microsoft excel 5-7(*.xls)文件,然后再在VFP中选择导入microsoft excel5.0和97(XLS)文件,可以方便的导入.
至入直接导入的话,我没有成功过, 不过可以利用远程视图直接查看ACCESS的数据表,这样也挺方便的,相当于直接导入了吧,不过数据没有存储在VFP表中,而是在原来的ACCESS中,哪位高手指点一下,怎样将远程视图中数据直接存储到VFP表中,
我试过在远程视的SQL语句后加into database 数据库名 name 数据表长名是不允许的,错误提示为:连接错误,[microsoft] [ODBC microsoft access driver]FROM 子句语法错误
还有个问题,书上介绍用ADO控件,可是我的VFP8.0的activeX控件中没有这个,不知道大家是不是一样
2006-03-20 14:28
zengxingye
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2006-2-24
收藏
得分:0 

这样子就可以啦,
打开远视图
然后用SQL语言直接保存到VFP数据表中

2006-03-20 15:17
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
收藏
得分:0 
谢谢了!

2006-03-21 08:27
imvfp
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-3-18
收藏
得分:0 
cMyFile =allt(thisform.text1.value)
myMDBdata=allt(thisform.text2.value)+'myMDBdata'
IF !EMPTY(cMyFile) or len(cMyFile)>5
IF JUSTEXT(cMyFile)#"MDB" &&获得文件扩展名
=MESSAGEBOX("您选择的不是Access数据库文件!",0+48,"错误")
deac wind b1
RETURN
ENDIF
** 用 SQLStringConnect 来联接到 MDB 文件
nConnHandle = ;
SQLSTRINGCONNECT('DRIVER=MICROSOFT ACCESS DRIVER (*.MDB);DBQ=' + cMyFile)
IF nConnHandle > 0
nResult = SQLTABLES(nConnHandle, 'TABLE') &&要知道哪些表包含在 MDB 文件中
IF nResult > 0
if direc('&myMDBdata')
else
mkdir &myMDBdata
endi
set path to &myMDBdata &&用于指定查找文件的目录。用逗号或分号隔开不同的目录。
seT DEFAULT TO &myMDBdata &&指定默认的驱动器、目录或文件夹。
CREATE DATABASE mynew &&创建一个名为 "MYNEW" 的新的 .DBC 文件
SELECT SQLResult &&选择 SQLResult 并遍历游标
SCAN
** 生成一个 SQL SELECT 语句来传递到 SQLEXEC()
cSQLCommand = ;
"SELECT * FROM [" + ALLTRIM(SQLResult.table_name) + "]"
nGetData = SQLEXEC(nConnHandle,cSQLCommand,'newdata')
IF nGetData > 0 &&SQLEXEC() 执行成功
**将含有空格的长文件名替换成下画线连接
cNewName = STRTRAN(ALLTRIM(SQLResult.table_name), " ", "_")
SELECT newdata
COPY TO (cNewName) DATABASE MyNew &&将临时表保存到数据库中
ENDIF
ENDSCAN
ENDIF
=SQLDISCONNECT(nConnHandle) &&完成获取数据,断开连接
* MODIFY DATABASE MyNew &&打开数据库设计器

close data all

=MESSAGEBOX(' 数据转换成功!!', 48, 'Ok')
deac wind b1

ELSE
=MESSAGEBOX('ODBC 连接失败', 48, 'ODBC') &&SQLStringConnect 失败
ENDIF
else
=MESSAGEBOX("您选择的不是Access数据库文件!",0+48,"错误")
retu
ENDIF
2007-03-18 20:37
gysj1122
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-4-2
收藏
得分:0 
以下是引用zengxingye在2006-3-20 15:17:00的发言:

这样子就可以啦,
打开远视图
然后用SQL语言直接保存到VFP数据表中

怎么写sql语句,我是新手,急切盼望回答。

2007-04-03 15:50
快速回复:VFP怎么和ACCESS联接
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023802 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved