数据库中动态删除和建立数据表
发布时间:2022-09-28 11:58:07 所属栏目:MsSql教程 来源:
导读: 【分享成果,随喜正能量】人生在世,本来就是生不带来,死不带去,太多的执念,反而变成沉甸甸的包袱。真正活的聪慧的人,都懂得为心灵腾出位置,抛去一些过往云烟,把清风明月请进胸怀,这样的人往往大智若愚。
|
【分享成果,随喜正能量】人生在世,本来就是生不带来,死不带去,太多的执念,反而变成沉甸甸的包袱。真正活的聪慧的人,都懂得为心灵腾出位置,抛去一些过往云烟,把清风明月请进胸怀,这样的人往往大智若愚。人生何其短暂,重要的不是过纸醉金迷的生活,而是抛开浮云,看到生命的真谛。 《VBA数据库解决方案》教程是我推出第二套教程,目前已经是第一版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作,教程第一版的修订内容主要是完成所有程序文件的32位和64位OFFICE系统测试。 这套教程共两册,八十四讲,今后一段时间会给大家陆续推出修订后的教程内容。今日的内容是第14讲:数据库中动态删除和建立数据表。 Mssq创建数据表_sql a表数据更新到b表_android 单元测试创建数据库表 第十四讲 如何在数据库中动态删除和建立数据表 大家好,今天继续讲解VBA数据库解决方案的第14讲:如何动态的在数据库中建立数据表。我们在什么是数据库中讲解讲过,表是一种关系,那么这种关系可否能实现动态的建立呢?也就是说,我们在程序中用代码建立数据表,是否可以做到呢?我们在做程序时经常会用到写数据库时要建立数据表,而手工建立确实很麻烦,我们考虑要用VBA代码去建立,是的,用代码去建立是完全可以的,也非常的简单。 实例的应用:在一个数据库mydata中已经存在了一个表”员工记录”,我们要建立另外的一个表“信息参考”,这个表中的内容是为了储存处包括各个部门的部门名称Mssq创建数据表,和部门的定岗人数两个字段,我们要看看这个代码该如何完成的。 1 动态建立和删除数据表的应用代码 代码如下: Sub mynztableJL() Dim cnADO, rsADO As Object Dim strPath, myTable, strSQL As String Set cnADO = CreateObject("ADODB.Connection") Set rsADO = CreateObject("ADODB.Recordset") strPath = ThisWorkbook.Path & "\mydata2.accdb" myTable = "信息参考" TT = False cnADO.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath Set rsADO = cnADO.OpenSchema(20, Array(Empty, Empty, myTable, Empty)) If Not rsADO.EOF Then MsgBox "工作表已经存在,是否删除数据表?", vbInformation, "数据表判断" strSQL = "DROP TABLE " & myTable cnADO.Execute strSQL TT = True Else MsgBox "数据表不存在,下面将建立工作表", vbInformation, "数据表判断" End If strSQL = "CREATE TABLE " & myTable _ & "(部门 text(20) not null,总人数 text(10) not null)" cnADO.Execute strSQL If TT True Then MsgBox "创建数据表成功!" & vbCrLf & "数据表名称为:" & myTable, , "创建数据表" Else MsgBox "创建数据表重新创建成功!" & vbCrLf & "数据表名称为:" & myTable, , "创建数据表" End If rsADO.Close cnADO.Close Set rsADO = Nothing Set cnADO = Nothing End Sub 代码的截图: android 单元测试创建数据库表_Mssq创建数据表_sql a表数据更新到b表 2 代码的解读和实现效果 代码的讲解: 1) strSQL = "DROP TABLE " & myTable cnADO.Execute strSQL 这是通过SQL,使用 DROP 语句,删除表。 备注:通过使用 DROP 语句,可以轻松地删除索引、表和数据库。 2) Set rsADO = cnADO.OpenSchema(20, Array(Empty, Empty, myTable, Empty)) If Not rsADO.EOF Then MsgBox "工作表已经存在,是否删除数据表?", vbInformation, "数据表判断" strSQL = "DROP TABLE " & myTable cnADO.Execute strSQL TT = True Else MsgBox "数据表不存在,下面将建立工作表", vbInformation, "数据表判断" End If 在上述的代码中首先要判断myTable工作表即"信息参考"的表是否存在,如果存在那么首先要删除这个已经存在的数据表,为了达到人机交互,在删除之前要征得用户的同意。 如果不存在数据表,那么会提示用户,下面将创建。 3) strSQL = "CREATE TABLE " & myTable _ & "(部门 text(20) not null,总人数 text(10) not null)" cnADO.Execute strSQL 上述代码创建了一个myTable工作表即"信息参考"的数据表,这个工作表有两个字段, ① 部门 text(20) not null 名称为“部门”, 文本 20个字符长,不为空 ② 总人数 text(10) not null名 称为“总人数”,文本 10个字符长,不为空 ③ CREATE TABLE 语句用于创建数据库中的表。 语法:CREATE TABLE 表名称 ( 列名称1 数据类型, 列名称2 数据类型, 列名称3 数据类型, .... ) 4) If TT True Then MsgBox "创建数据表成功!" & vbCrLf & "数据表名称为:" & myTable, , "创建数据表" Else MsgBox "创建数据表重新创建成功!" & vbCrLf & "数据表名称为:" & myTable, , "创建数据表" End If 上面代码中弹出对话框提示用户数据表创建成功,这里提示用户创建的过程是不同的,一种情况是原来没有此数据表是新创建的,一种情况是原先存在此工作表,被删除了,然后再创建的。这个判断是通过的一个变量TT来确认的。 5) rsADO.Close cnADO.Close Set rsADO = Nothing Set cnADO = Nothing 上述代码是关闭连接,并释放内存。在代码的编写过程中。一定记着最后要关闭连接和记录集,最后还要释放内存。 (编辑:云计算网_梅州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


浙公网安备 33038102330479号