第1个回答 2011-02-23
其实很简单.主要步骤如下:
1、建立(或已存在)一个关于问题分类的表([问题分类表]),格式应该是:
ID(自动编号),问题分类(文本)
2、建立(或已存在)一个关于问题和详细信息的基础表,格式应该是:
ID(自动编号)、分类ID(数字→长整型 对应[问题分类表].[ID]) 、问题明细(文本)、解决方法(文本)……(还需要什么自己增加)
3、建立那个你想要的窗体界面,其中创建一个列表框(List分类),在右侧创建一个文本框(Text内容);
4、在 List分类 的属性表的“数据”选项卡中,“行来源类型”属性,默认为“表/查询”(保持不变);
找到“行来源”属性,点击右侧的下拉菜单,选择“问题分类表”,之后,切换到属性表的“格式”选项卡中,在“列数”属性中,写入 “2”,表示〔ID〕和〔问题分类〕都使用;
在“列宽”属性中,写入“0,3”,意思是〔iD〕列不显示。只显示〔问题分类〕;
5、切换到属性表的“事件”选项卡中,在“更新后”属性中,选择“事件过程”并点击 右侧的生成器(…)按钮,切换到VBA编辑器中,将下列代表粘到事件中:
Me.Text内容 = DLookup("问题明细", "问题明细表", "分类ID=" & Me.List分类)
6、切换到 窗体视图 看效果.(要在2个表中输入一切资料)
第2个回答 2011-02-23
设窗体窗体(ct),数据源为jscl表,建两个组合框:
组合框1:名称为clmc (其值是jscl表中的clmc) 可用行来源:SELECT [clmc].[jscl] FROM [jscl]
组合框2:名称为ctcz (其值是jscl表中的clcz) 可用行来源:SELECT distinct clcz.jscl FROM jscl WHERE (([jscl]![clmc]=[Forms]![ct]![ctmc]))
第3个回答 2011-02-23
窗体中新建1个列表框、1个文本框,一个叫L问题分类,一个叫T解决方法,其它什么都不用做。然后窗体代码如下即可实现你的要求:
Private Sub Form_Open(Cancel As Integer)
Dim sql As String
sql = "select 问题分类 from 问题表"
Me.L问题分类.RowSource = sql
End Sub
Private Sub L问题分类_AfterUpdate()
Dim db As Database
Dim rst1 As Recordset
Dim sqlrst1 As String
Dim qst, ans As String
Set db = CurrentDb
qst = Me.L问题分类.Value
sqlrst1 = "select 解决方法 from 问题表 where 问题分类 = '" & qst & "'"
Set rst1 = db.OpenRecordset(sqlrst1)
ans = rst1(0)
Me.T解决方法.Value = ans
End Sub
第4个回答 2011-02-23
库,得到连接对象conn
2、用下面的select语句打开表,将数据读入RecordSet
set rs=conn.execute("select * from 表名")
3、用循环将数据读入二维数组arr
row=0
while not rs.eof
arr[row,0]=rs["id"]
arr[row,1]=rs["year"]
arr[row,2]=rs["mon"]
arr[row,3]=rs["1"]
arr[row,4]=rs["2"]
...
...
...
row=row+1
wend