LoadRecord 函数
简介
读取指定记录源中的数据并自动写到窗体上或临时表中。
语法
LoadRecord(Distination, Source[, ActiveConnetion])
输入参数
参数名称 | 必需/可选 | 数据类型 | 说明 |
---|---|---|---|
Distination | 必需 | Variant | 加载数据的目标对象。可以是代表窗体窗体/记录集的对象,也可以是代表数据表名的称字符串(只能是客户端中的表,一般是临时表名称)。 |
Source | 必需 | Variant | 数据来源。可以是代表记录集的对象,也可以是代表表名/查询名/视图名/可以返回记录的SQL语句。 |
ActiveConnetion | 可选 | Variant | 指定访问Source参数指定的数据源时使用的连接。如果省略此参数,将默认使用平台直接连接后台数据库的ADO连接(不经过链接表)。 |
返回值
无
说明
注意!!!使用此函数时,窗体上的控件名必须和字段名一致,否则无法取得数据。
该函数主要用于代替原来打开编辑窗体时,加载已有数据的代码。优点有:
- 简化了代码,原来需要一大段代码实现的功能,只需要一句代码即可实现。
- 代码具有自动适应能力,原来的代码,字段发生变化,比如增加了一个字段,代码中也需要相应增加一行。用此函数则完全不需要修改代码。
示例
'原来使用的加载数据的代码 Private Sub Form_Load() If Not Me.DataEntry Then Dim strSQL As String Dim rst As Object strSQL = "SELECT * FROM 销售订单表 WHERE 销售订单号=" & SQLText(Me!销售订单号) Set rst = ADO.OpenRecordset(strSQL) Me!销售订单号 = rst!销售订单号 Me!客户代码 = rst!客户代码 Me!销售员工号 = rst!销售员工号 Me!审核人工号 = rst!审核人工号 Me!销售日期 = rst!销售日期 Me!备注 = rst!备注 rst.Close Dim rstTmp As Object Set rstTmp = CurrentDb.OpenRecordset("TMP_销售订单明细表") strSQL = "SELECT * FROM 销售订单明细表 WHERE 销售订单号=" & SQLText(Me!销售订单号) Set rst = ADO.OpenRecordset(strSQL) Do Unitl rst.EOF rstTmp.AddNew rstTmp!销售订单号 = rst!销售订单号 rstTmp!商品编码 = rst!商品编码 rstTmp!单价 = rst!单价 rstTmp!数量 = rst!数量 rstTmp!摘要 = rst!摘要 rstTmp.Update rst.MoveNext Loop rst.Close rstTmp.Close End If End Sub '-------------------------------------------------------------------------------------------------------------------- '使用LoadRecord函数的代码 Private Sub Form_Load() If Not Me.DataEntry Then LoadRecord Me, "SELECT * FROM 销售订单表 WHERE 销售订单号=" & SQLText(Me!销售订单号) LoadRecord "TMP_销售订单明细表", "SELECT * FROM 销售订单明细表 WHERE 销售订单号=" & SQLText(Me!销售订单号) End If End Sub