手机边亲爱的大家好!
今天我要给大家分享一个示例:统计出某个字符串在某表某字段中出现的次数。
大家先来看一下结果效果图:
先来讲一下原理,其实就是循环数据库中的所有表,然后找模糊查找,找到了就记录表名、表中的字段、统计出现的次数。
知道了原理就可以开始做了,今天我们换个套路,不要再之前一步一步的方式来教大家了,只告诉关键的步骤。0
1表
其中,我们要建一张表,用于保存统计的数据,具体的查看截图。
0
2函数
这次代码只分享给大家一个关键的函数,然后大家自己去调用一下
查找函数
1Private Sub Snoop(SnoopFor As String) 2 3 On Error GoTo Snoop_Err 4 5 Dim DB As Database 6 Dim S As Recordset 7 Dim T As Recordset 8 Dim td As TableDef 9 Dim L As Integer10 Dim F As Integer11 Dim criteria As String12 Dim occ As Long1314 Set DB = CurrentDb()15 Set S = DB.OpenRecordset("tblSNOOP", DB_OPEN_DYNASET)161718 For L = 0 To DB.TableDefs.Count - 11920 Set td = DB.TableDefs(L)212223 If Not td.Name Like "Msys*" Then24 Set T = DB.OpenRecordset(td.Name, DB_OPEN_SNAPSHOT)2526 DoEvents2728 For F = 0 To td.Fields.Count - 129303132 criteria = "CStr('' & [" & td.Fields(F).Name & "]) Like '*" & SnoopFor & "*'"33 T.FindFirst criteria3435 If Not (T.NoMatch) Then3637 occ = 038 Do While Not (T.NoMatch)39 T.FindNext criteria40 occ = occ + 14142 Loop4344 S.AddNew45 S!Occurence = occ46 S!Table = td.Name47 S!Field = td.Fields(F).Name48 S.Update4950 End If5152 Next F5354 End If5556 Next L57 Me.frmChild.Form.Requery58 ' T.Close59 S.Close60 DB.Close6162Snoop_Exit:63646566 Exit Sub6768Snoop_Err:69 MsgBox Err.Description, vbCritical70 Resume Snoop_Exit7172 Exit Sub7374End Sub0
3测试
最后一步就是测试了,大家可以将按上面的步骤,在按钮控件的单击事件里来调用上面的函数。
大家要多测试,多试多出错才会进步。
我就知道你“在看”
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。