我有一个访问表,有两个字段:州和城市。国家是独一无二的,城市应该是一样的。
我有一张表显示同一城市的重复状态。我想让重复的城市在州内随机。我有另一张桌子叫出州内的城市。
我目前有:
Washington Seattle
Washington Bellevue
我希望它是:
from
我如何删除重复的城市并将其中一个替换为州内的随机城市,如上例所示?
假设我有一个单独的表格,我可以创建该表格以呼叫州内的所有城市。
我不知道如何解决这个问题。谢谢你的帮助。
答案 0 :(得分:0)
执行此操作的一种可能方法(根据您的评论)是向您的城市表添加两个字段。称之为[Used]和[DateUsed]。使用某种类型的随机函数来挑选你的城市。在使用城市时,将[used]字段更改为true,并将今天的日期放在[Dateused]字段中。使用查询仅拉出标记为False的城市。您可以运行每日查询,任何超过2天的[Dateused]可以清除[used]字段中的真实标志并清除[DateUsed]字段。
dim db as dao.databse
dim rs as dao.recordset
dim sql as string
dim x as integer
x = 0
set db = currentdb
Do While X < 20
sql = "SELECT * FROM [tblcities] WHERE [Used] = false AND stateID = " & some value for stateID
set rs = db.openrecordset(SQL,dbopenDynaset)
if rs.recordcount > 0
rs.movefirst
do while not rs.eof
if randomfunction() = true //just an example, you'll have to come up with the random function on your own.
SQL = "UPDATE [tblCities] SET [Used] = True, [DateUsed] = DATE() WHERE StateID = " & Some Value for StateID & " AND CityName = '" & rs!cityName & "'"
docmd.RunQuery SQL
break do
end if
rs.movenext
loop
end if
set rs = nothing
x = x + 1
loop
set rs = nothing
set db = nothing
(粗略的代码,我确定丢失了一些错字或语法错误,但这并不意味着是一个完整的例子,只是指向你的方向。)