会者不难,难者不会,50分求助

jiangbtg 2001-12-16 01:59:45
我在VB中用right和left 函数时系统报错说“编译错误,缺少数组”请名位高手帮帮忙。
一定给分。
...全文
207 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangbtg 2001-12-21
  • 打赏
  • 举报
回复
从第一个开始。 我没定义right它怎么会有值呢?
calligraphy 2001-12-20
  • 打赏
  • 举报
回复
最好用mid函数
jiangbtg 2001-12-20
  • 打赏
  • 举报
回复
用这两个函数已经习惯了,要改的话也不容易
guaguagua 2001-12-20
  • 打赏
  • 举报
回复
老兄,你的程序用了无数的LEFT和RIGHT,究竟在哪句上出了错?
jiangbtg 2001-12-20
  • 打赏
  • 举报
回复
我的right居然还有值。right=1
monday 2001-12-19
  • 打赏
  • 举报
回复
句法没错,是不是VB的什么文件损坏了?
windancer 2001-12-19
  • 打赏
  • 举报
回复
呵呵,说一个题外话,为什么不用mid(aa,i,1),而用Right(Left(aa, i), 1)
NightBreak 2001-12-19
  • 打赏
  • 举报
回复
当然不是BUG!
dingfuhao 2001-12-17
  • 打赏
  • 举报
回复
我觉得是uguess(uguess)说的原因,
VB中有某些库找不到就会莫明奇妙的说这种错误的,算不算BUG呢?
jiangbtg 2001-12-17
  • 打赏
  • 举报
回复
各位高手。
以上错误都已经检查过了用的是VB6,
工程的引用没错。
text1的控件数组也没错。
vbsp5没装过,我先试试
开始写的时候都没问题。
cqq_chen 2001-12-17
  • 打赏
  • 举报
回复
uguess(uguess) 
的看法是对的,我也有过相同的经历,用这种做法就OK了。
hnxxy 2001-12-17
  • 打赏
  • 举报
回复
我编译你的代码时怎么不出错?你的VB什么版本?VB6的话安装vbSP5了吗?不会是你的TEXT1控件不是数组吧?
uguess 2001-12-17
  • 打赏
  • 举报
回复

呵呵,看样子有很多同志都困惑于这个问题啊!

其实,这是由于你的工程中引用了某些库,而现在找不到了造成的:你可以看看“工程”—》“引用”,在弹出的对话框中是否有“缺少....”这样的引用,如果有,要么去掉它,要么指明正确的库文件路径就可以啦。




jiangbtg 2001-12-16
  • 打赏
  • 举报
回复
以下就是有问题的源程序:
Command17.Enabled = False
Dim sql1 As String
Dim aa As String
Dim sql As String
sql1 = frmLogin.odbc
Data1.Connect = sql1
DoEvents

aa = LTrim(RTrim(Text1(0).Text))
For i = 1 To Len(aa)

If Right(Left(aa, i), 1) = "a" Then
i = i + 2
laa = Left(aa, i)
lbb = Right(aa, Len(aa) - i)
aa = laa + " 文档号 " + lbb
End If

If Right(Left(aa, i), 1) = "o" Then
i = i + 1
laa = Left(aa, i)
lbb = Right(aa, Len(aa) - i)
aa = laa + " 文档号 " + lbb
End If
Next i

If aa = "" Then
t1 = " 文档号>=0"
Else
If Left(aa, 1) = "<" Or Left(aa, 1) = ">" Or Left(aa, 1) = "=" Then
t1 = " 文档号" + aa
Else
t1 = " 文档号=" + aa
End If
End If

t2 = " and 合同号 like " + "'" + "&" & RTrim(Text1(1).Text) & "&" + "'"

t3 = " and 合同文件名 like " + "'" + "&" & RTrim(Text1(2).Text) & "&" + "'"

t4 = " and 甲方 like " + "'" + "&" & RTrim(Text1(3).Text) & "&" + "'"

