UPDATE更新所有表所有字段的全角半角问题。

cbxmir 2008-11-07 06:19:17
转换的函数已经找到。问题是怎么写这个sql语句把所有字段都转了。最好是所有表。总不能一个字段一个字段都写出来吧?
---------------------------------------------------------------------------------转换函数
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_convert]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_convert]
GO

/*--全角/半角转换

转换说明
全角字符从的unicode编码从65281~65374
半角字符从的unicode编码从 33~126
空格比较特殊,全角为 12288,半角为 32
而且除空格外,全角/半角按unicode编码排序在顺序上是对应的
所以可以直接通过用+-法来处理非空格数据,对空格单独处理
like的时候,指定排序规则 COLLATE Latin1_General_BIN
是保证字符顺序按unicode编码排序

*/
Create FUNCTION f_Convert(
@str NVARCHAR(4000), --要转换的字符串
@flag bit --转换标志,0转换成半角,1转换成全角
)RETURNS nvarchar(4000)
AS
BEGIN
DECLARE @pat nvarchar(8),@step int,@i int,@spc int
IF @flag=0
Select @pat=N'%[!-~]%',@step=-65248,
@str=REPLACE(@str,N' ',N' ')
ELSE
Select @pat=N'%[!-~]%',@step=65248,
@str=REPLACE(@str,N' ',N' ')
SET @i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str)
WHILE @i>0
Select @str=REPLACE(@str,
SUBSTRING(@str,@i,1),
NCHAR(UNICODE(SUBSTRING(@str,@i,1))+@step))
,@i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str)
RETURN(@str)
END
GO
---------------------------------------------------------------------------------转换函数

---------------------------------------------------------------------------------转换语句
update 表 set 字段1=dbo.f_convert(字段1,0)
---------------------------------------------------------------------------------转换语句

问题是怎么写转换全部字段?而不是一个一个写出来
在线等待。测试成功马上给分。
...全文
178 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdyyr 2008-11-07
  • 打赏
  • 举报
回复

