网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.损坏控制文件的恢复方法.
.如何移动表来减小数据文件的大小.
.Oracle9i 数据库设计指引全集.
.关于使用SHOW_SPACE().
.顺利开发数据仓库的七个步骤.
.Oracle的运行方式.
.案例:redo log日志组处于高激活.
.使用 tar & gzip.
.Oracle10g中新的多重集运算符解析.
.Oracle 9i 在 Red Hat Enterpris.
.linux下oracle备份脚本--exp.
.ORACLE中如何实现ASCII字符串和1.
.安装文档ORACLE9i for sun solar.
.Oracle 10g RAC与SLES9.
.VMWare上Oracle 10g R2的最简安装.
.CHAR,VARCHAR,VARCHAR2类型的区别.
.优化Oracle停机时间及数据库恢复.
.ORACLE性能诊断―学习statspack笔.
.Oracle 10g 新特性之虚拟专用数据.
.docmd.runsql 语句执行的操作查询.

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

发表日期:2008-2-9


 当主表(“一”表)中的主键字段与相关表(“多”表)中的外部键字段建立了关系后,在基于相关表(“多”表)而建的窗体中,外部键字段的控件可以设为组合框,通过键盘或鼠标,输入或选择组合框中已存的值,也就是引用“一”表所有的数据。 此时,组合框的“行来源类型(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
  
上一篇:Oracle导出程序Exp的使用具体过程 人气:1142
下一篇:ACCESS数据库的安全系统的几点看法 人气:894
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