Office中国论坛/Access中国论坛

标题: 表1详细省市街道地址,表2标准城市名称,如何查询使表1明细后自动生成标准城市名称? [打印本页]

作者: lihongbin    时间: 2011-12-22 17:14
标题: 表1详细省市街道地址,表2标准城市名称,如何查询使表1明细后自动生成标准城市名称?
本帖最后由 lihongbin 于 2011-12-22 17:40 编辑

谢谢大家,初来乍到,刚刚开学。
表1详细省市街道地址,表2标准城市名称,如何设计查询,使查询结果显示为表1明细各字段加对应的标准城市名称字段。
作者: Henry D. Sy    时间: 2011-12-22 23:20
[attach]47775[/attach]查询也许比较麻烦,用ado吧
  1. Public Sub FindCity()
  2.     Dim rs As New ADODB.Recordset
  3.     Dim rst As New ADODB.Recordset
  4.     Dim cnn As New ADODB.Connection

  5.     Dim lngP As Long
  6.     Set cnn = CurrentProject.Connection

  7.     rs.Open "B", cnn, adOpenKeyset, adLockReadOnly

  8.     Do While Not rs.EOF
  9.         rst.Open "A", cnn, adOpenKeyset, adLockOptimistic
  10.         Do While Not rst.EOF
  11.             lng = InStr(rst.Fields(1), rs.Fields(0))
  12.             If lng <> 0 Then
  13.                 rst.Fields(2) = rs.Fields(0)
  14.                 rst.Update
  15.             End If
  16.             rst.MoveNext
  17.         Loop
  18.         rst.Close
  19.         rs.MoveNext
  20.     Loop
  21.     DoCmd.OpenTable "A"
  22.     rs.Close
  23.     Set rs = Nothing
  24.     Set rst = Nothing
  25.     Set cnn = Nothing

  26. End Sub
复制代码

作者: Henry D. Sy    时间: 2011-12-22 23:32
查询的缺点就是会产生笛卡尔积
下面为了方便写语句,把你的两个表分别改为a,b
  1. SELECT a.详细地址, b.城市标准名称
  2. FROM a, b
  3. WHERE (((InStr([详细地址],[城市标准名称]))>0));
复制代码

作者: lihongbin    时间: 2011-12-23 17:12
{:soso_e179:}谢谢版主{:soso_e100:}。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3