VB读取ACCESS里的数据到WORD,各位大侠帮忙啊!!!!

wuwenchun168 2009-08-17 01:46:50
小弟要将ACCESS里的某一数据读取到WORD里,但总是读取不出,请各位看看怎么回事,部分代码如下:
'''''''''''''''
'''''''''''''''
Dim cn As New ADODB.Connection, rs1 As New ADODB.Recordset, sql As String
'
'
'
cn.Open "provider=microsoft.jet.oledb.4.0;data source=C:\Program Files\Microsoft Visual Studio\VB98\danzhuangli.mdb"
sql = "basicli where 编号='1'"
rs1.Open sql, cn '打开数据库,读取编号为1的某一信息

.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩底深度:" & rs1.Fields("桩底深")
.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩 长:" & rs1.Fields("桩底深") - rs1.Fields("桩顶深")
'
'好像不是别rs1里的数据一样,因为如果去掉“& rs1.Fields("桩底深")”的话,会在WORD里出现“桩底深度:”;添上后就什么也不显示了,请问各位大侠咋回事呢?
在线等~谢谢!!!!!
...全文
129 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuwenchun168 2009-08-18
  • 打赏
  • 举报
回复
谢谢各位啊!问题已经解决!可能主要是因为我这个里面有两个数据库,之前打开过一个,所以这次定义成cn2 sql2 rs2等等,结果就运行出来啦,谢谢各位啊!结贴散分!
思远笃行 2009-08-17
  • 打赏
  • 举报
回复
会不会是少个括号的问题
.Selection.TypeParagraph
.Selection.TypeText Text:=(" 桩 径: " & rs1.Fields("桩径") )
.Selection.TypeParagraph
.Selection.TypeText Text:=(" 桩顶深度:" & rs1.Fields("桩顶深") )
huyongsc 2009-08-17
  • 打赏
  • 举报
回复
cn.Open "provider=microsoft.jet.oledb.4.0;data source=C:\Program Files\Microsoft Visual Studio\VB98\danzhuangli.mdb"
sql = "select 桩径,桩顶深 from basicli where 编号='1' " '在桩径,桩顶深间加英文逗号
rs1.Open sql, cn
.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩 径: " & rs1.Fields("桩径")
.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩顶深度:" & rs1.Fields("桩顶深")
结果仍然不显示,只显示两个空行,如果把后面的rs1.Fields("桩径")和rs1.Fields("桩顶深")去掉,就只显示“桩径”和“桩顶深度”两行汉字,这是怎么回事呢?
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
谢谢楼上,不过还是不行,我发现一个问题,如果去掉“& rs1.Fields("。。。") ”,所有的能运行出来,只是没有想要的信息,但如果加上“& rs1.Fields("。。。") ”,就跳过不运行了,比如楼上说的代码,运行中就不会出现msgbox,如果去掉后面的& rs1.Fields("桩径")
,运行后会出现MSGBOX“桩径:”,只是没有想要提取的信息~真郁闷呢~怎么运行不出来呢
jhone99 2009-08-17
  • 打赏
  • 举报
回复
cn.Open "provider=microsoft.jet.oledb.4.0;data source=C:\Program Files\Microsoft Visual Studio\VB98\danzhuangli.mdb"
sql = "select 桩径 桩顶深 from basicli where 编号='1' "
rs1.Open sql, cn
msgbox rs1.recordcount
if rs1.recordcount>0 then
msgbox " 桩 径: " & rs1.Fields("桩径")
msgbox " 桩顶深度:" & rs1.Fields("桩顶深")

.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩 径: " & rs1.Fields("桩径")
.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩顶深度:" & rs1.Fields("桩顶深")
end if
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
我改成:
cn.Open "provider=microsoft.jet.oledb.4.0;data source=C:\Program Files\Microsoft Visual Studio\VB98\danzhuangli.mdb"
sql = "select 桩径 桩顶深 from basicli where 编号='1' "
rs1.Open sql, cn
.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩 径: " & rs1.Fields("桩径")
.Selection.TypeParagraph
.Selection.TypeText Text:=" 桩顶深度:" & rs1.Fields("桩顶深")
结果仍然不显示,只显示两个空行,如果把后面的rs1.Fields("桩径")和rs1.Fields("桩顶深")去掉,就只显示“桩径”和“桩顶深度”两行汉字,这是怎么回事呢?
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
好的,我再试试
jhone99 2009-08-17
  • 打赏
  • 举报
回复
sql = "select 桩径, 桩长 from basicli where 编号='1'"


sql = "select * from basicli where 编号='1'"

建议用上面的
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
表的名称是basicli,提取字段有多个,其中由一个字段名是“编号”,然后我把编号输入为1,然后通过查找编号为1的这一行,提取里面的相应字段的信息,比如,字段有
编号 桩径 桩长
信息分别为
编号 桩径 桩长
1 3 6
我就通过查找编号为1的这一行,从而提取里面相应的桩径=3和桩长=6

jhone99 2009-08-17
  • 打赏
  • 举报
回复
你的表的名称是什么?你要提取字段名称是什么?替换6楼相应位置
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
谢谢楼上,我试试
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
可能我说的不太明白,我的目的是从ACCESS中提取编号“1”的那一行的某一个数据(“编号”也是一个字段),然后输入到WORD中,谢谢各位指点啊!
jhone99 2009-08-17
  • 打赏
  • 举报
回复
sql = "select 字段名 from 表名 where 编号='1'"
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
不好意思,刚才老师训话呢,就 sql = "basicli where 编号='1'" 这1句~我是刚接触这个东西~应该怎么改呢?
ArmStronger 2009-08-17
  • 打赏
  • 举报
回复
sql语句什么意思,select 都没
jhone99 2009-08-17
  • 打赏
  • 举报
回复
sql是查询语句~
**************
这个我知道


你的sql就 sql = "basicli where 编号='1'" 就这1句?
wuwenchun168 2009-08-17
  • 打赏
  • 举报
回复
sql是查询语句~
jhone99 2009-08-17
  • 打赏
  • 举报
回复
sql = "basicli where 编号='1'"
****************************

sql ?什么

7,763

社区成员

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

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