過去ログ

                                Page      83
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ACCESSとORACLEのリンクテーブルについて  しろまる 02/10/28(月) 12:37
   ┗的外れかもしれませんが。  yu-ji 02/10/28(月) 13:28
      ┗Re:的外れかもしれませんが。  しろまる 02/10/28(月) 13:44
         ┗Re:的外れかもしれませんが。  yu- 02/10/28(月) 15:13
            ┗Re:的外れかもしれませんが。  yu-ji 02/10/28(月) 15:52
               ┗Re:的外れかもしれませんが。  しろまる 02/10/28(月) 21:40

 ───────────────────────────────────────
 ■題名 : ACCESSとORACLEのリンクテーブルについて
 ■名前 : しろまる
 ■日付 : 02/10/28(月) 12:37
 -------------------------------------------------------------------------
   どうぞよろしくお願い致します。

windows2000+ORACLE9iで開発を行っております。

下記に現状と、実現したいことを書いております。

(現状)
1.ACCESSにORACLE上のテーブルをリンクテーブル設定している.
2.ACCESSのフォームAの[コンボボックス1]の値集合ソースに
 ORACLE上のテーブル情報を設定している.
3.フォームAを開いて、コンボボックス1を使用するとを
  ”初回”だけ「DSN、ユーザID、パスワード」を入力するように
  GUIが表示される。

(実現したいこと)
上記の3.のGUIを表示させないように、したいです。


WEBで検索した限りでは,下記のようにすれば良いのでは
と思っておりますが、できませんでした。
大変お手数ですが、ご存知の方がいらっしゃったらご教示願えませんでしょうか。
お願い致します。


(やってみたコード)
Sub Form_Load()
Dim DB As DAO.Database
Dim wrkODBC As Workspace
Dim dbs As Database
Dim qdf As QueryDef
Dim sql_str As String

  sql_str = "select * from テーブル名;"
  Set wrkODBC = DBEngine.Workspaces(0)
  Set dbs = wrkODBC.Databases(0)
  Set qdf = dbs.CreateQueryDef("")
  qdf.Connect = "ODBC;DATABASE=HOSYU;UID=ACCESS01;PWD=ACCESS01;DSN=HOSYU;"
  qdf.ReturnsRecords = False
  qdf.ODBCTimeout = 0
End Sub

 ───────────────────────────────────────  ■題名 : 的外れかもしれませんが。  ■名前 : yu-ji  ■日付 : 02/10/28(月) 13:28  -------------------------------------------------------------------------
   ▼しろまる さん:
>windows2000+ORACLE9iで開発を行っております。

>1.ACCESSにORACLE上のテーブルをリンクテーブル設定している.
>2.ACCESSのフォームAの[コンボボックス1]の値集合ソースに
> ORACLE上のテーブル情報を設定している.
>3.フォームAを開いて、コンボボックス1を使用するとを
>  ”初回”だけ「DSN、ユーザID、パスワード」を入力するように
>  GUIが表示される。
>
>(実現したいこと)
>上記の3.のGUIを表示させないように、したいです。

Oracleのバージョンが違うので、的外れだったらすみません。

リンクテーブルを設定する時に、パスワードを設定していなかった
ということではないですか?

自分の環境では、リンクテーブルを設定する時に、パスワードを入力しなかったもの
は上記のような現象になったので。

もし、わざとリンクテーブルを貼る時にパスワードを入力していなかったという
ことであれば(理由があるのであれば)、お役に立てそうにないです(^^;

 ───────────────────────────────────────  ■題名 : Re:的外れかもしれませんが。  ■名前 : しろまる  ■日付 : 02/10/28(月) 13:44  -------------------------------------------------------------------------
   yu-jiさん

ご回答ありがとうございました。

>リンクテーブルを設定する時に、パスワードを設定していなかった
>ということではないですか?

リンクテーブルを張る際には、必ず「DSNとユーザID,パスワード」を
入力します.
しかし、常にリンクを張った状態で(ACCESSのフォーム一覧上に
リンクテーブルが見えている状態)保存して、ACCESSを閉じたり開いたり
しています。

ですので、ACCESSを開いて、リンクテーブルを参照しよう(今回の例ですと
コンボボックスの値ソースに利用したりするとき)とするたびに、
「DSN,ユーザID,パスワード」
の設定を要求されるみたいです。

この設定を自動化したいのですが、どうにもできません。

つたない表現で申しわけありません。。
よろしくお願い致します。

 ───────────────────────────────────────  ■題名 : Re:的外れかもしれませんが。  ■名前 : yu-  ■日付 : 02/10/28(月) 15:13  -------------------------------------------------------------------------
   私の場合もバージョンが違いますが(Access97 Oracle8i)
よろしかったら参考にしてください

リンク先テーブル名 = "" 'リンクを行うOracleのテーブル名(所有者も指定)
リンク後テーブル名 = "" 'Accessにリンクした後のテーブル名(設定しなくてもよい)
DB = ""
PWD = ""
UID = ""
DSN = ""
  
DoCmd.TransferDatabase acLink, "ODBC", "ODBC;DSN=" & DSN & ";UID=" & UID & ";PWD=" & PWD & ";DATABASE=" & DB, acTable, リンク先テーブル名, リンク後テーブル名, False, True

AccessにOracleのテーブルを手動でリンクする際に、パスワードの保存に
クリックしてリンクしないとAccessを起動するたびに毎回パスワードを
聞かれます。

その設定が上記のDoCmdのコードの最後のtrueにあたります。

以前のバージョンですと、このやり方でリンクすれば、パスワードなどは
起動しても聞かれませんでした。

 ───────────────────────────────────────  ■題名 : Re:的外れかもしれませんが。  ■名前 : yu-ji  ■日付 : 02/10/28(月) 15:52  -------------------------------------------------------------------------
   ▼yu- さん:
>AccessにOracleのテーブルを手動でリンクする際に、パスワードの保存に
>クリックしてリンクしないとAccessを起動するたびに毎回パスワードを
>聞かれます。

すみません、記憶違いでした(^^;
リンクを貼る際には、必ずパスワードを入力しなくちゃいけないですね。

パスワード入力後に、リンクを貼るテーブルを選択する画面の所に、パスワードの保存
というチェックボックスがあるので、そのチェックボックスにチェックを入れれば
毎回聞いてこなくなりました。

要はyu-さんが書かれた内容と同じです。(^^;

 ───────────────────────────────────────  ■題名 : Re:的外れかもしれませんが。  ■名前 : しろまる  ■日付 : 02/10/28(月) 21:40  -------------------------------------------------------------------------
   yu- さん、 yu-jiさんありがとうございました。


できました〜♪
Oracle+ACCESSの参考書は少なくて、こんな些細なことでも
随分と、つまずいてしまいました。
教えてくださって、本当にありがとうございました!!

○しろまる○

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 83