元・天津駐在員が送るエッセイ

中国と日本、それをつなぐ言語について、一緒に考えましょう。

全体表示

[ リスト ]

FileMaker 製品は 32 ビットアプリケーションである事が分かりました。
今回購入したWindows Server 2008 R2は、64ビット版しか販売されていない。
と言うことで、ODBC設定をするには、
●64 ビット版の Windows 環境で、FileMaker を xDBC のホストとして使用する場合には、FileMaker Pro をデフォルトの「Program Files (x86)」ディレクトリではないディレクトリにインストールします。(64 ビット版の Windows 環境には、2つの「Program Files」ディレクトリがありますが、「Program Files」ディレクトリにインストールすることはできませんので、別途、インストールディスクのルート上などに「FileMaker」ディレクトリを作成し、その中にインストールを行います。)
●64 ビット版の Windows 環境で、FileMaker から外部 ESS データソースを使用する場合には、32 ビット版の ODBC Data Source Administrator を使用しないと設定した DSN 等を使うことができませんので、C:\Windows\SysWOW64\ 内にある odbcad32.exe を起動して DSN を設定します。
が必要である。

ODBCの設定が済んだらデータを流し込むデータベースをFileMakerで作成する。
今回設定するのは、毎日同じデータを定時に更新する設定。

ExcelVBAを開くと、自動処理がはじまり
まず、基幹システムのデータをExcelに読み込む
※この設定は、秘密
そして、続けて、FileMakerに登録してあるデータを全削除
最後に、Excelに読み込んだデータをFileMakerに流し込む
というVBAを作成する。最初から最後までの処理を一気に処理する。

というこことで、まず、FileMakerのデータベースに有るデータを全部削除するVBAを作成。
最後にご紹介している「FileMaker実践データベースシステム」を参考にさせていただいた。
Option Explicit

'ODBC接続 プライベート定数宣言
Private Const strConnectionDriver       As String = "FileMaker ODBC"
Private Const strConnectionHost         As String = "localhost" 'ホスト名又はIPアドレス
Private Const strConnectionPort         As String = "2399"

Sub ALL_DELETE()

    'オブジェクト変数宣言と初期化
    Dim objConnection           As Object:  Set objConnection = CreateObject("ADODB.Connection")

    '変数宣言と初期化
    Dim strConnectionUserID     As String:  strConnectionUserID = "idno"
    Dim strConnectionPassword   As String:  strConnectionPassword = "password"
    Dim strConnectionDatabase   As String:  strConnectionDatabase = "database_mei"
    Dim strConnectionTable      As String:  strConnectionTable = "table_mei"
    Dim strSQLQuery             As String:  strSQLQuery = "DELETE FROM " & strConnectionTable

    'エラー処理開始
    On Error GoTo Error_Transaction
    
    'ODBC接続文字列定義
    objConnection.ConnectionString = "DRIVER={" & strConnectionDriver & "};" & _
                                     "HST=" & strConnectionHost & ";" & _
                                     "PRT=" & strConnectionPort & ";" & _
                                     "UID=" & strConnectionUserID & ";" & _
                                     "PWD=" & strConnectionPassword & ";" & _
                                     "SDSN=" & strConnectionDatabase & ";"
    'ODBC接続オープン
    objConnection.Open
    
    'トランザクション開始
    objConnection.BeginTrans


'        SQL実行 DELETE FROM <テーブル> WHERE <照合フィールド> = <照合値>
        objConnection.Execute strSQLQuery

'        コミット
        objConnection.CommitTrans
'

Finished:
    
    'ODBC接続クローズ
    objConnection.Close
    
    'オブジェクト変数解放
    Set objConnection = Nothing
    
Exit Sub

Error_Transaction:

    ' ロールバック
    objConnection.RollbackTrans
    
    '終了メッセージ生成 エラー発生時
    lngResultMessage = "Error:" & Err.Number & vbCrLf & Err.Description
    lngResultArgument = vbOKOnly + vbDefaultButton1 + vbCritical
    
    GoTo Finished

End Sub





転載元転載元: 素人が使えるExcel VBA と FileMaker


.
shi**per
shi**per
男性 / O型
人気度
Yahoo!ブログヘルプ - ブログ人気度について

ブログバナー

よく行くブログ

哲学・思想系

中国人

中国駐在(北方)

中国駐在(南方)

中国以外

日本 関東

日本 中部・北陸

日本 関西

日本 九州

過去の記事一覧

スマートフォンで見る

モバイル版Yahoo!ブログにアクセス!

スマートフォン版Yahoo!ブログにアクセス!

よしもとブログランキング

もっと見る

プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事