メールマガジン【アクセスで作るシリーズ】


バックナンバー 【住所録ソフト編】 Vol.20
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

    ACCESSで作るシリーズ  【住所録ソフト編】

    発 行 : Yoshihisa Fukuda          2002.04.20 Vol.20

■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□
--------------------------------------
今回から、郵便番号データ取り込みと更新を作成します。

まず最初に、更新履歴を残すため、更新履歴テーブルを作成します。

その後、郵便番号データ取り込みと更新のプログラムを作成します。

このプログラムが動作するためには、Vol.18で行ったインポート定義ファイルの作成
と共通ライブラリの参照設定が必要です。

Vol.18は無効としたため、再度記載してありますが、Vol.18で行ったままの方は、
改めて行う必要はありません。

Vol.17の状態に戻してから、やられている方は、行って下さい。
______________________________________
 □ 郵便番号データ更新履歴テーブルを作成する。

 郵便番号データを更新した際の情報を履歴として持つためのテーブルを作成します。

1.住所録ソフトのデータベース[Address.mdb]を開きます。

2.データベースウィンドウの[テーブル]タブで、[新規作成]ボタンを押下します。

3.[テーブルの新規作成]ダイアログで[デザインビュー]を選択し、[OK]ボタンを
  押下します。

4.[テーブル1:テーブル]と言うウィンドウが開いたら、フィールド名、データ型、
  説明を以下のように設定します。
   _________________________
   フィールド名  データ型     説明      
   -------------------------
   ID       オートナンバー型 ID      
   Code      数値型      地方公共団体コード
   OldZipCode   テキスト型    旧郵便番号   
   ZipCode     テキスト型    郵便番号    
   AddrKana1    テキスト型    都道府県名(カナ)
   AddrKana2    テキスト型    市区町村名(カナ)
   AddrKana3    テキスト型    町域名(カナ) 
   Address1    テキスト型    都道府県名   
   Address2    テキスト型    市区町村名   
   Address3    テキスト型    町域名     
   Flg1      Yes/No型     
   Flg2      Yes/No型     
   Flg3      Yes/No型     
   Flg4      Yes/No型     
   Flg5      数値型      
   Flg6      数値型      
   LatestDate   日付/時刻型   データ最新日付
   ExecuteDate   日付/時刻型   処理日
   Status     数値型      処理結果
   ━━━━━━━━━━━━━━━━━━━━━━━━━

5.次に各フィールドに対して、プロパティを設定していきます。

 (1)[フィールドサイズ]と[標題]を以下のように設定しましょう。
   _______________________
   フィールド名   サイズ   標題      
   -----------------------
   ID        長整数型  ID      
   Code       長整数型  地方公共団体コード
   OldZipCode    5      旧郵便番号   
   ZipCode      7      郵便番号    
   AddrKana1     20     都道府県名(カナ)
   AddrKana2     40     市区町村名(カナ)
   AddrKana3     100     町域名(カナ) 
   Address1     20     都道府県名   
   Address2     40     市区町村名   
   Address3     100     町域名     
   Flg5       整数型   
   Flg6       整数型   
   Status      長整数型  処理結果
   ━━━━━━━━━━━━━━━━━━━━━━━

6.最後に主キーを設定します。
  IDフィールドを選択した状態で、メニューの[編集]-[主キー]を選択します。
  するとフィールド名の左側の列に鍵のマークが付きます。
  これで主キーの設定が完了です。

7.全ての設定が終わったら、テーブルを保存しましょう。
  メニューの[ファイル]-[名前を付けて保存/エクスポート]を選択します。
  [名前を付けて保存]ダイアログで[カレントデータベース]を選び[新しい名前]
  に[ZipCodeLogTable]と入力して[OK]ボタンを押します。
  保存出来たら、テーブルデザインのウィンドウの右上の[×]ボタンを押して
  ウィンドウを閉じます。
______________________________________
 □ ファイル選択ボタンのプログラムを作成する。

1.住所録ソフトのデータベース[Address.mdb]を開きます。

2.データベースウィンドウの[フォーム]タブを選択します。

3.前回作成した郵便番号データ取り込み・更新フォーム[ZipUpdateForm]を選択し
  [デザイン]ボタンを押下します。

4.2つのファイル選択ボタン([FileSel1Btn]と[FileSel2Btn])の[クリック時]
  にコードを記述します。

 (1)1つ目(上側)のファイル選択ボタン[FileSel1Btn]を選択し、[クリック時]
    プロパティに[イベントプロシージャ]を設定して、右端の[...]ボタンを
    押下します。

 (2)モジュールウィンドウが開いたら、Private Sub FileSel1Btn_Click() と
    End Sub の間に、以下のコードを記述します。

  Dim FILENAME  As String
  Dim InitDir As String

  InitDir = "C:\"

  If OpenDialog(Me.Hwnd, FILENAME, InitDir, "*.CSV", "開く") Then
    Me.FileName1 = FILENAME
  End If

    コードが記述できたら、モジュールウィンドウを閉じます。

 (3)2つ目(下側)のファイル選択ボタン[FileSel2Btn]を選択し、[クリック時]
    プロパティに[イベントプロシージャ]を設定して、右端の[...]ボタンを
    押下します。

 (4)モジュールウィンドウが開いたら、Private Sub FileSel2Btn_Click() と
    End Sub の間に、以下のコードを記述します。

  Dim FILENAME  As String
  Dim InitDir As String

  InitDir = "e:\"
  
  If OpenDialog(Me.Hwnd, FILENAME, InitDir, "*.CSV", "開く") Then
    Me.FileName2 = FILENAME
  End If

