分享
 
 
 

用Visual Basic开发数据库浏览器

王朝厨房·作者佚名  2007-01-04
窄屏简体版  字體: |||超大  

Microsoft Access是Visual Basic最常用的数据库,但Visual Basic没有提供类似Foxpro for Windows的BROWS命令的函数来浏览Access数据库。本程序提供了一种类似BROWS命令界面浏览Access数据库的方法,感兴趣的读者可以把这个程序改写为带参数(数据库名、表名、字段名、字段宽度等)的子程序,实现类似Foxpro for windows的BROWS 命令的功能,在自己的应用程序中调用。

首先,在窗口中定义一个网格(gridl)、一个列表框(list1)、一个普通对话框(dlg)、一个数据察觉项(datal)、两个命令按钮(command1和command2),排好位置。

程序执行时,按“打开”按钮打开一个对话框,选定数据库文件后程序在列表框中显示数据库包含的表名,单击列表框中的表名即可浏览该表。本程序可自动根据字段长度和字体大小设置浏览区的大小,以保证浏览区不会超出窗口。如果窗口满足不了浏览区,程序自动给浏览区加水平或竖直滚动条。附程序清单:

1 Sub Command1_Click() ’鼠标器点“打开”键

2 Dim, I As Integer,cunt As Integer

3 grid1.Visible=False

4 dlg.Filename=""

5 dlg.Filter="Access(*.MDB)|*.MDB"

6 dlg.FilterIndex=1

7 dlg.Action=1 ’打开对话框

8 If dlg.Filename=""Then ’如果未选定文件

9 GoTo canc

10 End If

11 datal.Connect=""

12 datal.DatabaseName=dlg.Filename

13 datal.RecordSource=""

14 datal.Refresh

15 browser.Caption="Access浏览器["+datal.DatabaseName+"]"

16 cunt=datal.Database.TableDefs.Count

17 listl.Clear

18 For I=0 To cunt-1 ’将表名加入到列表框

19 If Left(datal.Database.TableDefs(I).Name,4) <>"Msys"Then

20 listl.Additem datal.Database.TableDefs(I).Name

21 End If

22 Next I

23 label1.Visible=True

24 list1.Visible=True

25 list1.ListIndex=0

26 canc:

27 End Sub

28 Sub Command2_Click() ’鼠标器点“退出”键

29 End

30 End Sub

31 Sub Form_Load()

32 browser.Caption="Access浏览器"

33 grid1.Height=3200

34 grid1.Visibli=False

35 list1.Visible=False

36 label1.Visible=False

37 End Sub

38 Sub Listl_Click() ’鼠标器点列表框

39 Dim ct As Integer

40 data1.RecordSource=listl.Text

41 ct=data1.Database.TableDefs(list1.ListIndex).Fields.Count

42 grid1.Cols=ct

43 grid1.Row=0

44 For I=0 To ct-1 ’将表中各字段名加到网格第一行

45 grid1.Col=I

46 grid1.Text=data1.Database(data1.RecordSource),Fields(I).Name

47 Nexti

48 data1.Refresh

49 data1.Recordset.MoveLast

50 grid1.Rows=data1.Recordset.RecordCount+1

51 data1.Recordset.MoveFirst

52 grid1.Row=0

53 While Not data1.Recordset.EOF ’将数据读入网格各单元

54 grid1.Row=grid1.Row+1

55 Fori=0 To ct-1

56 grid1.Col=I

57 If Not Is Null(datal.Recordset(I).Value)Then

58 grid1.Text=datal.Recordset(I).Value

59 Else

60 grid1.Text=""

61 End If

62 cellwidth=TextWidth(grid1.Text)+200

63 If cellwidth >grid1.ColWidth(I)Then

64 gridl.ColWidth(I)=cellwidth

65 End If

66 Next I

67 data1.Recordset.MoveNext

68 Wend

69 grid1.Width=0

70 Fori=0 To ct-1’计算网格总宽度

71 grid1.Width=gridl.Width+gridl.ColWidth(I)

72 Next I

73 If grid1.Width > scalewidth Then ’如果网格总宽度大于窗口宽度

74 grid1.Width=scalewidth

75 End If

76 grid1.Height=(gridl.Rows+2)*20*grid1.FontSize ’计算网格长度

77 If grid1.Height >3200 Then ’如网格长度出界

78 grid1.Height=3200

79 End If

80 browser.Width=grid1.Width+300 ’设置窗口宽度

81 grid1.Visible=True

82 End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有