问题一:通过什么来显示数据库中的图片OLE字段
问题二:如何显示分页呢?我是想放四个button来显示上一页,下一页的希望能给出代码,不胜感激!!!!!

解决方案 »

  1.   

    一、用image或picturebox 都可以二、form--code
    -------------
    Option Explicit
    Dim PageSize As Integer
    Dim PageNum As IntegerPrivate Sub cmd_PageDown_Click()
            PageSize = Val(Trim(Me.Text1.Text))
            PageNum = Val(Trim(Me.Text2.Text))
            
            PageNum = PageNum + 1
            If PageNum > Rs.PageCount Then PageNum = Rs.PageCount
            Me.Text2.Text = PageNum
            
            Call ShowData(PageSize, PageNum)
    End SubPrivate Sub cmd_PageUP_Click()
            
            PageSize = Val(Trim(Me.Text1.Text))
            PageNum = Val(Trim(Me.Text2.Text))
            
            PageNum = PageNum - 1
            If PageNum < 1 Then PageNum = 1
            Me.Text2.Text = PageNum
            
            Call ShowData(PageSize, PageNum)
            
    End SubPrivate Sub cmd_Refur_Click()
            
            If IsNumeric(Me.Text1.Text) = False Then
                  MsgBox "必须输入数字!"
                  Exit Sub
            End If
            
            If IsNumeric(Me.Text2.Text) = False Then
                  MsgBox "必须输入数字!"
                  Exit Sub
            End If
            
            PageSize = Val(Trim(Me.Text1.Text))
            PageNum = Val(Trim(Me.Text2.Text))
            
            Call ShowData(PageSize, PageNum)
            
    End SubPrivate Sub Form_Load()
            
            
            With Me
                 .Text1.Text = ""
                 .Text2.Text = ""
                 With .Label1
                      .Caption = ""
                      .ForeColor = vbBlue
                 End With
                 .Label2.Caption = ""
                 .Text1.Text = "5"
                 .Text2.Text = "1"
                 With .ListView1
                      With .ColumnHeaders
                           .Add , , "ID"
                           .Add , , "Userid"
                           .Add , , "UserName"
                      End With
                 End With
            End With
            
            Call iniDB
            
            PageSize = Val(Trim(Me.Text1.Text))
            PageNum = Val(Trim(Me.Text2.Text))
            
            Call ShowData(PageSize, PageNum)
    End SubPrivate Sub Form_Unload(Cancel As Integer)
            Call CloseDB
    End Sub
      

  2.   

    module----code
    ----------------
    Option Explicit
    Public Conn As ADODB.Connection
    Public Rs As ADODB.RecordsetPublic Function iniDB()
           If Not Conn Is Nothing Then Set Conn = Nothing
           Set Conn = New ADODB.Connection
           Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db1.mdb"
           Conn.Open
           
           If Not Rs Is Nothing Then Set Rs = Nothing
           Set Rs = New ADODB.Recordset
           Rs.Open "Select * From Table1", Conn, adOpenKeyset, adLockOptimistic, adCmdText
           frmMain.Label1.Caption = "共有记录:" & Rs.RecordCount & "条"
           Debug.Print "iniDB"
    End Function
    Public Function ShowData(ByVal intPageSize As Integer, ByVal intCurPageNum As Integer)
           Dim i As Integer
           Dim CurListItem As ListItem
           
           If intCurPageNum <= Rs.PageCount Then
                If intCurPageNum = 0 Then Exit Function
                
                If intCurPageNum = 1 Then
                       Rs.MoveFirst
                Else
                       If Rs.AbsolutePage = adPosEOF Then
                           Rs.Move intPageSize * (intCurPageNum - Rs.PageCount) ' + 1
                       Else
                           Rs.Move intPageSize * (intCurPageNum - Rs.AbsolutePage) ' + 1
                       End If            End If
                
                Rs.PageSize = intPageSize
                          
                frmMain.ListView1.ListItems.Clear
                While Rs.AbsolutePage = intCurPageNum
                      With frmMain
                           With .ListView1
                                With .ListItems
                                     Set CurListItem = .Add(, , Rs("id").Value)
                                     With CurListItem
                                          .SubItems(1) = Rs("Userid").Value
                                          .SubItems(2) = Rs("UserName").Value
                                     End With
                                End With
                           End With
                      End With
                      Rs.MoveNext
                Wend
                frmMain.Label2.Caption = intCurPageNum & "/" & Rs.PageCount
                frmMain.Label2.ForeColor = vbRed
           Else
                MsgBox "已经超过总页数的大小!"
                
           End If
           Rs.MoveFirst
                  
    End Function
    Public Function CloseDB()
           If Rs.State <> 0 Then Rs.Close
           Set Rs = Nothing
           If Conn.State <> 0 Then Conn.Close
           Set Conn = Nothing
           Debug.Print "CloseDB"
    End Function