問題1:由于Access表里字段多,
如全部顯示在DataGrid上,
不方便操作;
怎樣讓DataGrid顯示Access表里某幾個字段?==>問題2:設置DataGrid列寬度;==>

解决方案 »

  1.   

    DataSource设置SQL为 "SELECT 字段1,字段2,字段3... FROM 表名"
      

  2.   

    你可以使用ADO对象查询,将结果填写入表格,不绑定。这样你可以自由选择要显示的字段。
      

  3.   


    '问题1这样做就可以了
        Adodc1.CommandType = adCmdText
        Adodc1.RecordSource = "select 字段1,字段2,字段3 from 表名"
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1'问题2可以这样    
        DataGrid1.Columns(0).Width = 980
        DataGrid1.Columns(0).Caption = " 站点代码"
        DataGrid1.Columns(1).Width = 1250
        DataGrid1.Columns(1).Caption = "  手机号码"
            
        DataGrid1.Columns(2).Width = 3200
        DataGrid1.Columns(2).Caption = "             站点名称"
      

  4.   

    '问题1这样做就可以了
        Adodc1.CommandType = adCmdText
        Adodc1.RecordSource = "select 字段1,字段2,字段3 from 表名"
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1'问题2可以这样    
        DataGrid1.Columns(0).Width = 980
        DataGrid1.Columns(0).Caption = " 站点代码"
        DataGrid1.Columns(1).Width = 1250
        DataGrid1.Columns(1).Caption = "  手机号码"
            
        DataGrid1.Columns(2).Width = 3200
        DataGrid1.Columns(2).Caption = "             站点名称"
      

  5.   

    支持这种方法
    不支持ADODC
      

  6.   

    '问题1这样做就可以了
        Adodc1.CommandType = adCmdText
        Adodc1.RecordSource = "select 字段1,字段2,字段3 from 表名"
        Adodc1.Refresh
        Set DataGrid1.DataSource = Adodc1'问题2可以这样    
        DataGrid1.Columns(0).Width = 980
        DataGrid1.Columns(0).Caption = " 站点代码"
        DataGrid1.Columns(1).Width = 1250
        DataGrid1.Columns(1).Caption = "  手机号码"
            
        DataGrid1.Columns(2).Width = 3200
        DataGrid1.Columns(2).Caption = "             站点名称"
      

  7.   

    謝謝各位,
    整合Code 如下:   ' 更新"DataGrid1"數據
                '2009.10.6修改后Code  修改原因:1.減少代碼運行邏輯;2.解決數據庫數據為空報錯的情況;
                Adodc2.CommandType = adCmdText
                Adodc2.RecordSource = "select SN,Name,Skuno,Barcode from Info"
                Adodc2.Refresh
                Set DataGrid1.DataSource = Adodc2
                DataGrid1.Columns(0).Width = 800
                DataGrid1.Columns(0).Caption = " 序列號"
                DataGrid1.Columns(0).Alignment = dbgCenter
                
                DataGrid1.Columns(1).Width = 1200
                DataGrid1.Columns(1).Caption = "    機種"
                DataGrid1.Columns(1).Alignment = dbgCenter
                
                DataGrid1.Columns(2).Width = 1300
                DataGrid1.Columns(2).Caption = "    料號"
                DataGrid1.Columns(2).Alignment = dbgCenter
                
                DataGrid1.Columns(3).Width = 1700
                DataGrid1.Columns(3).Caption = "      條碼"
                DataGrid1.Columns(3).Alignment = dbgCenter標題居中?
    (目前為手動調節)
      

  8.   

    修改之前代碼如下:
      ' 更新"DataGrid1"數據
        Dim strQuery As String                           'Update數據
        strQuery = "select * from Info order by SN"
        Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\information.mdb"
        Me.Adodc2.RecordSource = strQuery
        If strQuery <> "" Then
            Me.Adodc2.Refresh
        End If
        Set Me.DataGrid1.DataSource = Me.Adodc2.Recordset
        If Not Adodc2.Recordset.EOF Then
            Me.Adodc2.Recordset.MoveLast                     '指向Last
        End If
        Me.DataGrid1.Refresh
      

  9.   

    調試時,發生一些Bug,
    Code As Fllow:
    ' 更新"DataGrid1"數據
                '2009.10.6修改后Code  修改原因:1.減少代碼運行邏輯;2.解決數據庫數據為空報錯的情況;3.數據指向最后;
                Adodc2.CommandType = adCmdText
                Adodc2.RecordSource = "select SN,Name,Skuno,Barcode,InputDateTime,InStorageUser,Flag from Info order by InputDateTime"
                Adodc2.Refresh
                Set DataGrid1.DataSource = Adodc2
                If Not Adodc2.Recordset.EOF Then                                '2009.10.5增加判斷語句
                   Me.Adodc2.Recordset.MoveLast                                '指向Last
                End If
                
                DataGrid1.Columns(0).Width = 800
                DataGrid1.Columns(0).Caption = " 序列號"
                DataGrid1.Columns(0).Alignment = dbgCenter
                
                DataGrid1.Columns(1).Width = 1400
                DataGrid1.Columns(1).Caption = "    機種"
                DataGrid1.Columns(1).Alignment = dbgCenter
                
                DataGrid1.Columns(2).Width = 1300
                DataGrid1.Columns(2).Caption = "    料號"
                DataGrid1.Columns(2).Alignment = dbgCenter
                
                DataGrid1.Columns(3).Width = 1700
                DataGrid1.Columns(3).Caption = "      條碼"
                DataGrid1.Columns(3).Alignment = dbgCenter
                
                DataGrid1.Columns(4).Width = 2000
                DataGrid1.Columns(4).Caption = "    入庫日期/時間"
                DataGrid1.Columns(4).Alignment = dbgCenter
                
                DataGrid1.Columns(5).Width = 1000
                DataGrid1.Columns(5).Caption = " 入庫用戶"
                DataGrid1.Columns(5).Alignment = dbgCenter
                
                DataGrid1.Columns(6).Width = 1000
                DataGrid1.Columns(6).Caption = "狀態標志位"
                DataGrid1.Columns(6).Alignment = dbgCenter
                
                
                
                ''2009.10.6修改前Code
                'Dim strQuery As String                           'Update數據
                'strQuery = "select * from Info order by SN"
                'Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path + "\information.mdb"
                'Me.Adodc2.RecordSource = strQuery
                'If strQuery <> "" Then
                       ' Me.Adodc2.Refresh
                'End If
                'Set Me.DataGrid1.DataSource = Me.Adodc2.Recordset
                '2009.10.4如表"Info"數據為空,程序報錯,需處理;
                '2009.10.5在執行語句"Me.Adodc2.Recordset.MoveLast "之前判斷數據是否為空;數據為空,不執行"Me.Adodc2.Recordset.MoveLast "語句,數據不為空,執行"Me.Adodc2.Recordset.MoveLast "語句
                'If Not Adodc2.Recordset.EOF Then                                '2009.10.5增加判斷語句
                    'Me.Adodc2.Recordset.MoveLast                                '指向Last
                'End If
                'Me.DataGrid1.Refresh