救命...

gy8654 2001-07-16 09:07:30
实时错误'13':类型不匹配
程序如下:

Private Sub mnt_dep_Click()

Dim db As Database
Dim rst As Recordset
Dim tmp1 As Double
Dim strArray() As String
Dim strsql As String

Set db=DBEngine.Workspaces(0).OpenDatabase("c:\system\database\system.mdb")
db.Execute ("delete * from outside;")
Set db = Nothing

TheFileName$ = "c:\system\abc.txt"
Open TheFileName For Input As #1

'处理开始
Do Until EOF(1)
'读入数据,并分解数据
Line Input #1, oneline$

strArray = Split(oneline, ",")

code_t = strArray(0)
addree_t = strArray(1)
name_t = strArray(2)
trn_date_t = strArray(3)
tol_amt_t = strArray(4)
remark_t = strArray(5)
amt1_t = strArray(6)
atm2_t = strArray(7)

'开始在info表中select
strsql = "select card,name from info where code='" & code_t & "';"
Set db = DBEngine.Workspaces(0).OpenDatabase("c:\system\database\system.mdb")
Set rst = db.OpenRecordset(strsql) ******出错处******

注:文件abc.txt内容如下:

123,沈阳1,王三1,20010501,100,无,10,20
777,沈阳2,王三2,20010501,100,无,10,20

info表中code字段为文本3位,且为主键.

我的系统配置为win98+vb6+access97.

请高手求我,小弟要疯了!!!
...全文
64 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
PiterKing 2001-07-17
使用SQL语句打开数据需要在OpenRecordset后加参数,你试试
Set rst = db.OpenRecordset(strsql, dbOpenDynamic)
回复
jack_zhan 2001-07-17
Set rst = db.OpenRecordset(strsql, dbOpenDynamic) 试一下
回复
gy8654 2001-07-17
请问:什么是用dao做,详细的写法?多谢了!!
回复
pp616 2001-07-16
真的不行就老实点用dao做不就什么问题都没有了。
回复
gy8654 2001-07-16
为什么,这是为什么???
回复
gy8654 2001-07-16
在Access97中建立个查询,code=123能查到这笔.是正确的.
回复
BrentIvan 2001-07-16
你会直接在Access中执行Sql吗?把strsql print出来执行一下,看怎么回事
回复
gy8654 2001-07-16
刚试了,不行,结果一样.5555!
回复
BrentIvan 2001-07-16
如果你确定字段名,表名没弄错的话,这样试试:
strsql = "select card, [name] from [info] where [code]='" & code_t & "'"

还有code字段是字符型的吗
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告