VB6 ACCESS查询结果显示在MSHFlexgrid中

刚学VB,这个地方实在整不明白了,帮忙看看我这代码该怎么写啊,谢谢了,打叉的地方是我不会的,哪里不对的地方告诉我啊,谢谢了。PrivateSubCommand5_Clic... 刚学VB,这个地方实在整不明白了,帮忙看看我这代码该怎么写啊,谢谢了,打叉的地方是我不会的,哪里不对的地方告诉我啊,谢谢了。
Private
Sub Command5_Click()
If Text2.Text = "" Then
MsgBox
("请在甲方处输入您想要查询的合同,例如:建三江")
Else

Dim sc As String

sc =
MsgBox("确实要查询此测区的合同么?", vbOKCancel, "系统提示")
If sc = 1 Then
Dim conn As New
ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str1 As String
Dim
str2 As String
Dim str3 As String

str1 = "provider =
microsoft.jet.oledb.4.0;"
str2 = "data source =
c:\合同管理\contract.mdb;"
str3 = "jet oledb:database password =
"

conn.Open str1 & str2 & str3

strsql = "select * from
xiangmu where 甲方 = " & Val(Text2.Text) & ""

rs.Open strsql, conn,
3, 3

If rs!甲方 = Val(Text2.Text)
Then
XXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXX

Else
MsgBox
("不存在此记录")
Text2.Text = ""
XXXXXXXXXXX
XXXXXXXXXXXXXXXXXX
Exit
Sub
End If
End If
End If
End Sub
我就是想实现这个功能
单击按钮command1的时候,把select*from xiangmu where 甲方 = "&val(text1.text)&"的查询结果显示在mshflexgrid中,代码该怎么写,求高手帮忙。
展开
 我来答
xbj_hyml
2013-12-18 · TA获得超过285个赞
知道小有建树答主
回答量:552
采纳率:100%
帮助的人:430万
展开全部
'1、你这里sql中已经有了 甲方 = " & Val(Text2.Text) 这个判断,这里就不要if去判断了,因为有记录的话 肯定是相等的
                换成 if rs.recordcount >0 then  '--表示如果rs中记录行数 >0
            '2、填写表格(mshfg),用for,或者do while 循环都可以
            '我举个例子
            With mshfg
                .rows = rs.RecordCount + 1  '设置表格的行数= 记录数+1 ,第一行 字段名
                .cols = rs.Fields.Count
                .redraw = False '防止闪烁
                '--表格第一行填入 字段名 ,记住表格的行列 都是从 0 开始
                For i = 0 To .cols - 1
                    .TextMatrix(0, j) = rs(0).Name
                Next
                For i = 1 To .rows - 1 '循环记录行数
                    For j = 0 To .cols - 1    '循环列数
                        .TextMatrix(i, j) = rs(0).Value
                    Next
                Next
                .redraw = True
            End With
            
            '--上面就是讲查询出的数据全部填入表格,比较简单,质量上还可以改善,具体的要看你的要求
            ’--有问题可以再一起探讨
追问
我上个星期才开始学习VB,说实话,你写的我看的一知半解
我之前写的那个提示“表达式中数据类型不匹配”,点调试之后定位在“rs.Open strsql, conn, 3, 3”。
我想实现这样一个功能---单击按钮command1的时候,把select*from xiangmu where 甲方 = "&val(text1.text)&"的查询结果显示在mshflexgrid中,能把具体的代码写给我么
追答
1、这差不多已经是具体的代码,可以直接套进去了 ,只是一些名称需要换一下。而且像表格的名称之类的你也没写具体,怎么写的具体
2、rs.Open strsql, conn, 3, 3 -- 这句话有错,是因为你少了一个参数,你在后面加上参数adCmdText 或者 1
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式