access中怎么用查询删除某列除了指定值以外的其他记录

access中怎么用查询删除某列除了指定值以外的其他记录,第1张

你要想通过这样在查询视图中能够删除某个表的记录那么你要删除的表的字段要完整并且要用这个表包含其他表字段的关系来设置……前提还是你要删除的记录不能有字段被其他表引用……根据你的各表在关系视图中建立的关系不同具体细节上会有所不同………………另外,数据库事实上是最忌会经常删除记录的……除非特别需要否则一般是修改记录内容或者一直保留历史记录(比如你的这条记录发现某个值错误了就去修改除非你要整理你的数据库而把历史冗余的数据删除),如果你一定要删除数据而减少数据存储空间的话,你要照顾到各表间的约束关系……一般是可以随意删除的记录都是没有被其他表引用的最低层的数据表中的记录……更详细的你参看帮助!在满足关系方向、字段数完整的查询结果的情况下才可以选中某几行数据进行删除……(一般来说这样要删除记录的情况你最好不显示其他表的字段,只用要删除记录表的字段

请注意:这几个查询一旦 *** 作即无法撤消,数据不可追回。因此,对于初学者,作为预防措施,请在执行查询前对数据进行备份。

一、更新查询:

可以通过使用更新查询,在一次 *** 作中更改多行的内容。例如,在书籍表中,可以使用更新查询将特定出版商的所有书籍的价格上调 10%。

创建更新查询时,请指定:

要更新的表。

要更新其内容的列。

用以更新各个列的值或表达式。

定义要更新行的搜索条件。

例如,以下查询通过将 出版商_id = '0766' 的所有书籍的价格上调 10% 更新书籍表:

UPDATE 书籍表

SET 价格 = 价格  11

WHERE (出版商_id = '0766')

二、追加查询:

使用追加查询可将行从某表复制到另一张表中,也可在表内复制行。例如,在“书目”表中,可以使用追加查询将有关某出版商的所有书名复制到要提供给该出版商的另一张表中。追加查询类似于生成表查询,但该查询将行复制到现有的表中(而不是生成新的表)。

创建追加查询时,要指定:

要将行复制到其中的数据库表(目标表)。要从中复制行的一个或多个表(源表)。一个或多个源表将成为子查询的一部分。如果正在表内进行复制,则源表与目标表相同。要复制其内容的源表中的列。要将数据复制到其中的目标表中的目标列。定义要复制行的搜索条件。排序次序(如果想按照特定次序复制行)。“分组依据”选项(如果只想复制汇总信息)。

例如,下列查询将 出版商_id = '0766' 的所有书名的四列的内容从 titles 表复制到名为 archivetitles 的存档表中:

INSERT INTO archivetitles 

 (title_id, title, type, 出版商_id)

SELECT title_id, title, type, 出版商_id

FROM titles

WHERE (出版商_id = '0766')

三、删除查询:

使用删除查询可在一次 *** 作中删除多行。创建删除查询时,请指定要删除行的数据库表并指定要定义的删除行的搜索条件。

注意:从表中删除所有行将清除表中数据,但并不删除表本身。可以使用“数据库设计器”删除表。

可以使用零长度字符串来表明您知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号 (" ")。)。在连接到 Microsoft SQL Server 数据库的 Microsoft Access 项目 (Microsoft Access 项目:与 Microsoft SQL Server 数据库连接且用于创建客户/服务器应用程序的 Access 文件。项目文件中不包含任何数据或基于数据定义的对象(如表或视图)。)中,可以在其数据类型 (数据类型:决定字段可拥有的数据类型的字段特征。数据类型包括 Boolean、Integer、Long、Currency、Single、Double、Date、String 和 Variant(默认)。)为 varchar 或 nvarchar 的字段中输入零长度字符串。打开数据表 (“数据表”视图:以行列格式显示来自表、窗体、查询、视图或存储过程的窗口。在“数据表”视图中,可以编辑字段、添加和删除数据,以及搜索数据。),或在“窗体”视图 (“窗体”视图:一个显示窗体以便显示或接受数据的窗口。“窗体”视图是添加和修改表中数据的主要方式。在该视图中还可以更改窗体的设计。)中打开窗体。若要在字段中输入零长度字符串,请键入中间不带空格的双引号 (" ")。即使在移到其他字段或对象时双引号将消失,但该字段仍为零长度字符串。Null值与零长度字符串的区别 (MDB)。/注释 本主题中的信息仅适用于 Microsoft Access 数据库 (mdb)。/在查看含有 Null (Null:可以在字段中输入或用于表达式和查询,以标明丢失或未知的数据。在 Visual Basic 中,Null 关键字表示 Null 值。有些字段(如主键字段)不可以包含 Null 值。) 值和零长度字符串 (零长度字符串:不含字符的字符串。可以使用零长度字符串来表明您知道该字段没有值。输入零长度字符串的方法是键入两个彼此之间没有空格的双引号 (" ")。)的数据时,字段看起来是相同的,都没有任何值。但可以用表达式 (表达式:算术或逻辑运算符、常数、函数和字段名称、控件和属性的任意组合,计算结果为单个值。表达式可执行计算、 *** 作字符或测试数据。)来区分 Null 值和零长度字符串。在“设计”视图 (“设计”视图:显示数据库对象(包括:表、查询、窗体、宏和数据访问页)的设计的窗口。在“设计”视图中,可以新建数据库对象和修改现有数据库对象的设计。)中打开窗体、报表或数据访问页。在查询设计网格 (设计网格:在查询“设计”视图或“高级筛选/排序”窗口中设计查询或筛选时所用的网格。对于查询,该网格以前称为“QBE 网格”。)的字段中,或在未绑定控件 (未绑定控件:未与基础表、查询中的字段或 SQL 语句连接的控件。未绑定控件通常用于显示信息性文本或装饰性。)的控件来源中,键入下列表达式。将 fieldname 替换为包含 Null 值和零长度字符串的字段名称。以下为引用的内容:=IIf(IsNull([fieldname]),"Unknown",Format([fieldname],"@;\ZLS")) 如果字段包含 Null,则表达式返回 “Unknown”,如果字段包含零长度字符串,则表达式返回“ZLS”。否则,表达式将值返回到该字段中。事情出现在工作中一次抓取网上信息的时候,可能考虑不全,抓到库中的信息有部分是空的,这样,我的必需将空的记录删除,试了好多办法不行,最后才找到了上面的微软的ACCESS帮助文档才解决问题。执行代码片断后,此问题解决。以下为引用的内容:

