| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 701 人关注过本帖
标题:为什么查询不到?
只看楼主 加入收藏
ilovezky
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-4-24
收藏
 问题点数:0 回复次数:12 
为什么查询不到?

Public Sub command1_Click()
If Option1.Value = True Then

ElseIf Option2.Value = True Then
GoTo name
End If
name:
Dim a As String
a = Val(Text2.Text)
Static stud(2) As stu
Open "c:\stu_list" For Input As #1
For i = 1 To 2
Input #1, stud(i).stname, stud(i).num, stud(i).addr, stud(i).tel
If a = stud(i).stname Then

Text1.Text = stud(i).stname
Exit For

End If

Next i
Close #1
End Sub
大家帮忙看看代码错在哪里,谢谢大家了

搜索更多相关主题的帖子: 查询 
2006-06-21 12:34
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
把整个程序打包发上来..

我的msn: myfend@
2006-06-21 12:55
ilovezky
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-4-24
收藏
得分:0 
Type stu
stname As String
num As Integer
addr As String
tel As Integer
End Type

Public Sub command1_Click()
If Option1.Value = True Then

ElseIf Option2.Value = True Then
GoTo name
End If
name:
Dim a As String
a = Val(Text2.Text)
Static stud(2) As stu
Open "c:\stu_list" For Input As #1
For i = 1 To 2
Input #1, stud(i).stname, stud(i).num, stud(i).addr, stud(i).tel
If a = stud(i).stname Then

Text1.Text = stud(i).stname
Exit For

End If

Next i
Close #1
End Sub
所有代码都在这了

2006-06-21 13:08
maui2000
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:0
注 册:2006-5-23
收藏
得分:0 
为啥要GoTo name??
直接把NAME后的代码写到IF语句里不是一样么?
2006-06-21 13:33
ilovezky
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-4-24
收藏
得分:0 
有道理,但是谁来帮我解决一下那个查询的的问题呢?
2006-06-22 12:38
lanshanlhy
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2006-4-16
收藏
得分:0 
Open "c:\stu_list" For Input As #1 ' 你的文件什么格式都没说明 好像该指明吧!

For i = 1 To 2
Input #1, stud(i).stname, stud(i).num, stud(i).addr, stud(i).tel '问题好像就在这里 你的文件只输出一次 你 怎么还用了个for 语句 不要for 而用2个文件打开就可以解决你的问题
If a = stud(i).stname Then
Text1.Text = stud(i).stname
Exit For
End If
Next i

永远以今天为荣!
2006-06-22 16:27
ilovezky
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2006-4-24
收藏
得分:0 

应该是不用指定文件名的,因为文件是打得开也读取的出数据的。
之所以用for循环是因为打开的一个数组,只是目前只存入了两组数据。

2006-06-22 18:44
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
还不如把Name改为函数来调用。

2006-06-26 21:37
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
你这段代码存在严重问题,不管Option1和Option2的值是否为真或假,均会执行name:后面的代码,也就是说Option的选择不起作用。

2006-06-26 21:44
hyhhd
Rank: 2
等 级:论坛游民
威 望:1
帖 子:502
专家分:44
注 册:2006-5-12
收藏
得分:0 
错在:
1、stname As String
2、Dim a As String
a = Val(Text2.Text)
当输入学生名字时,a的值始终为“0”,根本就不可能出现stname=a的情况,也就是说text1永远不会出现stud(i).stname的值。
总的说来小小的一段代码,问题太多。Name应定义成函数来调用,要不然Option的选择不起作用,否则If Option1.Value=True then后跟Exit Sub;既然定义了Dim a As String,怎么还使用Val函数来转换成数值来赋给数据类型的a!!!

2006-06-26 22:04
快速回复:为什么查询不到?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016816 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved