100求解两个问题

泥娃 2000-03-07 02:30:00
问一:adodc控件的recordsoure属性的用法?
因为我发现以下语句提示“from了句错“
adodc1.recordsoure="select * from dd_b,dw_b"

问二:如何判断combo控件的属性的改变?
当我使用combo控件的下拉框选定itm时change事件没有激活
click事件也没有激活。

这是怎么回事你能告诉我吗? 分献上!!!
...全文
178 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
泥娃 2000-03-08
  • 打赏
  • 举报
回复
Adodc1 属性设置如下:

Begin MSAdodcLib.Adodc Adodc1
Height = 435
Left = 510
Top = 1950
Width = 2895
_ExtentX = 5106
_ExtentY = 767
ConnectMode = 0
CursorLocation = 3
IsolationLevel = -1
ConnectionTimeout= 15
CommandTimeout = 30
CursorType = 3
LockType = 3
CommandType = 2
CursorOptions = 0
CacheSize = 50
MaxRecords = 0
BOFAction = 0
EOFAction = 0
ConnectStringType= 1
Appearance = 1
BackColor = -2147483643
ForeColor = -2147483640
Orientation = 0
Enabled = -1
Connect = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=G:\sdf\data.mdb"

OLEDBString = "Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=G:\sdf\data.mdb"

OLEDBFile = ""
DataSourceName = ""
OtherAttributes = ""
UserName = ""
Password = ""
RecordSource = "tb_data"
Caption = "Adodc1"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
_Version = 393216
End

程序中:
Private Sub Command1_Click()
Adodc1.RecordSource = "select da_bm,da_name,da_s1,da_s2,da_s3 from tb_da where da_year='1999'"

Adodc1.Refresh
End Sub

程序运行出错,提示“FROM子句错”

不知道是怎么回事,我要急死了,VB高手帮帮忙吧。
泥娃 2000-03-07
  • 打赏
  • 举报
回复
对不起,我是初学者有几个单词写错了
分我已经给了,可以告诉我commandtype几个参数的具体意义吗?
dongdong 2000-03-07
  • 打赏
  • 举报
回复
第一个问题:
用法没有错,可以直接SELECT 字段的名称,但有两个前提,1,字段名不能有重复;2,必须先设置ADODC的COMMANDTYPE=2,即SQL语句;
第二个问题:
CLICK 事件应当触发,没有触发的原因可能是其他语句的问题,单步执行看看。
Chen_Lin 2000-03-07
  • 打赏
  • 举报
回复
同意river99的意见,同时recordsoure也可以用以下简单表示:
recordsource=数据表名。(CommandType=2)
第二个问题,Click事件应该会被触发的。
newsoft 2000-03-07
  • 打赏
  • 举报
回复
不对吧,我试验了一下,click事件是响应的,change事件是不响应的。
Private Sub Combo1_Change()
MsgBox "aaa"
End Sub

Private Sub Combo1_Click()
MsgBox "bbb"

End Sub

Private Sub Form_Load()
Combo1.AddItem "aaa"
Combo1.AddItem "bbb"
Combo1.AddItem "ccc"
End Sub
river99 2000-03-07
  • 打赏
  • 举报
回复
第一个问题是SQL语句错,正确的写法为"select a.*, b.* from dd_b a, dw_b b"或
"select dd_b.*, dw_b.* from dd_b, dw_b",不过你需要确定这两个数据库表中没有同名字段。如果有,必须将同名字段去掉。
第二个问题有点奇怪,Click事件一般是在对Item选择时被触发的。ComboBox中的Change事件只有在手工输入或程序改变内容时的时候才会被触发的。可能你的程序中没有处理好。可以参考MSDN中的有关资料。
King 2000-03-07
  • 打赏
  • 举报
回复
什么是recordsoure?是不是recordset啊?

7,762

社区成员

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

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