5.コードが記述できたら、モジュールウィンドウを閉じます。
______________________________________
 □ 取込・更新ボタンのプログラムを作成する。

1.次に、取込・更新ボタン[ExecuteBtn]を選択し、[クリック時]プロパティに
  [イベントプロシージャ]を設定して、右端の[...]ボタンを押下します。

2.モジュールウィンドウが開いたら、Private Sub ExecuteBtn_Click() と
  End Sub の間に、以下のコードを記述します。

  Select Case Me.OpenArgs
    Case 1
      If ImportData Then
        MsgBox "郵便番号データ取込を中断しました。"
      Else
        MsgBox "郵便番号データ取込が完了しました。"
      End If
    Case 2
      If UpdateData Then
        MsgBox "郵便番号データ更新を中断しました。"
      Else
        MsgBox "郵便番号データ更新が完了しました。"
      End If
    Case Else
      MsgBox "パラメータエラー"
  End Select

3.ここまで出来たらモジュールウィンドウを閉じて、フォームを保存します。
  まだ、プログラムは残っていますが、ちょっと長いので次回に持ち越します。
  次回は、この続きのプログラム作成です。
______________________________________
 □ インポート定義ファイルを作成する。

 これは、Vol.18で一度行いましたが、Vol.18は無効としましたので、再度行います。
 Vol.18でインポート定義ファイルを作成したままの方は、ここで再度作成する必要
 はありません。

 【インポート定義ファイル作成手順】

 1.データベースウィンドウで[テーブル]タブを開きます。

 2.メニューの[ファイル]-[外部データの取り込み]-[インポート]を選択します。

 3.[インポート]ダイアログが開いたら、左下にある[ファイルの種類]を[テキ
   ストファイル]にします。

 4.解凍したCSVファイルを指定して、[インポート]ボタンを押下します。

 5.[テキストインポートウィザード]と言うダイアログが開いたら、[データ形式]
   の所が[区切り記号付き-カンマやタブなどでフィールドが区切られている]
   が選択してある事を確認して[次へ]ボタンを押下します。

 6.[フィールド区切り記号]が[カンマ]、[先頭行をフィールド名として使う]
   にチェック[無し]、[テキスト区切り記号]が["]になっている事を確認して
   [次へ]ボタンを押下します。

 7.[データを保存する場所を選択して下さい]の所で[次のテーブルに保存する]
   を選択して、その後ろのコンボボックスを[ZipCodeTable]にして[次へ]ボタ
   ンを押下します。

 8.最後のページまできたら、テキストインポートウィザードの左下にある[設定]
   ボタンを押下します。

 9.インポート定義のダイアログが出たら、右側の上から3番目の[保存]ボタンを
   押下します。

 10.インポート/エクスポート定義の保存ダイアログが出たら、定義名に
   [郵便番号データ インポート定義]と入力し[OK]ボタンを押下します。

 11.[インポート定義]ダイアログと[テキストインポートウィザード]をどちらも
   [キャンセル]ボタンで終了します。
______________________________________
 □ 共通ライブラリの参照設定を行う。

 これも、Vol.18で一度行いましたが、Vol.18は無効としましたので、再度行います。
 Vol.18で参照設定を登録したままの方は、ここで再度設定する必要はありません。

 【共通ライブラリ使用手順】

 1.ホームページのメールマガジンのページから共通ライブラリをダウンロード
   する。
  (サンプルMDBをダウンロードされる方は、その中にも含まれています)

 2.ダウンロードしたファイルは自己解凍ファイルになっていますので、解凍し
   共通ライブラリ(ComSub.mde)を住所録MDBがあるフォルダに入れます。

 3.住所録MDBを開き、モジュールウィンドウの状態でメニューの[ツール]-
   [参照設定]を選択し、参照設定ダイアログが表示されたら、参照ボタンを押下
   します。

 4.ファイルの参照ダイアログで左下のファイルの種類を[MDEファイル]にして
   先ほど解凍した共通ライブラリ(ComSub.mde)を選択し[OK]ボタンを押下
   します。

 5.参照設定ダイアログも[OK]ボタンを押下して終了すれば、共通ライブラリが
   使用可能な状態となります。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□

◇ ACCESSで作るシリーズ 【住所録ソフト編】
◇ 発 行 元  :Yoshihisa Fukuda(福田 義久)
◇ ご意見・ご要望
  ご質問等   :fukud@nifty.com

◇ このメールマガジンは、インターネットの本屋さん『まぐまぐ』を利用して発行
  しています。(まぐまぐID:0000077071)
◇ バックナンバー:http://homepage2.nifty.com/f-soft/
◇ 登録・解除  :http://homepage2.nifty.com/f-soft/

 Copyright(C) 2001-2002 Yoshihisa Fukuda All rights reserved.

◇転載について
 このメールマガジンの無断転載などは、一切禁止です。
 転載をご希望の方は、事前にメールで連絡をください。
◇免責
 このメールマガジン及びホームページの内容による、いかなる損害、障害などに
 関して発行者は一切の責任を負いません。
 掲載広告についても同様です。
______________________________________
■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□