t5 = " and 乙方 like " + "'" + "&" & RTrim(Text1(4).Text) & "&" + "'"

t6 = " and 经办人 like " + "'" + "&" & RTrim(Text1(5).Text) & "&" + "'"

t7 = " and 乙方电话 like " + "'" + "&" & RTrim(Text1(6).Text) & "&" + "'"

aa = LTrim(RTrim(Text1(7).Text))
For i = 1 To Len(aa)

If Right(Left(aa, i), 1) = "a" Then
i = i + 2
laa = Left(aa, i)
lbb = Right(aa, Len(aa) - i)
aa = laa + " 签约时间 " + lbb
End If

If Right(Left(aa, i), 1) = "o" Then
i = i + 1
laa = Left(aa, i)
lbb = Right(aa, Len(aa) - i)
aa = laa + " 签约时间 " + lbb
End If
Next i

If aa = "" Then
t8 = " and 签约时间>=0"
Else
If Left(aa, 1) = "<" Or Left(aa, 1) = ">" Or Left(aa, 1) = "=" Then
t8 = " and 签约时间" + aa
Else
t8 = " and 签约时间=" + aa
End If
End If

aa = LTrim(RTrim(Text1(8).Text))
For i = 1 To Len(aa)

If Right(Left(aa, i), 1) = "a" Then
i = i + 2
laa = Left(aa, i)
lbb = Right(aa, Len(aa) - i)
aa = laa + " 共计金额 " + lbb
End If

If Right(Left(aa, i), 1) = "o" Then
i = i + 1
laa = Left(aa, i)
lbb = Right(aa, Len(aa) - i)
aa = laa + " 共计金额 " + lbb
End If
Next i


If aa = "" Then
t9 = " and 共计金额>=0"
Else
If Left(aa, 1) = "<" Or Left(aa, 1) = ">" Or Left(aa, 1) = "=" Then
t9 = " and 共计金额" + aa
Else
t9 = " and 共计金额=" + aa
End If
End If

t10 = " and 部门 like " + "'" + "&" & RTrim(Text1(9).Text) & "&" + "'"

t11 = " and 影片名称 like " + "'" + "&" & RTrim(Text1(10).Text) & "&" + "'"

t12 = " and 关键字 like " + "'" + "&" & RTrim(Text1(11).Text) & "&" + "'"

t13 = " and 存储编号 like " + "'" + "&" & RTrim(Text1(12).Text) & "&" + "'"


sql = "select & from filmsame where" + t1 + t2 + t3 + t4 + t5 + t6 + t7 + t8 + t9 + t10 + t11 + t12 + t13
Adodc1.RecordSource = sql
Adodc1.Refresh
DataGrid1.Caption = "共查到" + Str(DataGrid1.ApproxCount) + " 条记录"
DataGrid1.Refresh
Command17.Enabled = True
wdrhf 2001-12-16
  • 打赏
  • 举报
回复
只有午夜黎明说的有的道理,其他的只是废话。
看源码谁不会?
cherno 2001-12-16
  • 打赏
  • 举报
回复
嘿嘿~~重装VB~~可能是VB的问题~~~
妈的~~我也遇到过傻VB连自己人都不认识的问题~~
Bardo 2001-12-16
  • 打赏
  • 举报
回复
常有的事!
quickball 2001-12-16
  • 打赏
  • 举报
回复
最好把你的代码附上。
NightBreak 2001-12-16
  • 打赏
  • 举报
回复
几种可能:
1.错误本身于LEFT,RIGHT的使用无关.关于数组的定义的错误让你误认为是它们的;
2.试图使用字符串函数LEFT,RIGHT来操作数组;
3.其它错误,需要看看关键代码(废话 ;) );

TO 大地,巴顿:
VB有这样的BUG吗?
ssxc 2001-12-16
  • 打赏
  • 举报
回复
需要看一看代码
加载更多回复(8)

7,763

社区成员

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

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