如何在vb text文本框控件中,显示access数据库中的表

如何在vb text文本框控件中,显示access数据库中的表,第1张

1:Access,建立数据库,数据库命名为Database1.mdb。

(注意:这里的后缀是MDB,如果Access是2007版本的,保存的时候要另存为2003版本的才行,因为,VB不直接支持07版的accdb后缀格式。)

2:数据库建立后就进入了数据表界面,可以输入数据了,输完以后CRRL+S保存,输入表名,这里表名为test,ok,准备工作搞定。

3.打开VB,然后新建标准exe。

4.菜单中找到工程→部件→勾选

Microsoft

ADO

Data

Control

6.0

Microsoft

Hierarchical

Flexgrid

Control

6.0

勾选后左侧工具栏里就多了两个控件即 ADODC控件和MSHFlexGrid控件。

5.选择 ADODC控件和MSHFlexGrid控件,放在窗体的合适位置,如图:

6.设置ADODC控件的属性

右键窗体内ADODC1控件

1)ADODC属性页→通用→选择使用连接字符串→点击生成→选择Microsoft

Jet

4.0

OLE

DB

Provider

点击下一步→选择之前准备好的数据库→点击测试连接,显示测试成功则ok,确定。

2)ADODC属性页→记录源→命令类型选择2-adcmdtable,表或存储过程名称选择之前建立的数据表test,点击确定,ADODC属性设置完成。

7.设置MSHFlexGrid控件的属性:

VB右侧属性表里,找到datasource,选择adodc1.

8.测试效果:

1)菜单→运行→启动(F5),发现显示的数据排列不是我们想要的行数和列数

修改方法:

2)MSHFlexGrid属性→通用→设置行和列,固定行和固定列,设置见图。

3)MSHFlexGrid属性→带区→把列标题的√取消掉,设置见图。

9.修改后的测试效果:

如果只是简单的显示,那么可以用activex控件里面的dbgrid之类的,把他们绑定到数据源上面就可以显示了。但是具体 *** 作会比较复杂,建议在网上搜索一下dbgrid

vb,搜索结果第一条就讲得很详细

可以快速导出使用excel 就有该功能

Public Function ExportToExcel(ByVal strOpen As String, Title As String, dizhi As String, con As ADODB.Connection)

  '*********************************************************

  '*   名称:ExporToExcel

  '*   功能:导出数据到EXCEL'*   用法:ExporToExcel(strOpen查询字符串,titile

  '*excel标题,dizhi 保存路径,con  数据库连接地址)

  '*********************************************************

lok:  On Error GoTo er

  Screen.MousePointer = 11

  Dim Rs_Data     As New ADODB.Recordset

          Dim Irowcount     As Long

          Dim Icolcount     As Long

         

        Dim XlApp     As New Excel.Application

        Dim xlbook     As Excel.Workbook

        Dim xlSheet     As Excel.Worksheet

        Dim xlQuery     As Excel.QueryTable

         

        With Rs_Data

                If .State = adStateOpen Then

                        .Close

                End If

                 .ActiveConnection = con

                 .CursorLocation = adUseClient

                 .CursorType = adOpenStatic

                 .LockType = adLockReadOnly

                 .Source = strOpen

                 DoEvents

      '           Debug.Print strOpen

                 .Open

                 

         End With

         Debug.Print strOpen

        '  Set Rs_Data = Open_rst_from_str(strOpen)

        With Rs_Data

                If .RecordCount < 1 Then

                        MsgBox ("没有记录!")

                        Screen.MousePointer = 0

                        Exit Function

                End If

                '记录总数

                Irowcount = .RecordCount

                '字段总数

                Icolcount = .Fields.Count

        End With

         

        Set XlApp = CreateObject("Excel.Application")

        Set xlbook = Nothing

        Set xlSheet = Nothing

        Set xlbook = XlApp.Workbooks().Add

        Set xlSheet = xlbook.Worksheets("sheet1")

         

        '添加查询语句,导入EXCEL数据

        Set xlQuery = xlSheet.QueryTables.Add(Rs_Data, xlSheet.Range("a1"))

         

        With xlQuery

                .FieldNames = True

                .RowNumbers = False

                .FillAdjacentFormulas = False

                .PreserveFormatting = True

                .RefreshOnFileOpen = False

                .BackgroundQuery = True

                .RefreshStyle = xlInsertDeleteCells

                .SavePassword = True

                .SaveData = True

                .AdjustColumnWidth = True

                .RefreshPeriod = 0

                .PreserveColumnInfo = True

        End With

         

        xlQuery.FieldNames = True       '显示字段名

        xlQuery.Refresh

           

          Dim i     As Integer, Zd       As String

        With xlSheet

                  For i = 1 To 6

               

                          Zd = .Range(.Cells(1, 1), .Cells(1, Icolcount)).item(1, i)

                       '   .Range(.Cells(1, 1), .Cells(1, Icolcount)).Item(1, i) = Lm_YwToZw(Zd)

                  Next

                .Range(.Cells(1, 1), .Cells(1, Icolcount)).Font.name = "黑体"

                '设标题为黑体字

  '               .Range(.Cells(1,   1),   .Cells(1,   Icolcount)).Font.Bold   =   True

                '标题字体加粗

                .Range(.Cells(1, 1), .Cells(Irowcount + 1, Icolcount)).Borders.LineStyle = xlContinuous

  '               .Range(.Cells(Irowcount   +   2,   Icolcount)).Text   =   Zje

                '设表格边框样式

        End With

        XlApp.Visible = True

        XlApp.Application.Visible = True

  '      xlBook.SaveAs dizhi

        Set XlApp = Nothing           '"交还控制给Excel

        Set xlbook = Nothing

        Set xlSheet = Nothing

        Screen.MousePointer = 0

        Exit Function

er:

     '   Dispose_Err

     MsgBox err.Description & "           从新导报表,请等待!"

     GoTo lok:

  End Function

使用这个模块就可以,你可以看看引用的函数即可


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9245200.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存