有很多的地址需要知道他们的邮编怎么办?

有很多的地址需要知道他们的邮编怎么办?,第1张

全国邮政编码数据库(精确到乡镇级)_MS Access数据库文件

http://17163.tomore.com/1/32298.html

用excel也可以,access也可以,整理一下源地址成一个新列或字段,模糊连接一下,剩下的就需要自己以个一个找了。

不管多少个,一次解决。

用excel解决作法简介:

导入excel在该文件中存成一个新的工作簿。

整理数据

其他参考LOOKUP等函数简介。

在这篇文章中使用下面的示例表。

启动 Microsoft Access 并创建新的空白数据库。

在设计视图中创建下面的新表:

Table: PostalCodeExample

------------------------

Field Name: PCode

Data Type: Text

保存 PostalCodeExample 表。

还原前导零缺失

存储在表中,而不是在数字字段中的文本字段中的邮政编码。

请按照以下步骤还原到已存储在数字字段中的邮政编码的前导零:

打开 PostalCodeExample 表中,您只需创建,在数据表视图中,然后为 PCode 字段中输入以下五-和九位邮政编码的记录:

00345

023456789

切换到设计视图的 PostalCodeExample 表。

将数据类型的 PCode 字段更改为数字,并将字段大小属性设置为长型整数。

保存表并将其切换到数据表视图。请注意已删除了前导零。

切换到设计视图的 PostalCodeExample 表和数据类型的 PCode 字段为文本再次更改,以便它可以存储在您的邮政编码中还原的前导零。保存表。

创建基于 PostalCodeExample 表下面的更新查询。

注意: 在此示例中,在更新到行的末尾的下划线 (_) 用作行继续符。

Query Name: RestoreLeadingZeros

Query Type: Update Query

Field: PCode

Table: PostalCodeExample

Update To: IIf(Len([PCode])<6, Format([PCode],"00000"), _

Format([PCode],"000000000"))

运行查询并确认更新时提示您。

保存格式设置邮政编码

输入掩码向导可帮助您创建邮政编码的输入的掩码,在第五位之后的一条短划线存储为原义字符。

如果您忽略输入的掩码,在您 5 位数字的邮政编码,可以避免尾部短划线。

请按照以下步骤创建一个窗体,将以编程方式插入一条短划线时九位 (ZIP + 4) 输入 ZIP 代码:

创建新窗体基于 PostalCodeExample 表使用自动创建窗体: 纵栏式 Microsoft Access 97 和 7.0 中或在 Microsoft Access 2.0 自动创建窗体向导中的向导。

将窗体另存为 frmFormatZIP,然后再将其切换到设计视图。

在视图菜单上,单击代码。

在窗体的类模块的声明部分中键入下面一行:

模糊 mvarZip

键入以下过程:

Private Sub PCode_AfterUpdate()

If IsEmpty(mvarZip) Then Exit Sub

If Len(mvarZip) = 6 Then

Screen.ActiveControl = Left(mvarZip, Len(mvarZip)-1)

Else

Screen.ActiveControl = Format(mvarZip, "@@@@@-@@@@")

End If

mvarZip = Empty

End Sub

Private Sub PCode_BeforeUpdate(Cancel As Integer)

Dim ctlZip As Control

Dim strTitle As String

Dim strMsg As String

Const cYesNoButtons = 4

Const cNoChosen = 7

mvarZip = Empty

Set ctlZip = Screen.ActiveControl

If ctlZip Like "#####-####" Or ctlZip Like "#####" Then

Exit Sub

ElseIf ctlZip Like "#########" Or ctlZip Like "#####-" Then

mvarZip = ctlZip

Else

strTitle = "Not a ZIP Code."

strMsg = "Save as entered?"

If MsgBox(strMsg, cYesNoButtons, strTitle) = cNoChosen Then

Cancel = True

End If

End If

End Sub

该窗体切换到窗体视图并添加 Pcode 字段中的以下新记录:

01234

987651011

WA1 1DP

1010

请注意输入 WA1 1DP 和 1010年时,会提示您是否要保存输入的邮政编码。

保存并关闭 frmFormatZIP 窗体,然后在数据表视图中打开的 PostalCodeExample 表。

从现有的邮政编码中删除尾部短划线

可以使用更新查询来删除现有的邮政编码的尾部短划线。

在数据表视图中打开的 PostalCodeExample 表和 Pcode 字段中输入以下记录:

12345-

987654321

12345-6789

创建基于 PostalCodeExample 表中的下列更新查询:

Query Name: RemoveTrailingDashes

Query Type: Update Query

Field: [PCode] Like "#####-"

Criteria: True

Field: PCode

Table: PostalCodeExample

Update To: Left([PCode], Len([PCode])-1)

运行查询并确认更新时提示您。

在数据表视图中打开的 PostalCodeExample 表。

在现有的九位中插入短划线 (ZIP + 4) ZIP 代码

您可以使用更新查询在九位邮政编码中插入缺少的短划线。

在数据表视图中打开的 PostalCodeExample 表和 Pcode 字段中输入以下记录:

12345

987654321

12345-6789

创建基于 PostalCodeExample 表下面的更新查询:

Query Name: InsertDashes

Query Type: Update Query

Field: [PCode] Like "#########"

Criteria: True

Field: PCode

Update To: Format([PCode],"@@@@@-@@@@")

运行查询并确认更新时提示您。

在数据表视图中打开的 PostalCodeExample 表。

在报表中使用,或供其他应用程序使用的格式的邮政编码

如果它们已被保存在所需的格式,您可以使用您的 Microsoft Access 报表或另一个应用程序 (如 Microsoft Word) 中的邮政编码不做任何修改。在本文的前面部分说明如何更改您现有的邮政编码格式存储在表中的方式。但是,如果您想要设置邮政编码格式而不会更改其存储的方式,您可以按照下列步骤临时创建您想要使用的邮政编码格式。

请按照以下步骤选择查询中显示带格式的邮政编码:

在数据表视图中打开的 PostalCodeExample 表和 PCode 字段中输入以下记录:

54321

12345-

987654321

12345-6789

创建以下查询 PostalCodeExample 表为基础的。

注意: 在此示例中,在字段行的末尾的下划线 (_) 用作行继续符。当您创建此查询时,从一行末尾删除下划线。

Query Name: FormatZIPCodes

Query Type: Select Query

Field: Postal Code: IIf([PCode] Like "#####-", Left([PCode], _

Len([PCode])-1), IIf([PCode] Like _

"#########",Format([PCode], "@@@@@-@@@@"), _

[PCode]))

运行该查询。请注意将不会显示尾部短划线和九位邮政编码中在第五位之后会出现一个破折号。创建报表或与其他应用程序共享数据时,可以使用此查询 (而不是您的表。此选择查询显示格式化的邮政编码,但它不会改变您表中的现有 ZIP 代码数据。

不同的数据库对字符串的连接使用的运算符号可能不同,有的是+,有的是&,有的是||,有的是使用concate函数,下面是+运算的例子:

updateabcset字段名称='d'+字段名称


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9887501.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存