DataGrid控件显示数据的问题
Public rec_path, connetstr, dbaname As String
Private Type BROWSEINFO
hOwner As Long
pidlRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfn As Long
lParam As Long
iImage As Long
End Type
Const BIF_RETURNONLYFSDIRS = &H1
Private pidl As Long
Public rsNew As ADODB.Recordset
Public CnNew As ADODB.Connection
Private Declare Function SHGetPathFromIDList Lib "Shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib "Shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Private Sub selectsql(sqllang As String)
'Dim connetstr As String
'Dim dbaname As String
connetstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Trim(dbaname) & ";Jet OLEDB:Database Password="
Set CnNew = New ADODB.Connection
CnNew.Open connetstr
Set rsNew = New ADODB.Recordset
Call MsgBox(sqllang)
'Set rsNew = CnNew.Execute(sqllang)
'Call MsgBox(rsNew.State)
'sql = "select dialnum,date,time,chan from backup where dialnum='013150656879'"
' Set rsNew = CnNew.Execute(sqllang)
rsNew.Open sqllang, CnNew, adOpenKeyset, adLockReadOnly, adCmdText
End Sub
Private Sub cmd_end_Click()
'If rsNew.State <> adStateClosed Then rsNew.Close
' Set rsNew = Nothing
'If CnNew.State <> adStateClosed Then CnNew.Close
' Set CnNew = Nothing
End
End Sub
Private Sub Cmd_recpath_Click()
List:
Dim bi As BROWSEINFO
Dim r As Long
Dim pidl As Long
Dim path As String
Dim pos As Integer
'注释: 句柄
bi.hOwner = Me.hWnd
'注释: 展开根目录
bi.pidlRoot = 0&
'注释: 列表框标题
bi.lpszTitle = "请选择CLS系统录音文件夹:"
'注释:规定只能选择文件夹,其他无效
bi.ulFlags = BIF_RETURNONLYFSDIRS
'注释: 调用API函数显示列表框
pidl = SHBrowseForFolder(bi)
'注释: 利用API函数获取返回的路径
path = Space$(512)
r = SHGetPathFromIDList(ByVal pidl&, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
racpath_text = Left(path, pos - 1)
'Call MsgBox(Me.racpath_text)
rec_path = Trim(Me.racpath_text)
dbaname = rec_path & "\rec.mdb"
If Dir(dbaname) <> "" Then
Me.cmd_startcx.Enabled = True
Else
Call MsgBox("不能找到数据库文件,请确认路径是否正确!")
GoTo List
End If
Else: racpath_text = ""
End If
End Sub
Private Sub cmd_startcx_Click()
'Call MsgBox(Me.check_tel)
'Call MsgBox(Me.check_time)
If (Me.check_tel = 0) And (Me.check_time = 0) Then
Call MsgBox("请至少选择一种查询条件")
Else
'数据库字段名和现场的不一样
If check_tel = 1 Then
SQL = "select dialnum,mydate,mytime,chan from backup where dialnum='" & Trim(text_tel.Text) & "'"
End If
If check_time = 1 Then
SQL = "select dialnum,mydate,mytime,chan from backup where mydate=#" & Trim(text_time.Text) & "#"
End If
If check_time = 1 And check_tel = 1 Then
SQL = "select dialnum,mydate,mytime,chan from backup where mydate=#" & Trim(text_time.Text) & "# and dialnum='" & Trim(text_tel.Text) & "'"
End If
selectsql (SQL)
If rsNew.RecordCount = 0 Then
Call MsgBox("没有找到记录,请重新输入!!!", vbOKOnly)
Else
'Call MsgBox(rsNew.RecordCount)
DataGrid1.Columns(0).DataField = rsNew(0)
DataGrid1.Columns(1).DataField = rsNew(1)
DataGrid1.Columns(2).DataField = rsNew(2)
DataGrid1.Columns(3).DataField = rsNew(3)
'DataGrid1.Columns(0).DataFormat = Text
'DataGrid1.RecordSelectors
DataGrid1.Refresh
'DataGrid1
'Adodc1.Refresh
' DataGrid1.ReBind
'DataGrid1.ReBind = rsNew
Call MsgBox(rsNew(0))
End If
End If
End Sub
Private Sub Form_Load()
Me.cmd_startcx.Enabled = False
DataGrid1.Columns.Item(0).Caption = "电话号码"
DataGrid1.Columns.Item(1).Caption = "通话日期"
DataGrid1.Columns.Add(2).Caption = "通话时间"
DataGrid1.Columns.Add(3).Caption = "通道号"
Set DataGrid1.DataSource = rsNew
DataGrid1.ReBind
'DataGrid1.TabIndex
End Sub
如上代码,但不能在控件中显示出查询的内容,请问还要加什么代码吗?还是代码的顺序不对?
谢谢