数据库路径:C:\PROG\2008-3.MDB (当月数据)
C:\PROG\BACKUP\2008-2.MDB (以前数据)
C:\PROG\BACKUP\2008-1.MDB (以前数据)
在FORM1启动时先显示当月数据在DATAGRID上,按COMMAND1(查以前记录)后在DATAGRID上显示以前的记录,能实现这样功能的源代码吗?
我是VB的初学者,VB的高手请提供例子,谢谢!
C:\PROG\BACKUP\2008-2.MDB (以前数据)
C:\PROG\BACKUP\2008-1.MDB (以前数据)
在FORM1启动时先显示当月数据在DATAGRID上,按COMMAND1(查以前记录)后在DATAGRID上显示以前的记录,能实现这样功能的源代码吗?
我是VB的初学者,VB的高手请提供例子,谢谢!
解决方案 »
- datagrid 字段名排序 vb
- 一个文本文件用二进制方式读入变量,修改后如何写回到文件中呢?
- 如何在VB中实现对ACCESS数据库的数据表的打印?
- 请问我如何把参数传递给这个过程呢:Public Sub SetRowColor(ByRef MSHFlexGrid As Object)
- 老板急着要,早点出来!早点有钱!急急!!
- 求一个winsock传送文件的例子。(必须能传word文档)。要有客户端和服务器端。
- 导出EXCEL的时候提示"实时错误1004,对象'Range'的方法'_Golbal'失败"!?**************
- 请教更精练的代码的下一步问题了
- 新手上路问问题,哥哥们帮帮忙
- 想把查询结果加入datagrid时碰到的问题:谢谢大家关照。
- vb label的Caption的文字实现上下滚动
- 200分高难:如何得到自己程序向网卡发送的数据包?
检查每个数据文件的创建日期用FSO(file system object).
使用方法看FSO帮助.
如
for i=1 to Year(now)-1
strDbName=Year(now) & "-" & i & ".mdb"
检查这个文件名是否存在
如存在就打开数据库并将数据显示到datagrid中
next
路径是一个,是C盘,"最先"是指"最早的",就是当前的数据,是保存日期最近的一个,因为保存数据库命名方式是按月命名,"最先"就是指当月的啦!
补充一点,显示出来后还要有打印预览后打印出来.
CommonDialog1.ShowOpen
mymdb=CommonDialog1.FileName
strConn = "Driver={Microsoft Access Driver(*.mdb)};DBQ=" & mymdb & ";"
Set curConnection = New ADODB.Connection
Set rs = New ADODB.Recordset
curConnection.Provider = "Microsoft.Jet.OLEDB.4.0" '3.51"
curConnection.Open strConn
If curConnection.State = adStateOpen Then
strSQL = "select * from mytable"
rs.Open strSQL, curConnection, adOpenStatic, adLockReadOnly
DATAGRID.datesource=rs
end if
end sub
窗体打开时显示当月数据,选择 ComboBox 列表(包括备份数据和当月数据)后,单击按钮显示响应数据。没有调试。权当提供思路吧。Private Sub Form_Load()
Dim strFile As StringstrFile = Dir("C:\PROG\BACKUP\*.MDB")
Do Until strFile = ""
Combo1.AddItem strFile
Loop
If Combo1.ListCount Then Combo1.ListIndex = 0strFie = Dir("C:\PROG\*.MDB")
If strFile > "" Then
Combo1.AddItem strFile
Combo1.ItemData(Combo1.NewIndex) = 1
ADODC1.DatabaseName = "C:\PROG\" & strFile
ADODC1.RecordSource = "SELECT * FROM 你的表名称"
Set DataGrid1.DataSource = ADODC1
DataGrid1.Refresh
End IfCommand1.Caption = "查看记录(&V)"End SubPrivate Sub Command1_Click()
Dim strPathFile As String
strPathFile = "C:\PROG\" & IIf(Combo1.ItemData(Combo1.ListIndex), "", "BACKUP\") & Combo1.List(Combo1.ListIndex)
If Dir(strPathFile) > "" Then
ADODC1.DatabaseName = strPathFile
ADODC1.RecordSource = "SELECT * FROM 你的表名称"
Set DataGrid1.DataSource = ADODC1
DataGrid1.Refresh
End If
End Sub
Dim objWMIService, objProcess, colProcesslist
Dim i%, j%, aa$, bb$, fname$, DriveNm$(), Filestr$(), Trec&, sPrivate Sub Command1_Click()
ReDim Preserve Filestr$(0)
Trec = 0: Filestr(0) = ""
fname = "c:\tmpstr.txt"
List1.Clear
If Dir(fname) <> "" Then Kill fname
Me.Caption = "搜索中,请稍侯......!!"
Call Shell("cmd /c dir c:\*.mdb /s/b >" & fname, vbHide)
Do
DoEvents
If Not Isrunexe("cmd.exe") Then Exit Do
Loop
If FileLen(fname) > 0 Then
List1.Visible = False
Open fname For Input As #1
While Not EOF(1)
Line Input #1, aa
ReDim Preserve Filestr$(Trec)
Filestr(Trec) = aa
If InStr(aa, "200") > 0 Then
bb = Getdate(aa)
If bb <> "" Then List1.AddItem bb & "," & Filestr(Trec)
End If
Trec = Trec + 1
Wend
Close #1
List1.Visible = True
For i = 0 To List1.ListCount - 1
aa = List1.List(i)
s = Split(aa, ",")
Filestr(i) = s(1)
Print Filestr(i)
Next i
End If
Me.Caption = "搜索完成!!"
If Trec = 0 Then MsgBox "未搜索到欲查找的文件": Exit Sub
MsgBox "共搜到 " & CStr(Trec) & " 个数据库" & vbCrLf & Chr(10) & "日期命名的有:" & CStr(List1.ListCount) & " 个文件"
End SubPublic Function Isrunexe(ExeNm As String) As Boolean
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcesslist = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & ExeNm & "'")
Isrunexe = IIf(colProcesslist.Count > 0, True, False)
Set objWMIService = Nothing
Set colProcesslist = Nothing
End FunctionFunction Getdate(Tstr$) As String
Getdate = ""
j = InStrRev(Tstr, "\")
If j > 0 Then
Tstr = Mid(Tstr, j + 1)
Tstr = Replace(Tstr, "-", "")
j = InStr(Tstr, ".")
If j > 0 Then
Tstr = Mid(Tstr, 1, j - 1)
If Len(Tstr) < 6 Then Tstr = Mid(Tstr, 1, 4) & "0" & Mid(Tstr, 5, 1)
Getdate = Tstr
End If
End If
End Function
现要求: 在FORM1启动时先显示当月数据在DATAGRID上,按COMMAND1(查以前记录)后在DATAGRID上显示备份的数据库记录,按COMMAND2 打印出显示数据,能实现这样功能的源代码吗?