回 帖 发 新 帖 刷新版面

主题:vfp连接access问题

我用以下代码,可以从access中读取数据到DBF中,但原文本型(C)的数据,在DBF中都成了备注型(Memo)的,请问如果解决?谢谢

无需配ODBC数据数据源,即用字符串方式连接 
*------------------------------- 
nhandle=SQLSTRINGCONNECT("Driver={Microsoft Access Driver (*.mdb)};dbq=c:\test.mdb;pwd=") &&pwd为数据库密码项 
IF nhandle <=0 
        MESSAGEBOX("数据库连接失败!!!",16, &#39;错误信息&#39;) 
        RETURN 
ELSE 
        Ac=SQLEXEC(nhandle,"Select * From worker_info","Temp1") 
        IF Ac <0 
                MESSAGEBOX("读取数据错误!",16, &#39;错误信息&#39;) 
                RETURN 
        ENDIF 
        SELECT Temp1 
        BROWSE  
ENDIF 

回复列表 (共5个回复)

沙发

我想主要是因为在access中的原文本型(C)数据的数据字符数是>254,在VFP中字符型字段最大容量是254,所以在从access中到DBF后原文本型(C)数据就成了备注型了.你可以在查询进行控制,限制该字段大小或直接更改access中字段的大小.


板凳

你可以试试在 DBF 结构中增加新的 C 类型字段,然后用 REPLACE 命令把 Memo 字段中的数据复制到新字段中。
REPLACE ALL [color=000080]New1[/color] WITH [color=000080]Memo1[/color],[color=000080]New2[/color][/color] WITH [color=000080]Memo2[/color],.......

3 楼

谢谢二位,我试试

4 楼

hw2007name,谢谢,你的方法已通过(改access中的原文本型(C)数据的数据字符数是<254就可以了)

5 楼

sywzs,谢谢,你的方法也通过,不过要在程序中再建字段。

我来回复

您尚未登录,请登录后再回复。点此登录或注册