1

First_Name、Last_Name MIで設定されたPATRN_NAMEというフィールドを持つテーブルがあります

例:

スミス、ジェームズ・M

ジョーンズ、クリス J.

フィールドを FIRST_NAME、LAST_NAME、MI フィールドに分割しようとしています。これについて質問したところ、誰かが Split() を使用して LAST_NAME フィールドを取得するのを手伝ってくれました。ただし、FIRST_NAME に Split() 関数を使用しようとすると、フィールドの命名規則に従っていないレコードがフィールドにあり、代わりに次のようになるため、機能しません。ニューヨーク市"。

私のコードがこれらのタイプの名前に遭遇すると、rst!FIRST_NAME = Split(Trim(Split(rst!PATRN_NAME, ",")(1)), " " を使用している行に「添え字が範囲外です」というエラーがスローされます。 )(0)。ほとんどのフィールドで標準の命名規則に従っているデータに対してのみコードを実行するにはどうすればよいですか?

Function Change_Name()

Dim dbs As DAO.Database
Dim rst As DAO.Recordset

Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Active Patrons", dbOpenDynaset)

rst.MoveFirst

Do While Not rst.EOF

    rst.Edit
    rst!LAST_NAME = Split(rst!PATRN_NAME, ",")(0)
    rst!FIRST_NAME = Split(Trim(Split(rst!PATRN_NAME, ",")(1)), " ")(0)
    rst.Update
    rst.MoveNext

Loop
End Function
4

2 に答える 2

0

フィールドにコンマがない場合、Last_name は Patrn_name と等しいので、

rst!last = 分割()....

if rst!last <> rst!patrn_name) then rst!first = split()....

于 2013-08-07T18:44:20.887 に答える