a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Access > 正文

如何將文本文件轉換為ACCESS數據庫

2024-09-07 19:05:43
字體:
來源:轉載
供稿:網友

本文向你介紹如何不用借助Access,直接在程序中創(chuàng)建一個數據庫,然后從標準的ASCII文本文件中讀取數據到數據庫中。原文是微軟知識庫中的一篇文章,但當時是針對VB3寫的,所以其中的代碼有點過時。例如現在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

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

在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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 狠狠躁夜夜躁人人爽天天天天97 | 亚洲午夜精品久久久久久app | 国产九九精品视频 | 久久久久久一区 | 国产区 在线观看 | 国产精品久久久久久久一区探花 | 中文字幕欧美在线观看 | 欧美日韩不卡在线 | 久久久亚洲一区 | 国产精品免费在线 | 男女瑟瑟网站 | 天天射欧美 | 日韩一区二区黄色片 | 久久久精品久久久久久 | 黄色大片网站在线观看 | 日韩视频在线一区二区 | 欧美一级欧美三级在线观看 | 91中文字幕在线观看 | 久久9久| 欧美日韩一区二区三区在线观看 | 成人精品一区二区三区中文字幕 | 1区在线 | 蜜桃视频一区二区三区 | 久色| 国产一级免费视频 | 国产精品久久久久久久久久久新郎 | 在线 丝袜 欧美 日韩 制服 | 最新高清无码专区 | 99国产精品99久久久久久 | 亚洲国产精品一区二区久久 | 久久91 | 羞羞视频免费网站 | 自拍视频网| 久久精品视频免费 | 欧美日韩精品一区二区在线播放 | 91亚洲日本 | 久久精品播放 | 亚洲九九九 | 国产成人久久777777 | 91久久精品www人人做人人爽 | 国产一区二区久久久 |