刚学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中,代码该怎么写,求高手帮忙。
VB6ACCESS查询结果显示在MSHFlexgrid中
答案:2 悬赏:80 手机版
解决时间 2021-12-18 02:04
- 提问者网友:世勋超人
- 2021-12-17 16:32
最佳答案
- 五星知识达人网友:狂恋
- 2021-12-17 17:28
'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
'--上面就是讲查询出的数据全部填入表格,比较简单,质量上还可以改善,具体的要看你的要求
’--有问题可以再一起探讨
换成 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
'--上面就是讲查询出的数据全部填入表格,比较简单,质量上还可以改善,具体的要看你的要求
’--有问题可以再一起探讨
全部回答
- 1楼网友:逃夭
- 2021-12-17 18:15
日期是你自己添加在数据库中的
private sub command1_click()
dim cn as new adodb.connection cn.open "provider=microsoft.jet.oledb.4.0;data source=" & app.path & "\db2.mdb" cn.execute "insert into 信息查询 (姓名,2011-3-16,2011-03-17,。。) values ('" & text1.text & "','" & text2.text & "',。。)" cn.close msgbox "保存完毕!" end if
end sub
。。 这两点是你 数据库中有多少个日期 就写多少以后添加就自动添加了。。
(1)
(2)
(3)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