手机边亲爱的大家好!
今天我要给大家分享一个示例:统计出某个字符串在某表某字段中出现的次数。
大家先来看一下结果效果图:
先来讲一下原理,其实就是循环数据库中的所有表,然后找模糊查找,找到了就记录表名、表中的字段、统计出现的次数。
知道了原理就可以开始做了,今天我们换个套路,不要再之前一步一步的方式来教大家了,只告诉关键的步骤。
01表
其中,我们要建一张表,用于保存统计的数据,具体的查看截图。
02函数
这次代码只分享给大家一个关键的函数,然后大家自己去调用一下
查找函数
2 3OnErrorGoToSnoop_Err 4 5DimDBAsDatabase 6DimSAsRecordset 7DimTAsRecordset 8DimtdAsTableDef 9DimLAsInteger 10DimFAsInteger 11DimcriteriaAsString 12DimoccAsLong 13 14SetDB=CurrentDb() 15SetS=DB.OpenRecordset("tblSNOOP",DB_OPEN_DYNASET) 16 17 18ForL=0ToDB.TableDefs.Count-1 19 20Settd=DB.TableDefs(L) 21 22 23IfNottd.NameLike"Msys*"Then 24SetT=DB.OpenRecordset(td.Name,DB_OPEN_SNAPSHOT) 25 26DoEvents 27 28ForF=0Totd.Fields.Count-1 29 30 31 32criteria="CStr(''&["&td.Fields(F).Name&"])Like'*"&SnoopFor&"*'" 33T.FindFirstcriteria 34 35IfNot(T.NoMatch)Then 36 37occ=0 38DoWhileNot(T.NoMatch) 39T.FindNextcriteria 40occ=occ+1 41 42Loop 43 44S.AddNew 45S!Occurence=occ 46S!Table=td.Name 47S!Field=td.Fields(F).Name 48S.Update 49 50EndIf 51 52NextF 53 54EndIf 55 56NextL 57Me.frmChild.Form.Requery 58'T.Close 59S.Close 60DB.Close 61 62Snoop_Exit: 63 64 65 66ExitSub 67 68Snoop_Err: 69MsgBoxErr.Description,vbCritical 70ResumeSnoop_Exit 71 72ExitSub 73 74EndSub1PrivateSubSnoop(SnoopForAsString)
03测试
最后一步就是测试了,大家可以将按上面的步骤,在按钮控件的单击事件里来调用上面的函数。
大家要多测试,多试多出错才会进步。
我就知道你“在看”