如何将文本文件转换为ACCESS数据库

导读:如何不用借助Access数据库,直接在程序中创建一个数据库,然后从标准的ASCII文本文件中读取数据到数据库中?例如现在DAO中已没有Table对象,代之以Recordset对象。下文中就会为大家带来解决方案(代码在VB6中调试通过)。
首先在工程中添加对Microsoft DAO 3.51 Library引用。

专注于为中小企业提供网站建设、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业黑山免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

在窗体中添加三个命令按钮和两个MSFlexGrid.

按照下表设置和控件的属性:

控件 属性 值

Command1 Caption "建立文本文件并显示在网格中"

Command2 Caption "传输入数据并新建一个数据库"

Command3 Caption "显示新数据库中的数据"

Grid1 Cols 5

Grid1 Rows 35

Grid2 Cols 5

Grid2 Rows 35

将下面的代码添加到窗体的声明部分

Dim nums(30) As Long

Dim names(30) As String * 20

Dim addresses(30) As String * 25

Dim ss_nums(30) As String * 12

Const DB_LONG = 4

Const DB_TEXT = 10

Const DB_LANG_GENERAL = ";LANGID=0x0809;CP=1252;COUNTRY=0"

将下面的代码添加到窗体的Load事件中

Sub Form_Load ()

Show

grid1.ColWidth(1) = 1000 'For Emp ID

grid1.ColWidth(2) = 2000 'For Emp Name

grid1.ColWidth(3) = 3000 'For Emp Addr

grid1.ColWidth(4) = 2000 'For Emp SSN

grid1.Col = 1

grid1.Row = 0

grid1.Text = "Emp ID" 'Header for Emp ID from text file

grid1.Col = 2

grid1.Row = 0

grid1.Text = "Emp Name" 'Header for Emp Name from text file

grid1.Col = 3

grid1.Row = 0

grid1.Text = "Emp Addr" 'Header for Emp Addr from text file

grid1.Col = 4

grid1.Row = 0

#p#

grid1.Text = "Emp SSN" 'Header for Emp SSN from text file

grid2.ColWidth(1) = 1000 'For Emp ID

grid2.ColWidth(2) = 2000 'For Emp Name

grid2.ColWidth(3) = 3000 'For Emp Addr

grid2.ColWidth(4) = 2000 'For Emp SSN

grid2.Col = 1

grid2.Row = 0

grid2.Text = "Employee ID" 'Header for Emp ID from DB

grid2.Col = 2

grid2.Row = 0

grid2.Text = "Employee Name" 'Header for Emp Name from DB

grid2.Col = 3

grid2.Row = 0

grid2.Text = "Employee Addr" 'Header for Emp ID from DB

grid2.Col = 4

grid2.Row = 0

grid2.Text = "Employee SSN" 'Header for Emp Name from DB

End Sub

在Command1_Click事件中加入下面的代码

Sub Command1_Click ()

For i% = 1 To 30

nums(i%) = i%

names(i%) = "John Doe # " + Str$(i%)

addresses(i%) = Str$(i%) + " Mocking Bird Lane"

If i% < 9 Then

'* Enter the following four lines as one, single line:

ss_nums(i%) = Trim$(Str$(i%) + Trim$(Str$(i%))

+ Trim$(Str$(i%)) + "-" + Trim$(Str$(i% + 1))

+ Trim$(Str$(i% + 1)) + "-" + Trim$(Str$(i%))

+ Trim$(Str$(i%)) + Trim$(Str$(i%)) + Trim$(Str$(i%)))

Else

'* Enter the following two lines as one, single line:

ss_nums(i%) = Trim$(Trim$(Str$(999)) + "-" + Trim$(Str$(88))

+ "-" + Trim$(Str$(7777)))

End If

Next i%

Open "Testdata.DAT" For Output As #1

For j% = 1 To 30

Print #1, nums(j%)

Print #1, names(j%)

Print #1, addresses(j%)

Print #1, ss_nums(j%)

Next j%

Close #1

For i% = 1 To 30 'Display results from text file

grid1.Col = 1

grid1.Row = i%

grid1.Text = nums(i%) 'Load Emp IDs

grid1.Col = 2

grid1.Row = i%

grid1.Text = names(i%) 'Load Emp Names

grid1.Col = 3

grid1.Row = i%

grid1.Text = addresses(i%) 'Load Emp Addrs

grid1.Col = 4

grid1.Row = i%

grid1.Text = ss_nums(i%) 'Load Emp SSNs

Next i%

End Sub

#p#

在Command2_Click事件中加入下面的代码

Sub Command2_Click ()

Dim newdb As Database

Dim newtb As Table

Dim newtd As New tabledef

Dim newidx As New Index

Dim field1 As New field 'For Emp nums

Dim field2 As New field 'For Emp names

Dim field3 As New field 'For Emp addresses

Dim field4 As New field 'For Emp ss_nums

screen.MousePointer = 11 'Display the time to build

Set newdb = CreateDatabase("NEWDB.MDB", DB_LANG_GENERAL)

newtd.Name = "Emp_Table" '* New table name

field1.Name = "Emp_ID" '* Holds Employee ID nums()

field1.Type = DB_LONG

newtd.Fields.Append field1

field2.Name = "Emp_Name" '* Holds Emp names()

field2.Type = DB_TEXT

field2.Size = 20

newtd.Fields.Append field2

field3.Name = "Emp_Addr" '* Holds Employee addr()

field3.Type = DB_TEXT

field3.Size = 25

newtd.Fields.Append field3

field4.Name = "Emp_SSN" '* Holds emp ss_nums()

field4.Type = DB_TEXT

field4.Size = 12

newtd.Fields.Append field4

newidx.Name = "Emp_ID_IDX" '* You have to have an index

newidx.Fields = "Emp_ID"

newidx.Primary = True

newtd.Indexes.Append newidx

newdb.TableDefs.Append newtd

Set newtb = newdb.OpenTable("Emp_Table")

Open "Testdata.dat" For Input As #1

BeginTrans

Do While Not (EOF(1))

newtb.AddNew

Line Input #1, tmp1$ 'Retrieve empl_id

Line Input #1, tmp2$ 'Retrieve empl_name

Line Input #1, tmp3$ 'Re

到这里我要为大家介绍的将文本文件转换为ACCESS数据库的知识就全部讲完了,希望大家都能够从中收获知识,这些内容对的大家的工作将是有益而无害。

【编辑推荐】

  1. 如何使用Access数据库压缩文件
  2. 计算机等级考试二级ACCESS数据库基本使用方法
  3. Java访问ACCESS数据库的方法
  4. SQL Server数据导入到Access数据库

网页标题:如何将文本文件转换为ACCESS数据库
浏览路径:http://www.hantingmc.com/qtweb/news38/130688.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联