--未测试,请先备份数据库
exec sp_msforeachtable N'declare @s varchar(8000) select @s=isnull(@s,'''')+''update ? set ''+name+''=dbo.f_convert(''+name+'',0)'' from syscolumns where id=object_id(N''?'') print @s exec(@s)'
cbxmir 2008-11-07
  • 打赏
  • 举报
回复
可以用。结贴给分。。哈哈。多谢楼山。又学一招啊。
水族杰纶 2008-11-07
  • 打赏
  • 举报
回复
--try
declare @s varchar(8000)
select @s=isnull(@s,'')+'update 表 set '+name+'=dbo.f_convert('+name+',0)' from syscolumns where id=object_id('表')
print @s
exec(@s)
水族杰纶 2008-11-07
  • 打赏
  • 举报
回复
--try
declare @s varchar(8000)
select @s=isnull(@s,'')+'update 表 set '+name+'=dbo.f_convert('+name+',0)' from syscolumns where id=object_id('test')
print @s
exec(@s)
等不到来世 2008-11-07
  • 打赏
  • 举报
回复
declare @sql nvarchar(max)
select @sql=isnull(@sql+';','')+'update 表 set '+name+'=dbo.f_convert('+name+',0)'
from syscolumns
where id=object_id('表')
--print @sql
exec(@sql)
卷序列号码为 00000030 4489:1826 C:. │ sqlserver2000.txt │ ├─第01章 │ 1.9.1 设置内存选项.sql │ 1.9.2(2) 使用文件及文件组.sql │ 1.9.2(3) 调整tempdb数据库的文件属性.sql │ ├─第02章 │ │ 2.1 日期概念理解中的一些测试.sql │ │ 2.2.4 CONVERT在日期转换中的使用示例.sql │ │ 2.3.3 SET DATEFORMAT对日期处理的影响.sql │ │ 2.3.4 SET LANGUAGE对日期处理的影响示例.sql │ │ 2.4.1 日期格式化处理.sql │ │ 2.4.2 日期推算处理.sql │ │ 2.4.3 特殊日期加减函数.sql │ │ 2.5.1 查询指定日期段内过生日的人员.sql │ │ 2.5.2 生成日期列的函数.sql │ │ 2.5.3 工作日处理函数(标准节假日).sql │ │ 2.5.3 工作日处理函数(自定义节假日).sql │ │ 2.5.4 计算工作时间的函数.sql │ │ │ └─其他 │ 交叉.sql │ 任意两个时间之间的星期几的次数-横.sql │ 任意两个时间之间的星期几的次数-纵.sql │ 复杂年月处理.sql │ 统计--交叉+日期+优先.sql │ ├─第03章 │ │ 3.2 各种字符串分拆处理函数.sql │ │ 3.3 各种字符串合并处理示例.sql │ │ 3.4.1 分段截取函数.sql │ │ 3.4.2 分段更新函数.sql │ │ 3.4.3 IP地址处理函数.sql │ │ 3.5.1 字符串比较函数.sql │ │ 3.5.2 字符串并集&交集处理示例.sql │ │ 3.5.3 字符串分拆并统计的处理示例.sql │ │ 3.5.5 字符串处理示例--列车车次查询.sql │ │ 3.6.2 字符串在编号查询中的应用示例及常见问题.sql │ │ 3.6.3 动态参数的存储过程示例.sql │ │ 3.6.4 动态他Transact-SQL语句处理中的常见问题演示.sql │ │ 3.7.3 text与ntext字段的复制和合并处理示例.sql │ │ 3.7.4 text与image字段转换处理示例.sql │ │ 3.7.5 ntext字段的REPLACE处理示例.sql │ │ │ └─其他 │ varbinary转换成字符串.sql │ 关键字搜索.sql │ 分解公式.sql │ 字符串分拆--格式化.sql │ 得到一个字符串在另一个字符串中出现的次数.sql │ 数字转换成十六进制.sql │ 比较第一与第二个字符串,是否有连续的5个字符相同.sql │ 生成查询的模糊匹配字符串.sql │ 简繁转换.sql │ 统计一个中某个字符出现最多的字母.sql │ 非法字符串处理.sql │ ├─第04章 │ │ 4.1.5 在各种处理中应用排序规则的示例.sql │ │ 4.2.1 排序规则在拼音处理中的应用.sql │ │ 4.2.2 排序规则在全角半角处理中的应用.sql │ │ │ └─其他 │ 生成GB2312汉字.sql │ 生成GBK汉字.sql │ 自动获取汉字笔画.sql │ ├─第05章 │ │ 5.1.1 SET IDENTITY_INSERT 中的几个问题.sql │ │ 5.1.1 修改标识值的示例.sql │ │ 5.1.1 标识列与普通列互相转换的示例.sql │ │ 5.2.1 查法按日期生成流水号的示例.sql │ │ 5.2.1 查法生成流水号的示例.sql │ │ 5.2.2 使用编号按日期生成流水号的示例.sql │ │ 5.2.2 使用编号生成流水号的示例.sql │ │ 5.2.3 生成纯字母随机编号的示例(仅大小或者小写).sql │ │ 5.2.3 生成纯字母随机编号的示例(大小写混合).sql │ │ 5.2.3 生成纯数字随机编号的示例.sql │ │ 5.3.2 融合了补号处理的编号生成处理示例.sql │ │ 5.3.3 使用UPDATE进行编号重排的处理示例.sql │ │ 5.3.3 使用临时进行编号重排的处理示例.sql │ │ 5.3.3 使用子查询进行编号重排的处理示例.sql │ │ 5.3.3 名次查询的处理示例.sql │ │ 5.4.1 查询已用编号分布情况的示例(临时法).sql │ │ 5.4.1 查询已用编号分布情况的示例(子查询法).sql │ │ 5.4.2 查询缺号分布情况的示例.sql │ │ 5.4.3 返回已用编号、缺号分布字符串的处理示例.sql │ │ 5.4.4 缺勤天数统计的处理示例.sql │ │ │ └─其他 │ -补位法.sql │ 以另一个字段做默认值.sql │ 以另一字段生成编号.sql │ 关联部门流水号.sql │ 十六进制.sql │ 学号.sql │ 开票统计--涉及到连号处理.sql │ 新编号查询示例(分类查询).sql │ 新编号查询示例.sql │ 日期流水号.sql │ 材料流水号.sql │ 流水号.sql │ 箱编号连号处理.sql │ 类别自动生成编号示例.sql │ 自已做标识列的例子.sql │ 触发器自动维护已用&未用编号.sql │ 连续编号.sql │ 防止重复的示例.sql │ 项目编号=各项目独立流水号&各年不同.sql │ ├─第06章 │ │ 6.1.1 NULL对IN的查询的影响及解决示例.sql │ │ 6.1.2 各种联接的使用示例.sql │ │ 6.1.2 多联结导致记录重复的示例.sql │ │ 6.1.3 使用UNION实现库存报的示例.sql │ │ 6.1.5 按指定上下限区间进行数据统计的示例.sql │ │ 6.1.6 随机出题的示例.sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(定义各汇总列标题).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序及汇总列标题处理).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序处理).sql │ │ 6.2.1 ROLLUP实现的分级汇总示例.sql │ │ 6.2.1 UNION ALL实现的分级汇总示例.sql │ │ 6.3.1 简单的交叉报处理示例.sql │ │ 6.3.2 多列转换为行的交叉报处理示例.sql │ │ 6.3.3 行值动态变化的交叉报处理示例(转换多列).sql │ │ 6.3.3 行值动态变化的交叉报处理示例.sql │ │ 6.3.4 化解字符串不能超过8000的方法.sql │ │ 6.3.5 特殊的交叉报处理示例.sql │ │ 6.4.1 库存明细帐处理示例(包含结存数).sql │ │ 6.4.1 库存明细帐处理示例.sql │ │ 6.4.2 同期及上期数据对比处理示例.sql │ │ 6.4.3 动态分组处理示例.sql │ │ 6.4.4 排行榜处理示例.sql │ │ │ └─其他 │ 交叉--复杂名次.sql │ 交叉-优先级处理.sql │ 交叉分析.sql │ 分级汇总.sql │ 分组交叉.sql │ 列转行.sql │ 固定行列报.sql │ 复杂交叉.sql │ 复杂交叉1.sql │ 多栏显示.sql │ 日期+星期+时间.sql │ 格式化报.sql │ 横转竖-1.sql │ 横转竖-字段名.sql │ 横转竖-生成字段名.sql │ 横转竖.sql │ 行列互换的复杂交叉.sql │ 限制列数的交叉.sql │ ├─第07章 │ │ 7.1 splitpage.asp │ │ 7.2.1 TOP n 实现的通用分页存储过程.sql │ │ 7.2.2 字符串缓存实现的通用分页存储过程.sql │ │ 7.2.3 临时缓存实现的通用分页存储过程.sql │ │ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql │ │ 7.3.1 实现随机分页的通用分页存储过程.sql │ │ 7.3.2 根据分类实现的分页存储过程.sql │ │ │ └─其他 │ sp_cursor.sql │ 基本方法.sql │ ├─第08章 │ │ 8.1.2 树形数据分级汇总示例.sql │ │ 8.1.3 树形数据编号重排的通用存储过程.sql │ │ 8.1.3 树形数据编号重排示例.sql │ │ 8.1.4 实现编码规则调整处理的通用存储过程.sql │ │ 8.1.4 生成编码规则调整处理T-SQL语句的函数.sql │ │ 8.1.5 删除节点处理的通用存储过程.sql │ │ 8.1.5 移动节点处理的通用存储过程.sql │ │ 8.2.2 树形数据层次显示处理示例.sql │ │ 8.2.2 树形数据广度排序处理示例.sql │ │ 8.2.2 树形数据深度排序处理示例(模拟单编号法).sql │ │ 8.2.2 树形数据深度排序处理示例(递归法).sql │ │ 8.2.3 查找指定节点的所有子节点的示例函数.sql │ │ 8.2.4 查找指定节点的所有父节点的示例函数.sql │ │ 8.2.5 校验插入指定结点是否导致编码循环的示例函数.sql │ │ 8.2.5 校验中数据是否有循环编码的通用存储过程.sql │ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例(借鉴方式排序法).sql │ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例.sql │ │ 8.2.7 实现删除指定结点及所有子节点的处理触发器.sql │ │ 8.2.8 逐级汇总示例(循环逐级累计法).sql │ │ 8.2.8 逐级汇总示例(用户定义函数法).sql │ │ 8.3.1 产品配件清单查询示例.sql │ │ 8.3.2 最短乘车路线查询示例.sql │ │ │ └─其他 │ xml菜单.sql │ 宝塔形数据的处理-1.sql │ 宝塔形数据的处理.sql │ 树形数据生成xml.sql │ ├─第09章 │ │ 9.1.3 访问外部数据源方法总结.sql │ │ 9.5.1 二进制文件存取示例(T-SQL).sql │ │ 9.5.1 二进制文件存取示例(VB&VBA).vbs │ │ a.txt │ │ Schema.ini │ │ │ └─其他 │ bcp-数据导入导出(全).sql │ bcp-数据导入导出-二进制文件.sql │ bcp-数据导出为文件.sql │ bcp数据存为XML.sql │ SQL Server到Oracle连接服务器的实现.sql │ SQL Server到SQLBASE连接服务器的实现.sql │ SQL Server到SYBASE连接服务器的实现.sql │ sql导出mysql.sql │ textcopy实现文件存取.sql │ Vb程序实现文件存取.sql │ 导入文本文件时如何指定字段类型.sql │ 导出northwind中Employees的图像.sql │ 将某个目录上的Excel,导入到数据库中.sql │ 数据导入导出基本方法.sql │ 用ASP上传&下载文件.sql
目录 01001获取Excel版本 01002获取Excel的安装路径 01003获取当前用户名称 01004获取注册组织名称 01005获取当前操作系统的名称和版本号 01006获取启动Excel的路径 01007获取打开Excel文件时的默认路径 01008获取模板保存的默认路径 01009获取库文件夹的路径 01010获取路径分隔符 01011获取Excel主窗口标题栏的名称 01012获取Excel窗口的状态(大小) 01013获取Excel主窗口的高度和宽度 01014获取Excel主窗口的左边界位置和顶端位置 01015获取在Excel主窗口中一个窗口所能占有的最大高度和宽度 01016获取当前打印机名称 01017获取MicrosoftExcel剩余内存 01018获取MicrosoftExcel的总内存 01019获取计算机被Excel占用的内存 01020改变Excel窗口大小 01021改变Excel的显示位置 01022将Excel移动到屏幕以外 01023隐藏Excel 01024改变Excel的标题文字 01025删除Excel的标题文字 01026将Excel设置为全屏显示 01027在状态栏中显示信息 01028显示、隐藏状态栏 01029显示、隐藏编辑栏 01030显示、隐藏常用工具栏 01031显示、隐藏格式工具栏 01032显示、隐藏任务窗格 01033改变鼠标指针形状 01034切换手动、自动计算 01035切换A1引用样式、R1C1引用样式 01036设置按【Enter】键后单元格的移动方向 01037设置最近使用的文件清单中的最多文件数 01038设置新工作簿中的工作个数 01039设置文件的默认位置 01040设置保存自动恢复文件的时间间隔和保存位置 01041停止屏幕刷新 01042使事件无效 01043使取消键无效 01044不显示警告信息对话框 01045设置使用的打印机 01046安装加载宏 01047利用GetOpenFilename方法获取文件名 01048利用GetOpenFilename方法获取某类型文件名 01049改变GetOpenFilename方法的默认路径 01050改变GetOpenFilename方法的标题文字 01051使用GetOpenFilename方法时出现错误的处理 01052利用GetSaveAsFilename方法获取文件名 01053利用CentimetersToPoints方法将计量单位从cm转换为磅 01054利用InchesToPoints方法将计量单位从in转换为磅 01055显示Excel内置对话框 01056显示常用的Excel内置对话框 01057获取Excel菜单栏信息 01058获取Excel图工具栏信息 01059获取Excel常用工具栏信息 01060获取Excel格式工具栏信息 01061获取Excel数据透视工具栏信息 01062获取Excel的Web工具栏信息 01063获取Excel审阅工具栏信息 01064获取Excel窗体工具栏信息 01065获取Excel外部数据工具栏信息 01066获取Excel公式审核工具栏信息 01067获取Excel控件工具箱工具栏信息 01068获取Excel绘图工具栏信息 01069获取Excel命令按钮的外观图像和FaceID号(添加到自定义工具栏) 01070获取Excel命令按钮的外观图像和FaceID号(输出到工作) 01071改变Excel命令按钮的外观图像 01072删除、恢复Excel菜单栏和工具栏 01073隐藏Excel菜单栏和工具栏 01074显示Excel默认的菜单栏和工具栏 01075执行菜单栏和工具栏的命令按钮 01076改变工作单元格的快捷菜单 01077在工作的任意位置快速显示快捷菜单 01078在单元格中输入公式 01079在单元格中输入数字 01080在单元格中输入文本 01081单元格区域引用 01082在单元格中输入数字和文本 01083为输入对话框设置默认值 01084在指定时间运行程序(之一) 01085在指定时间运行程序(之二) 01086计划在未来运行一定时间的宏 01087计划每隔一段时间运行宏 01088取消以前计划运行的宏 01089结束应用程序 02001通过索引指定工作簿 02002通过名称指定工作簿 02003引用当前的活动工作簿 02004引用最后打开的工作簿 02005引用当前宏代码运行的工作簿 02006引用新建的工作簿 02007引用包含特定工作的工作簿 02008判断工作簿是否已经打开(之一) 02009判断工作簿是否已经打开(之二) 02010判断工作簿是否已经保存(之一) 02011判断工作簿是否已经保存(之二) 02012判断工作簿是否为以只读方式打开的 02013判断工作簿是否为加载宏工作簿 02014获取所有打开的工作簿名称 02015获取当前活动工作簿的名称 02016获取当前宏代码运行的工作簿名称 02017获取所有打开的工作簿路径 02018获取当前活动工作簿的路径 02019获取当前宏代码运行的工作簿路径 02020获取包括完整路径的工作簿名称 02021获取工作簿的基本名称 02022获取工作簿的文档属性 02023获取工作簿的保护状态 02024判断工作簿是否创建了自定义工具栏 02025将工作簿设定为已保存 02026将工作簿设定为加载宏工作簿或解除加载宏 02027设定工作簿的文档属性信息 02028通过指定文件名打开工作簿 02029通过指定索引打开工作簿 02030通过对话框打开工作簿(之一) 02031通过对话框打开工作簿(之二) 02032在不更新链接的情况下打开工作簿 02033新建工作簿,并以新名称保存 02034保护工作簿 02035撤销工作簿保护 02036保存工作簿 02037另存工作簿 02038设定保护密码并另存工作簿 02039设定写保护密码并另存工作簿 02040保存工作簿副本 02041通过对话框指定文件名和保存位置并保存工作簿(之一) 02042通过对话框指定文件名和保存位置并保存工作簿(之二) 02043关闭工作簿,不保存 02044关闭工作簿前进行保存 02045关闭所有打开的工作簿,不保存 02046关闭所有打开的工作簿,保存所有更改 02047删除工作簿中所有定义的名称 02048引用当前工作簿窗口 02049引用新建的工作簿窗口 02050引用特定工作簿的窗口 02051获取工作簿窗口的拆分状态 02052获取工作簿窗口的窗格信息 02053获取工作簿窗口的冻结窗格状态 02054获取工作簿窗口的各种显示状态 02055获取工作簿窗口的大小状态 02056改变工作簿窗口的大小 02057改变工作簿窗口的显示位置 02058拆分窗口并冻结窗格 02059取消工作簿窗口的拆分和冻结 02060设定工作簿窗口的各种显示状态 02061设定工作簿窗口的显示比例 02062隐藏、显示工作簿窗口 02063将指定的单元格显示在窗口的左上角 02064设置工作簿窗口的网格线颜色 02065新建窗口 02066重排窗口 02067关闭窗口 03001通过索引引用工作 03002通过名称引用工作 03003通过Sheets集合引用工作 03004引用当前活动工作 03005引用第一个工作 03006引用最后一个工作 03007引用所有的工作 03008引用指定的多个工作 03009引用新建的工作 03010引用包含特定单元格的工作 03011引用工作名称中包含特定字符串的工作 03012获取工作名称 03013获取全部工作名称 03014判断某个是否为工作 03015获取工作的显示状态 03016获取工作的保护状态 03017判断工作是否处于筛选模式 03018判断工作是否存在(之一) 03019判断工作是否存在(之二) 03020判断工作是否自动重新计算 03021判断工作被保护时是否可以进行自动筛选的操作 03022判断工作被保护时是否启用分级显示符号 03023判断工作被保护时是否启用数据透视控件和操作 03024判断工作被保护时是否可以选定单元格 03025重命名工作 03026重命名新建的工作 03027改变工作标签颜色 03028设置工作的显示状态 03029设置工作是否自动重新计算 03030设定工作被保护时是否可以进行自动筛选的操作 03031设定工作被保护时是否启用分级显示符号 03032设定工作被保护时是否启用数据透视控件和操作 03033设定工作被保护时是否可以选定单元格 03034新建工作并重命名 03035复制工作 03036移动工作 03037删除工作 03038保护工作 03039撤销保护工作 03040按工作名称重新排列工作 03041选定工作 03042激活工作 03043显示选定工作的快捷菜单 03044删除工作级的定义名称 03045删除图工作 03046显示、隐藏行列标题 04001通过Range属性引用某个单元格 04002通过Range属性引用连续的单元格区域 04003通过Range属性引用不连续的单元格区域 04004通过字符串的方式引用某个单元格 04005通过字符串的方式引用连续的单元格区域 04006通过Range属性引用单列 04007通过Columns属性引用单列 04008通过Range属性引用连续的多列 04009通过Range属性引用不连续的多列 04010通过Range属性引用单行 04011通过Range属性引用连续的多行 04012通过Range属性引用不连续的多行 04013通过定义名称引用单元格区域 04014引用单元格的快捷方式 04015通过Cells属性引用某个单元格 04016通过Cells属性引用工作的全部单元格 04017通过Cells属性引用连续的单元格区域(之一) 04018通过Cells属性引用连续的单元格区域(之二) 04019通过输入框(InputBox)引用所选择的单元格 04020引用活动单元格 04021引用已选定的单元格 04022引用已使用的单元格区域 04023引用被空白行和列包围的单元格区域 04024利用Offset属性动态引用某个单元格 04025利用Offset属性动态引用单元格区域 04026利用Resize属性引用变更为指定大小的单元格区域 04027引用不包括标题行的单元格区域 04028引用不包括标题列的单元格区域 04029引用任意单元格区域的右下角单元格(之一) 04030引用任意单元格区域的右下角单元格(之二) 04031引用输入了计算公式的所有单元格 04032引用输入了常量的全部单元格 04033引用输入了数字的全部单元格 04034引用输入了文本的全部单元格 04035引用输入了逻辑值的全部单元格 04036引用输入了批注的全部单元格 04037引用没有输入任何数据和公式的空单元格 04038引用所有可见单元格 04039引用输入了日期的单元格 04040引用含有相同计算公式的所有单元格 04041引用合并单元格区域 04042引用定义名称所指定的单元格区域(之一) 04043引用定义名称所指定的单元格区域(之二) 04044引用输入了任何内容的最后一行单元格(单列情况之一) 04045引用输入了公式或值的最后一行单元格(单列情况之二) 04046引用输入了任何内容的最后一行单元格(多列情况之一) 04047引用输入了公式或值的最后一行单元格(多列情况之二) 04048引用输入了任何内容的最后一列单元格(单行情况之一) 04049引用输入了公式或值的最后一列单元格(单行情况之二) 04050引用输入了任何内容的最后一列单元格(多行情况之一) 04051引用输入了公式或值的最后一列单元格(多行情况之二) 04052引用多个非连续单元格区域的集合(Union方法) 04053引用多个非连续单元格区域的集合(循环处理) 04054引用多个单元格区域的交叉区域 04055获取计算公式的所有引用单元格 04056获取计算公式中引用的其他工作单元格 04057获取某个单元格的从属单元格 04058引用某个单元格所在的整个行 04059引用某个单元格所在的整个列 04060引用单元格区域所在的行范围 04061引用单元格区域所在的列范围 04062引用隐藏的行或列 04063引用单元格区域中未隐藏的单元格 04064引用锁定的单元格 04065引用不连续单元格区域集合内的各个连续的单元格区域 04066引用工作簿窗口范围内所有的单元格 04067引用设定了允许滚动区域的单元格区域 04068引用指定了左上角和右下角的单元格区域(之一) 04069引用指定了左上角和右下角的单元格区域(之二) 04070引用指定了左上角和右下角的单元格区域(之三) 04071引用以单一编号指定的单元格 04072引用工作中任意对象左上角、右下角的单元格 04073引用输入了数组公式的所有单元格区域 04074引用输入了某数组公式的单元格区域 04075引用输入了某个函数的全部单元格 04076引用含有特定文本字符串的所有单元格 04077引用设置了数据有效性的所有单元格 04078获取单元格地址 04079获取单元格区域内的单元格数 04080获取单元格区域的行数 04081获取单元格区域的列数 04082获取单元格的行号 04083获取单元格的列号 04084获取单元格的列标字母 04085获取指定列号单元格的列标字母(之一) 04086获取指定列号单元格的列标字母(之二) 04087获取单元格区域的行号范围 04088获取单元格区域的列号范围 04089获取单元格区域的列标字母范围 04090获取数据区域的最后一行行号 04091获取数据区域的最前一行行号 04092获取数据区域的最后一列列号 04093获取数据区域的最前一列列号 04094获取单元格的任何显示值 04095获取单元格的显示字符串 04096获取单元格文本字符串的一部分(之一) 04097获取单元格文本字符串的一部分(之二) 04098获取单元格内输入的公式 04099判断单元格内是否输入了公式(之一) 04100判断单元格内是否输入了公式(之二) 04101判断工作内是否有公式 04102判断某单元格区域是否为数组公式区域 04103判断工作内是否有数组公式 04104判断单元格的计算公式是否引用了其他工作数据 04105判断单元格的计算公式是否引用了其他工作簿数据 04106判断某单元格是否为合并单元格区域的一部分 04107获取单元格区域内的值,并使其矩阵化 04108获取单元格内的前缀字符 04109判断单元格内的数字是否为文本字符 04110获取单元格的格式 04111获取单元格的字体(Font)对象 04112获取单元格的内部(Interior)对象 04113获取单元格的边框(Borders)对象 04114获取单元格边框线的状态 04115获取单元格的样式(Style)对象 04116获取单元格的条件格式 04117获取单元格的输入规则(有效性设置) 04118获取单元格的超链接 04119获取单元格的批注 04120获取单元格的大小(行高和列宽) 04121获取单元格的坐标 04122向单元格输入数值 04123向单元格输入字符串 04124向单元格输入数字字符串 04125向单元格输入日期 04126向单元格输入时间 04127向单元格输入分数 04128向单元格输入邮政编码 04129向连续的单元格行区域一次性输入不同的数据 04130向连续的单元格列区域一次性输入不同的数据 04131向单元格区域一次性输入相同的数据 04132通过数组向单元格区域一次性输入数据 04133向单元格区域输入连续值 04134向单元格区域输入连续的日期 04135向单元格区域输入连续的字符 04136向单元格输入公式(A1格式) 04137向单元格输入公式(R1C1格式) 04138向单元格或单元格区域输入数组公式 04139替换单元格内的字符(Replace方法) 04140替换单元格内的字符(工作函数) 04141设置单元格字符串中一部分字符的格式(上标、下标) 04142设置单元格字符串中一部分字符的格式(其他字体属性) 04143设置单元格的下画线 04144设置单元格的字体属性(字体、字号、加粗、斜体、颜色等) 04145设置单元格区域的外部边框 04146设置单元格区域的全部边框 04147设置单元格区域的除对角框线以外的全部边框 04148删除单元格区域的全部边框 04149设置单元格的颜色和背景 04150设置单元格的格式 04151设置单元格的对齐方式 04152缩小单元格内容以全部显示 04153设定、删除单元格的输入规则和信息提示(有效性设置) 04154为单元格设置条件格式、删除条件格式 04155为单元格插入指向工作簿内部的超链接、删除超链接 04156为单元格插入指向工作簿外部的超链接、删除超链接 04157为单元格添加批注、删除批注 04158修改单元格的批注 04159为单元格区域定义名称、删除名称(Name属性) 04160为单元格区域定义名称、删除名称(Add方法) 04161自动调整单元格大小 04162自动调整工作全部单元格的大小 04163设置单元格的大小(以磅为单位) 04164设置单元格的大小(以cm为单位) 04165设置单元格的大小(以in为单位) 04166锁定单元格、解除单元格锁定 04167隐藏单元格的公式 04168隐藏、显示某单元格所在的行或列 04169隐藏、显示单元格区域 04170单元格区域自动套用格式 04171选定单元格 04172选定单元格,并显示在窗口的左上角处 04173激活单元格 04174合并单元格 04175取消单元格的合并 04176清除单元格的全部信息 04177清除单元格的公式和值 04178清除单元格的批注 04179清除单元格的格式 04180清除单元格的批注和语音批注 04181清除单元格的超链接 04182插入单元格 04183插入整行或整列 04184删除单元格 04185删除某单元格所在的整行或整列 04186删除多行或多列 04187删除工作的全部单元格 04188移动单元格 04189复制单元格(复制全部内容) 04190复制单元格的值(PasteSpecial方法) 04191复制单元格的值(Value属性) 04192复制单元格的数据和公式(去掉前缀字符) 04193复制单元格的数据和公式(保留前缀字符) 04194复制单元格的格式 04195复制单元格的批注 04196复制单元格的有效性设置 04197复制单元格的列宽 04198复制单元格的公式和数字格式 04199复制单元格的值和数字格式 04200转置复制单元格区域 04201复制单元格的边框 04202对单元格进行加减乘除运算 04203将单元格区域作为图像对象进行复制(无链接) 04204将单元格区域作为图像对象进行复制(有链接) 04205复制大小可变的单元格区域 05001获取嵌入图的名称 05002获取图工作的名称 05003获取图的某个系列的数据源 05004获取图的全部系列的数据源 05005获取图的标题信息 05006获取图的图例信息 05007获取图的位置 05008获取图的大小 05009获取图的坐标轴信息 05010获取图的趋势线信息 05011获取工作中的全部嵌入图名称和类型 05012制作图 05013制作多个图 05014对多个图进行合理布置 05015制作能够选择任意图类型的图 05016制作能够随数据数量变化而变化的图 05017改变图的源数据区域 05018更改图的名称 05019更改图的类型 05020更改图的标题格式 05021更改图的图例格式 05022改变图的大小 05023设置绘图区的格式 05024设置图区的格式 05025设置坐标轴的格式 05026为图添加趋势线 05027将嵌入图显示在图视窗中 05028将图保存为图像文件 05029将图放置在批注中 05030将图图像加载到工作中 05031删除图 06001获取Shape对象的类型 06002获取Shape对象的名称 06003获取Shape对象的文字 06004获取Shape对象的大小 06005获取Shape对象的位置 06006获取Shape对象的左上角、右下角单元格地址 06007获取工作内全部Shape对象的基本信息 06008判断Shape对象是否指定了宏 06009插入Shape对象(一般方法) 06010插入Shape对象并指定名称 06011插入Shape对象并添加文字 06012插入Shape对象并指定宏 06013插入自选图形对象 06014更改Shape对象的文字 06015更改Shape对象的大小 06016更改Shape对象的位置 06017选择任意的Shape对象 06018对Shape对象进行群组化处理 06019移动、旋转Shape对象(制作动画) 06020将Shape对象固定在工作的某一位置 06021删除Shape对象 06022设置Shape对象大小和位置是否随单元格而改变 06023使Shape对象充满整个单元格区域 06024为Shape对象插入超链接 06025利用透明的Shape对象保护单元格 07001获取工作中所有的Excel窗体控件清单 07002插入Excel窗体控件(之一) 07003插入Excel窗体控件(之二) 07004插入Excel窗体控件并指定名称 07005在Excel窗体控件上设置文字(标签、按钮、单选按钮和复选框) 07006设置Excel窗体控件的颜色和线条 07007更改Excel窗体控件大小 07008更改Excel窗体控件的位置 07009选定或取消选定单选按钮和复选框 07010为列框和组合框设置项目(指定单元格区域) 07011为列框和组合框设置项目(使用AddItem方法) 07012为列框和组合框设置项目(使用List属性) 07013为列框和组合框设置单元格链接 07014获取列框和组合框的项目值 07015当选定列框和组合框某个项目时立即得到项目值 07016一次性插入多个Excel窗体控件并指定不同的宏 07017每单击一次Excel窗体控件,就改变背景颜色或字体颜色 07018获取工作中所有的ActiveX控件清单 07019在工作中插入ActiveX控件对象 07020在工作中插入ActiveX控件对象并重命名 07021引用ActiveX控件(利用Shape对象) 07022引用ActiveX控件(利用OLEObject对象) 07023设置ActiveX控件上的文字 07024设置ActiveX控件的前景和背景 07025设置ActiveX控件对象的位置 07026更改ActiveX控件对象的大小 07027设置、获取文本框的值 07028为列框和组合框添加项目值(指定单元格区域) 07029为列框和组合框设置项目(使用AddItem方法) 07030为列框和组合框设置项目(使用List属性) 07031获取列框和组合框的项目值 07032在列框和组合框中选定项目后立即得到所选项目值 07033设置单选按钮和复选框的值(是否选定) 07034取得单选按钮和复选框的值(选定状态) 07035设置切换按钮的值 07036取得切换按钮的值 07037设置微调按钮的值 07038获取微调按钮的值 07039设置滚动条的值 07040获取滚动条的值 07041设置、获取标签的标题文字 07042设置、获取框架的标题文字 07043在图像控件中显示、清除图片 07044以无模式状态显示用户窗体 07045将用户窗体显示在窗口的指定位置(之一) 07046将用户窗体显示在窗口的指定位置(之二) 07047改变用户窗体的大小 07048改变用户窗体的标题文字 07049将用户窗体显示在上次关闭时的位置上 07050在工作中同时显示多个窗体 07051禁止以窗体右上角的按钮【×】关闭窗体 07052引用窗体中的控件 07053引用窗体中的某一类控件 07054引用窗体中所有的控件 07055引用其他窗体中的控件 07056初始化用户窗体中的所有控件 07057获取被选定的控件的有关信息 07058将控件设置为不可操作(显示为灰色) 07059将控件设置为不可操作(锁定) 07060使控件隐藏、显示(利用Visible属性) 07061使控件隐藏、显示(利用Top属性和Left属性) 07062当鼠标指针停留在控件上方时显示提示信息 07063当鼠标指针停留在控件上方时改变鼠标指针类型 07064当鼠标指针停留在控件上方时改变鼠标指针的图像 07065设置控件的焦点 07066设置控件的背景色和前景色 07067设置控件的字体格式 07068为控件添加图片 07069设置默认按钮 07070设置取消按钮 07071在按钮中显示程序运行状态 07072将文本框设置为必须输入状态 07073设置文本框内字符的对齐方式 07074设置文本框内字符的格式 07075限制文本框内的输入值 07076限制文本框内的字符长度 07077限制只能在文本框内输入阿拉伯数字和小数点 07078限制只能在文本框内输入阿拉伯数字、小数点和负号 07079限制只能在文本框内输入英文字母 07080转换文本框内数据类型 07081将文本框内的字符在任意字符后换行 07082将文本框设定为自动换行状态 07083为组合框设置项目(利用RowSource属性) 07084为组合框设置项目(利用AddItem方法) 07085为组合框设置项目(利用List属性) 07086为组合框设置项目(利用Column属性) 07087获取组合框的项目值(利用Value属性) 07088获取组合框的项目值(利用List属性) 07089获取组合框的项目值(利用Column属性) 07090获取组合框的项目值(利用数组) 07091删除组合框内所有的项目(利用Clear方法) 07092删除组合框内所有的项目(利用RowSource属性) 07093删除组合框内的某个项目(利用RemoveItem方法) 07094取消组合框项目的选定 07095将组合框设置为必须选定状态 07096将组合框设置为只能从项目列中选定 07097选定组合框后自动弹出项目列 07098设置组合框项目的选择外观 07099为列框设置项目(利用RowSource属性) 07100为列框设置项目(利用AddItem方法) 07101为列框设置项目(利用List属性) 07102为列框设置项目(利用Column属性) 07103获取列框的项目值(利用Value属性) 07104获取列框的项目值(利用List属性) 07105获取列框的项目值(利用Column属性) 07106获取列框的项目值(利用数组) 07107删除列框内所有的项目(利用Clear方法) 07108删除列框内所有的项目(利用RowSource属性) 07109删除列框内的某个项目(利用RemoveItem方法) 07110取消列框项目的选定 07111将列框设置为必须选定状态 07112设置列框的单选、多选状态 07113在列框和文本框之间进行拖曳操作 07114利用标签显示程序运行进程 07115获取框架内所有的控件名称 07116利用框架实现单选按钮的多选 07117获取选定的单选按钮 07118获取选定的复选框 07119实现旋转按钮与文本框的联动 07120实现旋转按钮的反向自动变化 07121实现滚动条与工作滚动条的同步联动 07122动态更改切换按钮的标题文字 07123实现多页控件各个页面的自动反向切换 07124利用图像控件浏览图像文件 07125向Spreadsheet控件输入数据 07126将Excel工作中的数据输入到Spreadsheet控件中 07127将Spreadsheet控件中的数据输入到Excel工作中 07128利用ChartSpace控件在窗体上绘制动态图 07129利用DTPicker控件获取日期和时间 07130利用ProgressBar控件设置进度条 07131利用ListView控件在窗体中制作报 07132利用TreeView控件在窗体中以树形结构显示数据 07133快速调整用户窗体大小 07134在运行时添加控件 07135删除运行时添加的控件 07136利用标签条(TabStrip控件)动态显示数据 07137隐藏、显示用户窗体的【×】按钮 07138将用户窗体的【×】按钮设置为有效、无效 07139在用户窗体上增加【最大化】和【最小化】按钮 07140在启动工作簿时仅显示用户窗体,而不显示Excel界面 08001当新建工作簿时执行程序(NewWorkbook事件) 08002当激活工作时执行程序(SheetActivate事件) 08003当双击工作时执行程序(SheetBeforeDoubleClick事件) 08004当右击工作时执行程序(SheetBeforeRightClick事件) 08005当对工作进行计算时执行程序(SheetCalculate事件) 08006当任何单元格的值变更时执行程序(SheetChange事件) 08007当工作不是活动状态时执行程序(SheetDeactivate事件) 08008当超链接被执行时执行程序(SheetFollowHyperlink事件) 08009当单元格的选择范围变更时执行程序(SheetSelectionChange事件) 08010当任意工作簿窗口被激活时执行程序(WindowActivate事件) 08011当工作簿窗口不是活动窗口时执行程序(WindowDeactivate事件) 08012当活动工作簿窗口被变更时执行程序(WindowResize事件) 08013当工作簿成为活动工作簿时执行程序(WorkbookActivate事件) 08014当工作簿成为非活动工作簿时执行程序(WorkbookDeactivate事件) 08015当工作簿被打开时执行程序(WorkbookOpen事件) 08016当工作簿被关闭时执行程序(WorkbookBeforeClose事件) 08017当工作簿被保存时执行程序(WorkbookBeforeSave事件) 08018当工作簿被打印时执行程序(WorkbookBeforePrint事件) 08019当打开工作簿时执行程序(Open事件) 08020当关闭工作簿时执行程序(BeforeClose事件) 08021当激活工作簿时执行程序(Activate事件) 08022当工作簿不是活动状态时执行程序(Deactivate事件) 08023当保存工作簿时执行程序(BeforeSave事件) 08024当打印工作簿时执行程序(BeforePrint事件) 08025当新建工作时执行程序(NewSheet事件) 08026当工作被激活时执行程序(SheetActivate事件) 08027当工作不是活动状态时执行程序(SheetDeactivate事件) 08028当工作被计算时执行程序(SheetCalculate事件) 08029当双击工作时执行程序(SheetBeforeDoubleClick事件) 08030当右击工作时执行程序(SheetBeforeRightClick事件) 08031当工作任何单元格数据发生变更时执行程序(SheetChange事件) 08032激活、非活动工作时执行程序(Activate事件和Deactivate事件) 08033当对工作进行计算时执行程序(Calculate事件) 08034当单元格数据发生变化时执行程序(Change事件) 08035当选定单元格区域发生变化时执行程序(SelectionChange事件) 08036超链接被执行时执行程序(FollowHyperlink事件) 08037当双击工作时执行程序(BeforeDoubleClick事件) 08038当在工作中右击时执行程序(BeforeRightClick事件) 08039当图被激活和被更改时执行程序(Activate事件) 08040双击图时执行程序(BeforeDoubleClick事件) 08041在图上单击或右击时执行程序(MouseDown事件) 08042在选定了图要素时执行程序(Select事件) 08043在选定了图要素时执行程序(Select事件) 08044在图上移动鼠标时执行程序(MouseMove事件) 08045使用图工作的事件来执行程序 08046装载显示用户窗体时执行程序(Initialize事件) 08047激活用户窗体时执行程序(Activate事件) 08048关闭用户窗体时执行程序(QueryClose事件) 08049单击用户窗体时执行程序(Click事件) 08050单击时执行程序(Click事件) 08051双击时执行程序(DblClick事件) 08052控件值被改变时执行程序(Change事件之一) 08053控件值被改变时执行程序(Change事件之二) 08054在鼠标指针移到控件上面时执行程序(MouseMove事件) 08055在获得焦点前执行程序(Enter事件) 08056在失去焦点且数据有变更时执行程序(BeforeUpdate事件) 08057在数据有变更时执行程序(AfterUpdate事件) 08058在按键时执行程序(KeyPress事件) 08059Excel工作的ActiveX控件对象事件的使用示例 09001为现有的菜单控件添加、删除自定义菜单命令 09002在Excel菜单栏中创建、删除自定义菜单控件 09003创建、删除多级自定义菜单控件 09004创建、删除自定义主菜单栏 09005在Excel工具栏中添加、删除自定义命令按钮 09006在Excel工具栏中添加、删除自定义组合框按钮 09007在Excel工具栏中添加、删除自定义下拉命令按钮 09008创建、删除自定义工具栏,并指定显示位置 09009创建、删除由内置命令组成的自定义工具栏 09010为Excel系统默认的快捷菜单添加、删除新菜单命令 09011为快捷菜单添加、删除内置命令 09012创建一个全新的快捷菜单 09013获取Excel的全部快捷菜单信息 09014使Excel的快捷菜单无效 09015为用户窗体和控件添加自定义快捷菜单 10001查询数值及公式字符串(Find方法) 10002查询数值及公式结果(Find方法) 10003查询数值及公式结果(Match函数) 10004查询数值及公式结果(VLookup函数) 10005查询数值及公式结果(Find方法和Offset属性) 10006查询数值及公式结果(Collection对象) 10007查询数值及公式结果(DGet函数) 10008查询含有某字符的单元格数据(Like运算符) 10009查询含有某字符的单元格数(CountIf函数) 10010使用数据库函数DCountA实现复杂查询 10011从多个工作或工作簿中查询数据 10012自动排序 10013使用自定义序列进行排序 10014使用多个关键字进行排序 10015先进行排序然后再恢复排序前的状态 10016按照单元格的颜色、字体颜色进行排序 10017按照字符的长度进行排序 10018字母与数字混合情况下的排序 10019对数组的元素值进行排序 10020执行自动筛选 10021撤销自动筛选 10022执行高级筛选(与条件) 10023执行高级筛选(或条件) 10024撤销高级筛选 10025复制筛选出的数据 10026删除没有出现在筛选结果中的所有行 10027筛选不重复的数据 10028获取两个工作中相同数据的行数据 10029获取只存在于某个工作中的行数据 10030删除数据区域内的所有空行 10031删除数据区域内的所有空列 11001从一个工作中查询数据(ADO+SQL) 11002从多个工作中查询数据(ADO+SQL) 11003查询其他工作簿数据(ADO+SQL) 11004利用DAOSQL查询工作簿数据 11005在不打开工作簿的情况下对多个工作簿进行汇总 12001利用DAO对象创建Access数据库和数据 12002利用ADO对象创建Access数据库和数据 12003检查数据是否存在 12004获取数据库中所有的数据名称 12005检查字段是否存在 12006获取数据库中某数据的所有字段信息 12007字段类型常量与字段类型英文名称的转换函数 12008将Access数据库的数据全部导入到Excel工作中 12009将Access数据库的某些字段导入到Excel工作中 12010查询不重复的记录(Distinct) 12011查询最前面的若干条记录(Top) 12012利用Like运算符进行模糊查询 12013对查询结果进行排序(Order) 12014查询某一区间内的数据(Between) 12015进行复杂条件的查询(Where) 12016利用合计函数进行查询(查询最大值和最小值) 12017利用合计函数进行查询(查询合计数和平均值) 12018将第一个查询结果作为查询条件进行查询 12019对查询结果进行分组(Group) 12020将查询结果作为窗体控件的源数据 12021添加新记录 12022修改更新记录 12023删除特定的记录 12024删除全部记录 12025通过窗体编辑记录 12026将整个工作数据都保存为Access数据库 12027将工作的某些数据保存到Access数据库中 12028将工作数据保存到已有的Access数据库中(循环方式) 12029为数据增加字段 12030改变字段的类型 12031改变字段的长度 12032删除一个字段 12033删除一个数据 13001将TXT格式文本文件打开为工作簿 13002将CSV格式文本文件打开为工作簿 13003利用QueryTables对象导入文本文件(之一) 13004利用QueryTables对象导入文本文件(之二) 13005利用ADO导入文本文件的全部内容 13006利用ADO导入文本文件的部分内容 13007获取文本文件的行数和列数 13008逐行获取文本文件的行数据,并拆分成列 13009将工作中的全部数据保存为CSV格式文本文件 13010将工作部分数据保存为CSV格式文本文件 13011创建新的文本文件并写入数据 13012向已有的文本文件写入数据 13013以行为单位读取文本文件数据 13014以字符为单位读取文本文件数据 13015读取文本文件的全部数据 13016读取文本文件的指定行数据 14001调用数学函数 14002调用财务函数 14003调用日期和时间函数 14004调用字符串函数 14005调用强制转换函数 14006调用检查函数 14007调用数组函数 14008使用判断函数(IIf函数) 14009使用格式函数(Format函数) 14010设计参数可选的自定义函数 14011设计参数个数不确定的自定义函数 14012设计返回数组的自定义函数 14013为自定义函数添加信息提示 14014对自定义函数进行归类 14015快速创建列标题和行标题 14016快速向单元格区域输入数据 14017快速获取单元格区域数据 14018使用数组提高计算效率 14019向单元格输入一般公式 14020向单元格区域输入数组公式 14021快速复制公式 14022列举工作簿内所有的公式 14023对指定的单元格区域进行计算 14024删除工作中的所有数据,但保留所有公式 15001按指定次数进行循环(ForNext) 15002在循环过程中退出(ExitFor) 15003不确定次数进行循环(DoLoop) 15004在循环过程中退出(ExitDo) 15005对数组的所有元素进行循环 15006对没有规律性的元素进行循环 15007对集合中的所有对象进行循环 15008进行多重循环 15009判断是否为数值 15010判断是否为日期 15011判断是否为数组 15012判断是否为对象 15013判断变量中是否保存有对象 15014判断程序是否有错误 15015判断字母的大小写 15016判断字符的全角半角 15017使用SelectCase进行多条件处理(数值区间) 15018使用SelectCase进行多条件处理(关键字Is) 15019使用SelectCase进行多条件处理(Like运算符) 16001设置、取消打印区域(固定区域) 16002设置、取消打印区域(不固定区域) 16003设置、取消打印区域(全部工作) 16004设置打印列标题和行标题 16005设置页边距(以磅为单位) 16006设置页边距(以in为单位) 16007设置页边距(以cm为单位) 16008设置页眉 16009设置页脚 16010设置页面的水平、垂直居中位置 16011设置纵向或横向打印模式 16012设置打印纸张大小 16013将工作的全部数据都缩印在一页内 16014设置打印行号、列标和网格线 16015显示打印预览 16016打印工作 16017在任意位置设置换页 16018获取打印总页数 16019显示打印机设置对话框 16020显示打印内容对话框 16021显示页面设置对话框 16022显示分页预览 16023隔页打印工作 16024设置是否打印工作中的Shape对象 17001获取VBA工程信息资料 17002设置VBA工程信息资料 17003获取工程中所有的对象名称和类型 17004更改模块和用户窗体的名称 17005导出模块和用户窗体 17006导入模块和用户窗体 17007清除立即窗口内容 17008获取对象中所有定义的变量 17009获取对象中所有过程的名称 17010获取引用的项目信息 17011增加引用项目 17012取消引用项目 17013利用VBA插入用户窗体和控件,并为控件编写事件程序代码 17014利用VBA插入标准模块并写入程序代码 17015利用VBA插入类模块 18001获取文件夹内的所有文件(FileSearch) 18002获取文件夹内的某一类型的所有文件(FileSearch) 18003获取文件夹内的所有文件(Dir函数) 18004判断文件是否存在 18005复制文件 18006移动文件 18007删除文件 18008重命名文件 18009获得文件的修改日期和时间 18010获得文件大小 18011获取文件的属性 18012设置文件的属性 18013获取当前驱动器的名称 18014变更当前驱动器的名称 18015判断文件夹是否存在 18016创建文件夹 18017获取当前的文件夹 18018移动文件夹 18019删除文件夹 18020更改文件夹名 18021获取文件夹的属性 18022判断文件是否存在(FileExists) 18023复制文件(CopyFile) 18024删除文件(DeleteFile) 18025移动文件(MoveFile) 18026获取文件的属性(Attributes) 18027获取文件的信息资料(GetFile) 18028获取文件的基础名称(GetBaseName) 18029获取文件的扩展名(GetExtensionName) 18030获取文件的全名(GetFileName) 18031获取文件所在的文件夹名(GetParentFolderName) 18032获取文件所在的驱动器名(GetDriveName) 18033获取文件夹内的所有文件清单 18034判断文件夹是否存在(FolderExists) 18035复制文件夹(CopyFolder) 18036删除文件夹(DeleteFolder) 18037移动文件夹(MoveFolder) 18038创建文件夹(CreateFolder) 18039获取文件夹的属性(Attributes) 18040获取文件夹的信息资料(GetFolder) 18041获取文件夹中的所有子文件夹名(SubFolders) 18042获取特定文件夹的路径(GetSpecialFolder) 18043判断驱动器是否存在(DriveExists) 18044获取所有可以使用的驱动器清单(Drives) 18045获取驱动器的信息资料(GetDrive) 19001创建新的Word文档(前绑定) 19002创建新的Word文档(后绑定) 19003打开已有的Word文档(前绑定) 19004打开已有的Word文档(后绑定) 19005将Word文档内容复制到工作 19006将工作数据复制到Word文档中 19007创建新的PowerPoint文档 19008打开已有的PowerPoint文档(前绑定) 19009打开已有的PowerPoint文档(后绑定) 19010以Excel工作数据为基础制作PowerPoint幻灯片 19011将Excel工作的图复制到PowerPoint幻灯片中 19012按工作中的地址发送邮件(前绑定) 19013将工作簿作为附件发送邮件(前绑定) 20001打开记事本(Shell函数) 20002打开计算器 20003以指定的文件夹打开Windows资源管理器 20004打开控制面板的某个项目窗口 20005创建文件的快捷方式 20006从Excel启动指定的网页 20007建立Web查询 20008定时刷新Web查询 20009利用OutlookExpress发送邮件 20010获取显示器分辨率 20011利用VBA播放声音
介绍就不多说了,下边是部分目录,觉得有用的话就顶一个C:.│ sqlserver2000.txt│ ├─第01章│ 1.9.1 设置内存选项.sql│ 1.9.2(2) 使用文件及文件组.sql│ 1.9.2(3) 调整tempdb数据库的文件属性.sql│ ├─第02章│ │ 2.1 日期概念理解中的一些测试.sql│ │ 2.2.4 CONVERT在日期转换中的使用示例.sql│ │ 2.3.3 SET DATEFORMAT对日期处理的影响.sql│ │ 2.3.4 SET LANGUAGE对日期处理的影响示例.sql│ │ 2.4.1 日期格式化处理.sql│ │ 2.4.2 日期推算处理.sql│ │ 2.4.3 特殊日期加减函数.sql│ │ 2.5.1 查询指定日期段内过生日的人员.sql│ │ 2.5.2 生成日期列的函数.sql│ │ 2.5.3 工作日处理函数(标准节假日).sql│ │ 2.5.3 工作日处理函数(自定义节假日).sql│ │ 2.5.4 计算工作时间的函数.sql│ │ │ └─其他│ 交叉.sql│ 任意两个时间之间的星期几的次数-横.sql│ 任意两个时间之间的星期几的次数-纵.sql│ 复杂年月处理.sql│ 统计--交叉+日期+优先.sql│ ├─第03章│ │ 3.2 各种字符串分拆处理函数.sql│ │ 3.3 各种字符串合并处理示例.sql│ │ 3.4.1 分段截取函数.sql│ │ 3.4.2 分段更新函数.sql│ │ 3.4.3 IP地址处理函数.sql│ │ 3.5.1 字符串比较函数.sql│ │ 3.5.2 字符串并集&交集处理示例.sql│ │ 3.5.3 字符串分拆并统计的处理示例.sql│ │ 3.5.5 字符串处理示例--列车车次查询.sql│ │ 3.6.2 字符串在编号查询中的应用示例及常见问题.sql│ │ 3.6.3 动态参数的存储过程示例.sql│ │ 3.6.4 动态他Transact-SQL语句处理中的常见问题演示.sql│ │ 3.7.3 text与ntext字段的复制和合并处理示例.sql│ │ 3.7.4 text与image字段转换处理示例.sql│ │ 3.7.5 ntext字段的REPLACE处理示例.sql│ │ │ └─其他│ varbinary转换成字符串.sql│ 关键字搜索.sql│ 分解公式.sql│ 字符串分拆--格式化.sql│ 得到一个字符串在另一个字符串中出现的次数.sql│ 数字转换成十六进制.sql│ 比较第一与第二个字符串,是否有连续的5个字符相同.sql│ 生成查询的模糊匹配字符串.sql│ 简繁转换.sql│ 统计一个中某个字符出现最多的字母.sql│ 非法字符串处理.sql│ ├─第04章│ │ 4.1.5 在各种处理中应用排序规则的示例.sql│ │ 4.2.1 排序规则在拼音处理中的应用.sql│ │ 4.2.2 排序规则在全角半角处理中的应用.sql│ │ │ └─其他│ 生成GB2312汉字.sql│ 生成GBK汉字.sql│ 自动获取汉字笔画.sql│ ├─第05章│ │ 5.1.1 SET IDENTITY_INSERT 中的几个问题.sql│ │ 5.1.1 修改标识值的示例.sql│ │ 5.1.1 标识列与普通列互相转换的示例.sql│ │ 5.2.1 查法按日期生成流水号的示例.sql│ │ 5.2.1 查法生成流水号的示例.sql│ │ 5.2.2 使用编号按日期生成流水号的示例.sql│ │ 5.2.2 使用编号生成流水号的示例.sql│ │ 5.2.3 生成纯字母随机编号的示例(仅大小或者小写).sql│ │ 5.2.3 生成纯字母随机编号的示例(大小写混合).sql│ │ 5.2.3 生成纯数字随机编号的示例.sql│ │ 5.3.2 融合了补号处理的编号生成处理示例.sql│ │ 5.3.3 使用UPDATE进行编号重排的处理示例.sql│ │ 5.3.3 使用临时进行编号重排的处理示例.sql│ │ 5.3.3 使用子查询进行编号重排的处理示例.sql│ │ 5.3.3 名次查询的处理示例.sql│ │ 5.4.1 查询已用编号分布情况的示例(临时法).sql│ │ 5.4.1 查询已用编号分布情况的示例(子查询法).sql│ │ 5.4.2 查询缺号分布情况的示例.sql│ │ 5.4.3 返回已用编号、缺号分布字符串的处理示例.sql│ │ 5.4.4 缺勤天数统计的处理示例.sql│ │ │ └─其他│ -补位法.sql│ 以另一个字段做默认值.sql│ 以另一字段生成编号.sql│ 关联部门流水号.sql│ 十六进制.sql│ 学号.sql│ 开票统计--涉及到连号处理.sql│ 新编号查询示例(分类查询).sql│ 新编号查询示例.sql│ 日期流水号.sql│ 材料流水号.sql│ 流水号.sql│ 箱编号连号处理.sql│ 类别自动生成编号示例.sql│ 自已做标识列的例子.sql│ 触发器自动维护已用&未用编号.sql│ 连续编号.sql│ 防止重复的示例.sql│ 项目编号=各项目独立流水号&各年不同.sql│ ├─第06章│ │ 6.1.1 NULL对IN的查询的影响及解决示例.sql│ │ 6.1.2 各种联接的使用示例.sql│ │ 6.1.2 多联结导致记录重复的示例.sql│ │ 6.1.3 使用UNION实现库存报的示例.sql│ │ 6.1.5 按指定上下限区间进行数据统计的示例.sql│ │ 6.1.6 随机出题的示例.sql│ │ 6.2.1 ROLLUP实现的分级汇总示例(定义各汇总列标题).sql│ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序及汇总列标题处理).sql│ │ 6.2.1 ROLLUP实现的分级汇总示例(带排序处理).sql│ │ 6.2.1 ROLLUP实现的分级汇总示例.sql│ │ 6.2.1 UNION ALL实现的分级汇总示例.sql│ │ 6.3.1 简单的交叉报处理示例.sql│ │ 6.3.2 多列转换为行的交叉报处理示例.sql│ │ 6.3.3 行值动态变化的交叉报处理示例(转换多列).sql│ │ 6.3.3 行值动态变化的交叉报处理示例.sql│ │ 6.3.4 化解字符串不能超过8000的方法.sql│ │ 6.3.5 特殊的交叉报处理示例.sql│ │ 6.4.1 库存明细帐处理示例(包含结存数).sql│ │ 6.4.1 库存明细帐处理示例.sql│ │ 6.4.2 同期及上期数据对比处理示例.sql│ │ 6.4.3 动态分组处理示例.sql│ │ 6.4.4 排行榜处理示例.sql│ │ │ └─其他│ 交叉--复杂名次.sql│ 交叉-优先级处理.sql│ 交叉分析.sql│ 分级汇总.sql│ 分组交叉.sql│ 列转行.sql│ 固定行列报.sql│ 复杂交叉.sql│ 复杂交叉1.sql│ 多栏显示.sql│ 日期+星期+时间.sql│ 格式化报.sql│ 横转竖-1.sql│ 横转竖-字段名.sql│ 横转竖-生成字段名.sql│ 横转竖.sql│ 行列互换的复杂交叉.sql│ 限制列数的交叉.sql│ ├─第07章│ │ 7.1 splitpage.asp│ │ 7.2.1 TOP n 实现的通用分页存储过程.sql│ │ 7.2.2 字符串缓存实现的通用分页存储过程.sql│ │ 7.2.3 临时缓存实现的通用分页存储过程.sql│ │ 7.2.4 使用系统存储过程实现的通用分页存储过程.sql│ │ 7.3.1 实现随机分页的通用分页存储过程.sql│ │ 7.3.2 根据分类实现的分页存储过程.sql│ │ │ └─其他│ sp_cursor.sql│ 基本方法.sql│ ├─第08章│ │ 8.1.2 树形数据分级汇总示例.sql│ │ 8.1.3 树形数据编号重排的通用存储过程.sql│ │ 8.1.3 树形数据编号重排示例.sql│ │ 8.1.4 实现编码规则调整处理的通用存储过程.sql│ │ 8.1.4 生成编码规则调整处理T-SQL语句的函数.sql│ │ 8.1.5 删除节点处理的通用存储过程.sql│ │ 8.1.5 移动节点处理的通用存储过程.sql│ │ 8.2.2 树形数据层次显示处理示例.sql│ │ 8.2.2 树形数据广度排序处理示例.sql│ │ 8.2.2 树形数据深度排序处理示例(模拟单编号法).sql│ │ 8.2.2 树形数据深度排序处理示例(递归法).sql│ │ 8.2.3 查找指定节点的所有子节点的示例函数.sql│ │ 8.2.4 查找指定节点的所有父节点的示例函数.sql│ │ 8.2.5 校验插入指定结点是否导致编码循环的示例函数.sql│ │ 8.2.5 校验中数据是否有循环编码的通用存储过程.sql│ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例(借鉴方式排序法).sql│ │ 8.2.6 复制指定节点及其所有子节点到指定结点的处理示例.sql│ │ 8.2.7 实现删除指定结点及所有子节点的处理触发器.sql│ │ 8.2.8 逐级汇总示例(循环逐级累计法).sql│ │ 8.2.8 逐级汇总示例(用户定义函数法).sql│ │ 8.3.1 产品配件清单查询示例.sql│ │ 8.3.2 最短乘车路线查询示例.sql│ │ │ └─其他│ xml菜单.sql│ 宝塔形数据的处理-1.sql│ 宝塔形数据的处理.sql│ 树形数据生成xml.sql│ ├─第09章│ │ 9.1.3 访问外部数据源方法总结.sql│ │ 9.5.1 二进制文件存取示例(T-SQL).sql│ │ 9.5.1 二进制文件存取示例(VB&VBA).vbs│ │ a.txt│ │ Schema.ini│ │ │ └─其他│ bcp-数据导入导出(全).sql│ bcp-数据导入导出-二进制文件.sql│ bcp-数据导出为文件.sql│ bcp数据存为XML.sql│ SQL Server到Oracle连接服务器的实现.sql│ SQL Server到SQLBASE连接服务器的实现.sql│ SQL Server到SYBASE连接服务器的实现.sql│ sql导出mysql.sql│ textcopy实现文件存取.sql│ Vb程序实现文件存取.sql│ 导入文本文件时如何指定字段类型.sql│ 导出northwind中Employees的图像.sql│ 将某个目录上的Excel,导入到数据库中.sql│ 数据导入导出基本方法.sql│ 用ASP上传&下载文件.sql
--计算当前月的实际天数 Create FUNCTION dbo.CalcDaysOfMonth (@time varchar(6)) RETURNS int AS BEGIN DECLARE @Days int DECLARE @Month int DECLARE @Year int SET @Year=SUBSTRING(@time,1,4) SET @Month=SUBSTRING(@time,5,6) if( @Month='1' OR @Month='3' OR @Month='5' OR @Month='7' OR @Month='8' OR @Month='10' OR @Month='12' ) set @Days=31 else if( @Month='4' OR @Month='6' OR @Month='9' OR @Month='11' ) set @Days=30; else if(@Year%400=0 OR (@Year%4=0 AND @Year%100<>0)) set @Days=29 else set @Days=28 RETURN(@Days) END --确定某年某月有多少天 Create FUNCTION DaysInMonth ( @date datetime ) Returns int AS BEGIN RETURN Day(dateadd(mi,-3,DATEADD(m, DATEDIFF(m,0,@date)+1,0))) END --哪一天是输入时间的星期一 Create FUNCTION MondayInDate ( @date datetime ) RETURNS DATETIME AS BEGIN RETURN DATEADD(week, DATEDIFF(week,0,@date),0) END --输入时间的季度的第一天 Create FUNCTION QuarterInDate ( @date datetime ) RETURNS DATETIME AS BEGIN RETURN DATEADD(quarter, DATEDIFF(quarter,0,@date), 0) END --输入时间的季度的天数 Create FUNCTION QuarterDaysInDate ( @date datetime ) RETURNS INT AS BEGIN declare @m tinyint,@time SMALLDATETIME select @m=month(@date) select @m=case when @m between 1 and 3 then 1 when @m between 4 and 6 then 4 when @m between 7 and 9 then 7 else 10 end select @time=datename(year,@date)+'-'+convert(varchar(10),@m)+'-01' return datediff(day,@time,dateadd(mm,3,@time)) END --按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。 Create function Get_StrArrayLength ( @str varchar(1024), --要分割的字符串 @split varchar(10) --分隔符号 ) returns int as begin declare @location int declare @start int declare @length int set @str=ltrim(rtrim(@str)) set @location=charindex(@split,@str) set @length=1 while @location<>0 begin set @start=@location+1 set @location=charindex(@split,@str,@start) set @length=@length+1 end return @length END --按指定符号分割字符串,返回分割后指定索引的第几个元素,象数组一样方便 Create function Get_StrArrayStrOfIndex ( @str varchar(1024), --要分割的字符串 @split varchar(10), --分隔符号 @index int --取第几个元素 ) returns varchar(1024) as begin declare @location int declare @start int declare @next int declare @seed int set @str=ltrim(rtrim(@str)) set @start=1 set @next=1 set @seed=len(@split) set @location=charindex(@split,@str) while @location<>0 and @index>@next begin set @start=@location+@seed set @location=charindex(@split,@str,@start) set @next=@next+1 end if @location =0 select @location =len(@str)+1 --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。 return substring(@str,@start,@location-@start) END select dbo.Get_StrArrayStrOfIndex('8,9,4','',4) --结合上边两个函数,象数组一样遍历字符串中的元素 create function f_splitstr(@SourceSql varchar(8000),@StrSeprate varchar(100)) returns @temp table(F1 varchar(100)) as begin declare @ch as varchar(100) set @SourceSql=@SourceSql+@StrSeprate while(@SourceSql<>'') begin set @ch=left(@SourceSql,charindex(',',@SourceSql,1)-1) insert @temp values(@ch) set @SourceSql=stuff(@SourceSql,1,charindex(',',@SourceSql,1),'') end return end select * from dbo.f_splitstr('1,2,3,4',',') --全角半角转换函数 Create FUNCTION f_Convert( @str NVARCHAR(4000), --要转换的字符串 @flag bit --转换标志,0转换成半角,1转换成全角 )RETURNS nvarchar(4000) AS BEGIN DECLARE @pat nvarchar(8),@step int,@i int,@spc int IF @flag=0 Select @pat=N'%[!-~]%',@step=-65248, @str=REPLACE(@str,N' ',N' ') ELSE Select @pat=N'%[!-~]%',@step=65248, @str=REPLACE(@str,N' ',N' ') SET @i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str) WHILE @i>0 Select @str=REPLACE(@str, SUBSTRING(@str,@i,1), NCHAR(UNICODE(SUBSTRING(@str,@i,1))+@step)) ,@i=PATINDEX(@pat COLLATE LATIN1_GENERAL_BIN,@str) RETURN(@str) END GO declare @s1 varchar(8000) select @s1='中  2-3456a78STUVabn中国opwxyz' select dbo.f_convert(@s1,0),dbo.f_convert(@s1,1) 函数返回值是 create table test(id int primary key,name char(10)) insert into test values(1,'test1') insert into test values(2,'test2') insert into test values(3,'test3') insert into test values(4,'test4') 1、标量函数 create function return_count() returns int as begin declare @count int select @count=count(*) from test return @count end --调用 select dbo.return_count() cont --count为显示的列头 --运行结果 --count --4 2、内嵌值函数 create function return_test() returns table as --begin 内联值函数不能用begin-end return select name from test --end --调用 select * from return_test() --运行结果 --name --test1 --test2 --test3 --test4 3、多语句值函数 create function return_test_multi() returns @temp table(id int,name char(10)) as begin insert into @temp select * from test where id in(1,2) return --记住,一定不要忘记写return end --调用 select * from dbo.return_test_multi() --运行结果 --id name --1 test1 --2 test2 在查询结果中增加一个自动增长的ID select id=identity(int, 1, 1), * into #T from testTable select * from #T drop table #T sql删除重复的记录 打开测试数据库test,并以w01为例,将下面的SQL语句放入sql2000查询分析器中,一段一段执行即可看到效果 ---在sql2000下创建测试数据 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[w01]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[w01] ---在sql2005下创建测试数据,如果是sql2005则用本段来判断数据是否存在 ---if exists(select 1 from sys.tables where name='w01') ---drop table w01 ----开始创建测试数据库 GO create table w01(gs903 varchar(32),gs1002 varchar(32)) insert into w01 select '1','a' union all select '1','a' union all select '1','a' union all select '2','a' union all select '2','e' union all select '3','b' union all select '3','d' go select * from w01 go ---为w01添加一个可以示唯一标示的自增字段ID alter table w01 add [ID] [int] IDENTITY (1, 1) NOT FOR REPLICATION NOT NULL ---查询删除前的数据和记录数:7 select * from w01 select count(*) from w01 ---查询具有重复记录的所有记录;3 select gs903,gs1002,count(*) as count from w01 group by gs903,gs1002 having count(*)>1 order by count desc ---删除重复的数据:2行 delete from w01 where id not in (select max(id) from w01 group by gs903,gs1002) ---看看删除后还有没有重复记录:0 select gs903,gs1002,count(*) as count from w01 group by gs903,gs1002 having count(*)>1 order by count desc ---删除后的数据和记录数:7-2=5 select * from w01 select count(*) from w01 用SQL语句添加删除修改字段 增加字段 alter table docdsp add dspcode char(200) 删除字段 Alter TABLE table_NAME Drop COLUMN column_NAME 修改字段类型 Alter TABLE table_name Alter COLUMN column_name new_data_type 改名 sp_rename 更改当前数据库中用户创建对象(如、列或用户定义数据类型)的名称。 语法 sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name' [ , [ @objtype = ] 'object_type' ] --假设要处理的名为: tb --判断要添加列的中是否有主键 if exists(select 1 from sysobjects where parent_obj=object_id('tb') and xtype='PK') begin print '中已经有主键,列只能做为普通列添加' --添加int类型的列,默认值为0 alter table tb add 列名 int default 0 end else begin print '中无主键,添加主键列' --添加int类型的列,默认值为0 alter table tb add 列名 int primary key default 0 end

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