Ms access 使用VBA访问子窗体数据表

Ms access 使用VBA访问子窗体数据表,ms-access,vba,datasheet,Ms Access,Vba,Datasheet,我当前有一个子表单,它作为数据表加载。因此,当我单击表单时,它将显示如下所示的当前记录,但显示模糊 我想做的是,在VBA中,访问表单及其数据表来操作单元格数据。也就是说,thisform.sheet.cell1,1=somevalue 到目前为止,我已经设法通过表单访问表单对象!Name您需要创建一个记录集对象,并在该对象上迭代 Dim acRS1 as Recordset 然后需要将记录集分配给所需的实际表 Set acRS1 = db.OpenRecordset("sometabletha

我当前有一个子表单,它作为数据表加载。因此,当我单击表单时,它将显示如下所示的当前记录,但显示模糊

我想做的是,在VBA中,访问表单及其数据表来操作单元格数据。也就是说,thisform.sheet.cell1,1=somevalue


到目前为止,我已经设法通过表单访问表单对象!Name

您需要创建一个记录集对象,并在该对象上迭代

Dim acRS1 as Recordset
然后需要将记录集分配给所需的实际表

Set acRS1 = db.OpenRecordset("sometablethatIwanttoupdate",dbOpenDynaset)
然后,您将需要以您需要的方式更新记录集,而您的原始问题中不包括该方式


当您澄清要对记录集进行的确切更改时,我将使用相应的代码进行更新。我们是要更新记录还是添加新记录?

您希望如何操作单元格数据?基于某些决策的特定字段,还是所有行或列?什么应该触发这种变化?你会双击一个字段还是其他字段?更改将由按下按钮触发:因此,一旦单击按钮,将运行一个函数来更改其中的一些单元格,以保持清晰,因为这是Access数据表而不是Excel,我相信当你说“单元格”时,你真正指的是字段。我假设这些字段中显示的数据来自您的一个表,该表用作该表单的记录源?您需要添加VBA代码以根据所使用的逻辑执行某种类型的逐行更新,或者需要运行“更新”查询以根据某些条件进行更新。最后,您需要刷新数据,即“重新查询”。这接近你想要发生的事情吗?谢谢你的回复。是的,访问表单的recordsource由表中的数据提供。但是我想这样做,当用户创建一个新记录时,这意味着recordsource是空的,字段将预先填充一些数据行。我知道如何访问窗体的记录源,因此我的下一个问题是如何访问记录源中的每一行/操作这些行?我相信您的子窗体绑定到记录集,并且可能链接到主窗体中的某个相关记录?当用户在主窗体上“创建”新记录时,默认情况下,子窗体中没有“新”或“相关”记录?您想为将要关联的子窗体自动添加一些记录吗?如果所有这些假设均为真,则在主窗体中,将VBA代码添加到“插入后的窗体”事件中,以将相关行添加到用于子窗体的表中。使用SQL“插入”或VBA“.AddNew”。这是你想要的吗?