本文向你介绍如何不用借助Access,直接在程序中创建一个数据库,然后从标准的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
IIf函数的使用 VB入门技巧50例(六) VB入门技巧50例(五) VB入门技巧50例(四) VB入门技巧50例(三) VB入门技巧50例(二) VB入门技巧50例(一) GetSystemMetrics函数参数nIndex的定义
VB+Access设计图书管理系统 用VB控制EXCEL生成报表 VB中Winsock控件的使用 VB中列表框的使用技巧说明 VB访问SQL Server数据库技术全揭密 VB编程之路-如何让界面美化 Visual Basic 界面设计大观 怎样在VB中控制Word?
| 设为首页 | 加入收藏 | 联系站长 | 网站地图 | 版权申明 | 管理登录 |
CopyRight © 2001~2006 www.gold98.net All Rights Reserved 备案号:湘ICP备06012244号