如何让DATAGIRD中显示我想要的几列数据?

applee0721 2009-09-18 10:28:11
如题所示。
这是我在DATAGIRD中显示数据的代码。把全部数据都显示了,但是我只需要几列数据,应该怎么改下?
Private Sub Command1_Click()
Dim strSQL As String
Dim strCon(4) As String
Dim intCount As Integer
Dim i As Integer
intCount = 0
'获得所有得查询条件
If Text1.Text <> "" Then
If Check1.Value = 1 Then
strCon(1) = "船型 like '%" & Text1.Text & "%'"
Else
strCon(1) = "船型='" & Text1.Text & "'"
End If
Else
strCon(1) = ""
End If
If Text2.Text <> "" Then
If Check1.Value = 1 Then
strCon(2) = "产品号 like '%" & Text2.Text & "%'"
Else
strCon(2) = "产品号='" & Text2.Text & "'"
End If
Else
strCon(2) = ""
End If
If Text3.Text <> "" Then
If Check1.Value = 1 Then
strCon(3) = "图号 like '%" & Text3.Text & "%'"
Else
strCon(3) = "图号='" & Text3.Text & "'"
End If
Else
strCon(3) = ""
End If
If Text4.Text <> "" Then
If Check1.Value = 1 Then
strCon(3) = "零件号 like '%" & Text4.Text & "%'"
Else
strCon(3) = "零件号='" & Text4.Text & "'"
End If
Else
strCon(3) = ""
End If

If strCon(1) = "" And strCon(2) = "" And strCon(3) = "" And strCon(4) = "" Then
strSQL = "select * from xinxi"
Else
strSQL = "select * from xinxi where "
For i = 1 To 4
If strCon(i) <> "" Then
intCount = intCount + 1
If intCount = 1 Then
strSQL = strSQL + strCon(i)
Else
strSQL = strSQL + " and " + strCon(i)
End If
End If
Next
End If
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
Adodc1.CursorLocation = adUseClient
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = strSQL
Adodc1.Refresh
End Sub
Private Sub Command2_Click()
Unload Me
End Sub


Private Sub Form_Load()
Dim db As New ADODB.Connection
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=False"
db.ConnectionString = Adodc1.ConnectionString
If db.State <> ADODB.ObjectStateEnum.adStateClosed Then db.Close
db.Open

End Sub

根据上面的查询条件,我只想要我想要几列数据,该如何搞

...全文
93 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdingyun 2009-09-22
  • 打赏
  • 举报
回复
对显示字段可见与不可见,也可在DATAGRID控件的属性页设置:
请参阅:
http://www.vbgood.com/viewthread.php?tid=83822&page=1#pid442945
Tiger_Zhao 2009-09-22
  • 打赏
  • 举报
回复
可能你原先已经在 DataGrid 中通过绑定取得了所有列信息,这样刷新会不匹配。
应该先断开绑定,刷新 ADODC,再用 ReBind 重新绑定并重新取得列信息。
jhone99 2009-09-21
  • 打赏
  • 举报
回复
现在的代码贴出来
applee0721 2009-09-20
  • 打赏
  • 举报
回复
没人来解答了么?
applee0721 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tiger_zhao 的回复:]
select * 改为 Select 字段1,字段2,字段3...
[/Quote]
你好,你跟我说的关于DATAGIRD显示几列数据的提示,我改了以后程序出错是怎么回事?
提示ADOC REFRESH方法失败是怎么回事?希望能够解答,谢谢
applee0721 2009-09-20
  • 打赏
  • 举报
回复
不好意思,昨天有事所以没有看贴,照楼上各位的方法我也知道,但是程序最后运行不了。做何解?
kinggqc 2009-09-18
  • 打赏
  • 举报
回复
DATAGIRD
可以绑定ADODC控件
这个更方便
编写完你上边SQL语句
就可以了
选择哪种方式,就会显示你要的数据了
king06 2009-09-18
  • 打赏
  • 举报
回复
lxq19851204 2009-09-18
  • 打赏
  • 举报
回复
楼上都正确.
孤独剑_LPZ 2009-09-18
  • 打赏
  • 举报
回复
strSQL = "select 字段1,字段2,字段3 from xinxi"
路过
zm03173225 2009-09-18
  • 打赏
  • 举报
回复
同意
threenewbee 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tiger_zhao 的回复:]
select * 改为 Select 字段1,字段2,字段3...
[/Quote]
正解。

另外如果只需要几行的话可以使用
select top(10) 字段1,字段2,字段3 from ...
Tiger_Zhao 2009-09-18
  • 打赏
  • 举报
回复
select * 改为 Select 字段1,字段2,字段3...

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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