| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1100 人关注过本帖
标题:麻烦问一下关于datagrid的问题
只看楼主 加入收藏
冰雪清风
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-11-9
结帖率:94.12%
收藏
已结贴  问题点数:6 回复次数:7 
麻烦问一下关于datagrid的问题
我有一段查询数据库的程序,要将符合条件的记录用datagrid显示出来。可是用datagrid要用到adodc,我用了两个窗体,一个输入条件,名为conre,一个显示datagrid,名为require。我写了如下代码,想用conre的输入条件控制require中adodc1的数据源recordsouce。require的adodc1的属性里填了connectionstring,recordsouce没填。
conre的代码如下:
Private Sub Command1_Click()
 If Combo1.Text = "请输入字段" Or Text1.Text = "" Then
  inta = MsgBox("请输入字段名和字段值", 21, "错误")
  Exit Sub
 End If
 If Combo1.Text = "date" Then
  require.Adodc1.RecordSource = "select * from ma where date=" & "#" & Text1.Text & "#"
 Else
  require.Adodc1.RecordSource = "select * from ma where" & " " & Combo1.Text & Combo2.Text _
  & "'" & Text1.Text & "'"
 End If
 require.Show
 Combo1.Text = "请选择字段"
 Text1.Text = ""
End Sub

Private Sub Form_Load()
  Combo1.AddItem "number"
  Combo1.AddItem "name"
  Combo1.AddItem "date"
  Combo1.AddItem "provider"
  Combo1.AddItem "stock_place"
  Combo1.AddItem "note"
  Combo2.AddItem "="
  Combo2.AddItem "like"
End Sub
可是运行后发生错误,显示:[adodc]:没有指定纪录源。[ado]没有为命令对象设置命令。
我也曾尝试用ado对象,用查询条件生成记录集rs,但rs怎么和adodc1联系上?
麻烦高手指点!
搜索更多相关主题的帖子: datagrid 麻烦 
2009-11-22 10:21
Jian_X
Rank: 4
等 级:业余侠客
威 望:1
帖 子:51
专家分:212
注 册:2009-10-23
收藏
得分:0 
你的Adodc1在require窗体中,而你在conre窗体调用Adodc1时,require窗体并没有加载,所以显示:[adodc]:没有指定纪录源。[ado]没有为命令对象设置命令。
2009-11-23 12:44
冰雪清风
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-11-9
收藏
得分:0 
不行啊!我在conre的form_load里设了load require,结果也一样啊!
我想是adodc1的resource只能在属性里设。本来在属性里也可以设查询语句,但是查询语句里不能有变量,所以就不好办了。
另一条路是将通过查询生成的记录集rs与adodc1联系上,才能使用datagrid。可是怎么联系上呢?
要求是必须使用datagrid显示(含变量的)查询生成的记录!
特向高手们请教!


[ 本帖最后由 冰雪清风 于 2009-11-23 21:41 编辑 ]
2009-11-23 21:30
冰雪清风
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2009-11-9
收藏
得分:0 
请高手们多多帮忙!谢谢了!

[ 本帖最后由 冰雪清风 于 2009-11-23 21:41 编辑 ]
2009-11-23 21:34
Jian_X
Rank: 4
等 级:业余侠客
威 望:1
帖 子:51
专家分:212
注 册:2009-10-23
收藏
得分:4 
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aaaa.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from xxxx"
Adodc1.Refresh

set DataGrid1.recordsource = Adodc1
这样就可以了
2009-11-24 08:24
gnyzkj
Rank: 1
等 级:新手上路
帖 子:1
专家分:2
注 册:2009-11-24
收藏
得分:2 
你添加一个模块嘛,添加两个全局变量,一个用来记录查询方式,一个用来记录查询值,然后再require窗体中来编写查询语句。
2009-11-24 12:08
frank_tao78
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:69
专家分:143
注 册:2010-1-11
收藏
得分:0 
好像咱两都碰到这个问题

datacombo和adodc控件,我都想在窗口load的时候初始化,就是执行不了!!!

Private Sub Form_Load()
Dim sql As String

sql = "provider=microsoft.jet.oledb.4.0;" & _
   "data source=C:\Documents and Settings\Administrator\桌面\stud.mdb;" & _
   "persist security info=false"
Adodc1.ConnectionString = Trim(sql)
Adodc1.RecordSource = "select * from prof"


DataCombo1.RowSource = Adodc1——————提示“未找到方法或数据成员”
DataCombo1.ListField = Adodc1.Recordset.Fields("专业")
End Sub
2010-01-28 19:58
gyll
Rank: 2
等 级:论坛游民
帖 子:56
专家分:21
注 册:2009-4-22
收藏
得分:0 
过来看看

学习C
2010-04-30 15:30
快速回复:麻烦问一下关于datagrid的问题
数据加载中...
 
   



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

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