谢谢楼上的,能不能再详细点啊?比如,单击之后,如何知道它是DBGrid中的哪一条记录啊?
另外,如何改变窗体Caption字体的样式?默认的是加粗格式

解决方案 »

  1.   

    加入ADO控件,然后设置ADO控件的属性,使之与学生档案表绑定,然后再在DBGRID控件中设置连接ADO控件,使DBGRID控件显示学生档案表里的内容,再设置一个窗体,放如文本控件,加入ADO控件(也可以在代码中写,具体找点参考书),其属性同上,然后再在文本控件内加入表中每个字段。注意:要设定全局变量,这样可以把第一个表中的变量赋给第二个窗体!
      

  2.   

    同意你可以仔细看看发生click事件后此控件的各种属性是什么
    我以前就用msgbox来显示过listbox的各种属性的变化,结果是我根本没看过书就知道listbox的使用方法了可以自己研究的话还是自己研究一下比较好
      

  3.   

    同意: tony1980(大漠孤狼) 的建议
    ADO控件跟DBGRID关联之后,比较容易得到记录在记录集中的位置另外,最好用dbgrid的doubleclick事件,防止用户查看下方记录时误触发
      

  4.   

    我就是用ado和dbgrid惯例后解决的问题,需要实例请来个email
    我可以发个给你,[email protected]另外就是当用户点DBGrid中的一条记录时,就弹出一个窗体来显示该学生的所有档案信息最好是改成双击,不然用着会不舒服的
      

  5.   

    Private Sub test1_DblClick()Form2.Show
    test1.SelText = Form2.Text1.Text
    End Sub
    这个可以吗?
      

  6.   

    给你一个例子,希望对你有点帮助Public Sub DataGrid1Show()
    Set rss = New Recordset
    Dim str As String
    Dim Userid As Long
    Userid = Combo1.ItemData(Combo1.ListIndex)
    Dim StartDate As Date
    Dim EndDate As Date
    Dim StartTime As Date
    Dim EndTime As Date
    StartDate = DateValue(DTPicker1.Value)
    EndDate = DateValue(DTPicker2.Value)
    StartTime = StartDate + "00:00:00"
    EndTime = EndDate + "23:59:59"
    If StartDate > EndDate Then
    MsgBox "请检查您输入的日期!", , "Warning"
    Exit Sub
    End If
    str = "select * from user_speday where userid= " & Userid & " and startspecday># " & StartTime & " # and endspecday<# " & EndTime & " # and (dateid=999 or dateid=1000) order by startspecday"
    rss.Open str, cnnView
    Set DataGrid1.DataSource = Nothing
    Set Adodc1.Recordset = rss
    Set DataGrid1.DataSource = Adodc1
    Adodc1.Refresh
    DataGrid1.Refresh
    SetHeadEnd SubPrivate Sub SetHead()
    Dim i As IntegerFor i = 0 To DataGrid1.Columns.Count - 1
        DataGrid1.Columns(i).Alignment = dbgCenter
    Next iDataGrid1.Columns(0).Visible = False
    DataGrid1.Columns(3).Visible = False
    DataGrid1.Columns(5).Visible = FalseDataGrid1.Columns(1).Width = 1800
    DataGrid1.Columns(2).Width = 1800
    DataGrid1.Columns(3).Width = 1000
    DataGrid1.Columns(4).Width = 600DataGrid1.Columns(1).Caption = "开始日期"
    DataGrid1.Columns(2).Caption = "结束日期"
    DataGrid1.Columns(3).Caption = "请假类别"
    DataGrid1.Columns(4).Caption = "请假原因"End SubPublic Property Get getLeave()          '在DATAGRID1中选中的一行数据
    Dim col As New Collection
    Dim k As Integer
    If rss.RecordCount > 0 Then
        rss.MoveFirst
        For k = 0 To DataGrid1.Book - 2
            rss.MoveNext
        Next kcol.Add rss.Fields("dateid")
    col.Add rss.Fields("startspecday")
    col.Add rss.Fields("endspecday")
    col.Add rss.Fields("yuanying")End If
    Set getLeave = col
    End Property
      

  7.   

    可以利用DBGrid的RowColChange事件,此时记录集已经迁移。而click事件发生时,记录集尚未迁移。Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
    '在此访问Data控件记录集的数据
    load NewForm
    Newform.TextName = data1.recordset!name
    ......
    Newform.Show 1
    End Sub注意:Data控建搭配DBGrid控件;ADODC控件搭配DataGrid控件。不可错配。