“修改”按钮的程序 \x0d\Private Sub cmdEdit_Click() \x0d\sql = "select from 停时统计 where date = cdate('" & Text8Text & "') and ycqk = '" & Combo1Text & "'and id = '" & DataGrid1Columns(2)CellText(DataGrid1Bookmark) & "'" \x0d\rsOpen sql, dm, adOpenDynamic, adLockOptimistic \x0d\rsFields("id") = Text7Text \x0d\rsFields("ycqk") = Combo1Text \x0d\rsFields("date1") = Text1Text \x0d\rsFields("time1") = Text2Text \x0d\rsFields("date2") = Text3Text \x0d\rsFields("time2") = Text4Text \x0d\rsUpdate \x0d\rsClose \x0d\End Sub \x0d\\x0d\'“删除”按钮的程序 \x0d\Private Sub cmdDelete_Click() \x0d\strFCode = DataGrid1Columns(0)CellText(DataGrid1Bookmark) \x0d\strSCode = DataGrid1Columns(2)CellText(DataGrid1Bookmark) \x0d\strCCode = DataGrid1Columns(1)CellText(DataGrid1Bookmark) \x0d\sql = "select from 停时统计 where date='" & strFCode & "' and id='" & strSCode & "' and ycqk='" & strCCode & "'" \x0d\rsOpen sql, dm, adOpenDynamic, adLockOptimistic \x0d\rsDelete \x0d\rsUpdate \x0d\rsClose \x0d\End Sub \x0d\\x0d\'“增加”按钮的程序 \x0d\Private Sub Command1_Click() \x0d\sql = "select from 停时统计 order by id" \x0d\rsOpen sql, dm, adOpenDynamic, adLockOptimistic \x0d\rsAddNew \x0d\rsFields("date") = Date \x0d\rsFields("id") = Text7Text - 1 \x0d\rsFields("ycqk") = Combo1Text \x0d\rsFields("date1") = Text1Text \x0d\rsFields("time1") = Text2Text \x0d\rsFields("date2") = Text3Text \x0d\rsFields("time2") = Text4Text \x0d\rsUpdate \x0d\rsClose \x0d\\x0d\With Adodc1 \x0d\Adodc1ConnectionString = "Provider=MicrosoftJetOLEDB40;Data Source=" & AppPath & "\db1mdb;Persist Security Info=False" \x0d\Adodc1RecordSource = "select from 停时统计 where date = cdate('" & Text8Text & "') and ycqk = '" & Combo1Text & "' order by id" \x0d\Adodc1Refresh \x0d\DataGrid1Refresh \x0d\End With \x0d\End Sub

select

字段中存在[+3]的

如果用程序控制,可以去掉它后面的数据,更新到表中

如果用vb写,

select

有[+3]的记录放到记录集中,选取记录集中每条进行处理:判断[+3]出现的位置用instr()函数,位置知道了,用left()函数取到[+3]左边的数据,最后update截取后的数据到数据库中。

以上就是关于access中怎么用查询删除某列除了指定值以外的其他记录全部的内容,包括:access中怎么用查询删除某列除了指定值以外的其他记录、Access2007更新查询、追加查询、删除查询求教、如何删除Access数据库中的空记录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10164409.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存