iamlaosong文
Access窗体开发的时候一般需要关联数据源RecordSource,这个数据源一般是一个表或者一个查询,而数据集RecordSet则是表或查询在内存中影像,两个窗体指向同一个数据源可以各跑各的,互不影响;但如果两个窗体指向同一个数据集,则会共同使用同一个数据影像。数据集会有个指针(BookMark)指向当前记录,只能对指针指向的记录进行操作。共用记录集时,一个窗体移动数据集中的指针或对当前记录进行修改时,另一个窗体也会做相应的反应。对数据的操作实际就是对记录集的操作,要保存操作的结果,必须将记录集更新到数据源当中。
窗体启动时会自动将数据源加载到内存生成一个记录集,下面语句可以使子窗体(名字叫frmSub)和主窗体共用一个数据集(一般放在加载事件中):
Me.frmSub.Form.RecordSet=Me.RecordSet
移动指针的语句如下:
下一个:Me.RecordSet.MoveNext
上一个:Me.RecordSet.MovePrevious
第一个:Me.RecordSet.MoveFirst
最后一个:Me.RecordSet.MoveLast
窗体数据源变更后,内存中的影像并没有变化,下面语句用于指定数据源并更新内存中的影像:
Me.RecordSource="Select * from mytable where PartCode like '*" & newPart & "*'"
Me.Requery
注意:RecordSource是窗体或报表的数据源,RowSource则是列表框或组合框的数据源。