アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access 2000 VBAでシステム開発を行っております。
Oracle 7 と接続してリンクテーブルを作成しています。

通常は問題なく動作するのですが、
Access のフォーム上にボタンを配置して、あるボタンがクリックされたら、
リンクテーブルの参照先を変更して、リンクテーブルを再作成するといったことを
行おうと考えております。

しかし、ソース上でリンクテーブルの参照先を変更しても、
元の参照先でリンクテーブルが作成されてしまい、大変困っております。

どなたか本現象について分かられる方がいらっしゃいましたらご回答のほど
宜しくお願いいたします。

以下がリンクテーブル作成時のソースになります。

Function Create_odbc_table(str_OraTblName As String, str_mdbTblName As String) As Long

On Error GoTo Create_odbc_table_Err
Create_odbc_table = True

Set DBS = CurrentDb

DBS.TableDefs.Delete Trim(str_mdbTblName)
DBS.TableDefs.Refresh

Set tdfA = DBS.CreateTableDef(Trim(str_mdbTblName))

tdfA.Connect = "ODBC;DSN=" & DSN_NAME & ";UID=" & Oracle_UID & ";DBQ= " & Trim(TNS) & ";ASY=OFF;PWD=" & Oracle_PWD & ";TABLE=" & Trim(str_OraTblName)

tdfA.SourceTableName = Trim(str_mdbTblName)

DBS.TableDefs.Append tdfA

DBS.Close

end function

A 回答 (2件)

こちらではDelete Create しないで Connect に再代入する方法を行っています。


tdf.Connect = <接続文字列>
tdf.Attributes = dbAttachSavePWD
tdf.RefreshLink
Access 2003, postgreSQL または SQLServer で実施しています。
Oracleだとうまくいかないと言うことはないと思います。
どこかで例外が発生していませんか。
    • good
    • 0

> On Error GoTo Create_odbc_table_Err


の飛び先が無いところを見ると、かなり端折ってる?

Deleteは成功してるのかな?
STEP実行して、一行ずつ結果を確認してみては?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!