分享
 
 
 

access在结合或绑定的组合框中添加新值

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

当主表(“一”表)中的主键字段与相关表(“多”表)中的外部键字段建立了关系后,在基于相关表(“多”表)而建的窗体中,外部键字段的控件可以设为组合框,通过键盘或鼠标,输入或选择组合框中已存的值,也就是引用“一”表所有的数据。此时,组合框的“行来源类型(RowSourceType)”属性为“表/查询”;“行来源(RowSource)”属性为一查询或SQL语句,同时必须设置“结合列(或绑定列)(BoundColumn)”属性;而“限于列表”属性必须设为“是”,这是为了确保在相关表(“多”表)中的外部键字段必须与主表(“一”表)中的主键字段有一一对应的关系。从中也可以看出,输入数据必须先输入主表(“一”表)的数据,然后才能在相关表(“多”表)中,引用主表(“一”表)的数据。

当组合框为结合(或绑定)时,上述一些属性必须如上所述。如果在组合框中输入新值,将会触发“不在列表中(NotInList)”事件。在该事件中写上适当的代码就能将新值添加到组合框所结合(或绑定)的表中。

在使用该事件时,Access提供了两个变量,NewData 和Response 。

当输入的值不在列表中时,Access把这一新值写入NewData变量中。通过访问NewData可将新值添加到主表中。

Response有三个值可取:acDataErrDisplay (默认值)、acDataErrContinue和acDataErrAdded 。

书写形式为:

Response = acDataErrDisplay

Response = acDataErrContinue

Response = acDataErrAdded

它们的含义为:

1、acDataErrDisplay为用户显示默认的消息。当不允许用户将新值添加到组合框的列表中时,可以使用它。

2、acDataErrContinue 不为用户显示默认的消息。如果要为用户显示自定义消息时,可以使用它。例如,事件过程能显示一个自定义对话框以询问用户是否要保存新的输入项。如果回答为 Yes,事件过程将新的输入项添加到列表中,并将 Response 参数设置为 acDataErrAdded。如果回答是 No,事件过程将 Response 参数设置为 acDataErrContinue。

3、acDataErrAdded 不为用户显示消息,但在 NotInList 事件过程中将输入项添加到组合框列表中。在输入项被添加后,Microsoft Access 将通过重新查询组合框来更新列表。然后 Microsoft Access 重新检查字符串和组合框列表,并将 NewData 参数中的值保存到组合框绑定到的字段中。如果字符串不在列表中,则 Microsoft Access 将显示一条错误消息。

①当主表只有一个字段可以添加新值时,不必另建主表输入窗体,用"Insert Into表名称(字段名) Values ('" & NewData & "');"语句将新值直接追加到主表中。以下参考代码:

Private Sub 控件名_NotInList(NewData As String, Response As Integer)

DoCmd.SetWarnings False

DoCmd.RunSQL "Insert Into 表名称(字段名) Values ('" & NewData & "');"

Response = acDataErrAdded

DoCmd.SetWarnings True

End Sub

②如果,主表有多个字段需要添加新值时,必须另建基于主表的输入窗体。在主表窗体的“加载”事件中写入:

Private Sub Form_Load()

If Len(Me.OpenArgs) Then Me.与“多”表窗体中相同字段的控件名 = Me.OpenArgs

End Sub

而在“多”表的“不在列表中”的事件中,写入以下参考代码:

Private Sub 控件名_NotInList(NewData As String, Response As Integer)

If MsgBox("是否要添加新值吗?", vbInformation + vbYesNo, "寻问") Then

DoCmd.OpenForm "主表窗体名称", , , , acFormAdd, acDialog, NewData

Response = acDataErrAdded

End If

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有