各位兄弟姐妹!我有一个问题卡住了,大家帮帮我吧!

liujiayu10 2006-03-23 01:49:32
我在用VB+access做MIS系统,现在需要把Access中一个查询结果导出到DBF,现在总是出现这样的一个错误,我把'" & CStr(rs("Itemname")) & "'换成:'1'就可以通过,或者换成跟前面字段值一样也可以!请大家帮帮忙,多出出主意,帮顶者有分!

Private Sub OutDbf()
'On Error Resume Next
Screen.MousePointer = vbHourglass

Dim dbfPath As String
Dim dbfConn As New ADODB.Connection
dbfPath = Text1
With dbfConn
.ConnectionString = "provider=msdasql;DRIVER=Microsoft Visual FoxPro Driver;SourceType=DBF;SourceDB=" & dbfPath
.CommandTimeout = 0
.Open
End With

Set rs = Conn.Execute(Me.Tag)
Do While Not rs.EOF
dbfConn.Execute "insert into " & dbfPath & "(USERNAME,ITEMNAME,PRONAME,DJ,NUMS,CURRPAGE,CURRROW,DTIME) values('" & CStr(rs("Username")) & "','" & CStr(rs("Itemname")) & "','" & CStr(rs("Projectname")) & "','" & rs("DJ") & "','" & rs("Nums") & "','" & rs("CurrPage") & "','" & rs("CurrRow") & "','" & rs("Dtime") & "')"
rs.MoveNext
Loop
Set rs = Nothing
dbfConn.Close
Screen.MousePointer = 0
End Sub
command contains unrecognized phrase/keyword
...全文
127 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liujiayu10 2006-03-24
  • 打赏
  • 举报
回复
谢谢大家,问题仍没有解决,不过,我不导出DBF了,讨厌DBF!
DengXingJie 2006-03-23
  • 打赏
  • 举报
回复
把CStr(rs("Itemname")) 換成 isnull(rs("Itemname"),'')試試
faysky2 2006-03-23
  • 打赏
  • 举报
回复
同意楼上,建议楼主把 sql语句打印到立即窗口去,那样容易看出问题到底出在什么地方:

......
Dim strSql As String
Do While Not rs.EOF
strSql="insert into " & dbfPath & "(USERNAME,ITEMNAME,PRONAME,DJ,NUMS,CURRPAGE,CURRROW,DTIME) values('" & CStr(rs("Username")) & "','" & CStr(rs("Itemname")) & "','" & CStr(rs("Projectname")) & "','" & rs("DJ") & "','" & rs("Nums") & "','" & rs("CurrPage") & "','" & rs("CurrRow") & "','" & rs("Dtime") & "')"

Debug.Print strSql '打印到立即窗口去看看(按Ctrl+G可以打开立即窗口)
dbfConn.Execute strSql
rs.MoveNext
Loop
......
solotarn 2006-03-23
  • 打赏
  • 举报
回复
可以肯定的是你的某些记录的Itemname字段的值有问题,比如含有单引号
liujiayu10 2006-03-23
  • 打赏
  • 举报
回复
楼上各位大哥的做法我都试了,都不行

奇怪的,我如果把rs("Itemname")改成:left(rs("Itemname"),8)就可以,而且,我把定义一个常量,“一二三四五六七八九”这样9个字符也是可以的
liujiayu10 2006-03-23
  • 打赏
  • 举报
回复
提示错误是:

command contains unrecognized phrase/keyword
Snoworld 2006-03-23
  • 打赏
  • 举报
回复
可能你查出的 & CStr(rs("Itemname")) & 是NULL值
watt 2006-03-23
  • 打赏
  • 举报
回复
有可能是有些记录的Itemname的值为NULL
关键看是何错误,把错误信息贴出来不就解决了吗!
faysky2 2006-03-23
  • 打赏
  • 举报
回复
solotarn() 说得有道理

楼主最好把 CStr(rs("Username")) & "','" & CStr(rs("Itemname")) & .....
改为:
rs("Username") & "" & "','" & rs("Itemname") & "" & .....

faysky2 2006-03-23
  • 打赏
  • 举报
回复
提示的是什么错误?
solotarn 2006-03-23
  • 打赏
  • 举报
回复
有可能是有些记录的Itemname的值为NULL
bbhere 2006-03-23
  • 打赏
  • 举报
回复
rs("Itemname").value
rs!Itemname

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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