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 |
▼しろまる さん: >windows2000+ORACLE9iで開発を行っております。 >1.ACCESSにORACLE上のテーブルをリンクテーブル設定している. >2.ACCESSのフォームAの[コンボボックス1]の値集合ソースに > ORACLE上のテーブル情報を設定している. >3.フォームAを開いて、コンボボックス1を使用するとを > ”初回”だけ「DSN、ユーザID、パスワード」を入力するように > GUIが表示される。 > >(実現したいこと) >上記の3.のGUIを表示させないように、したいです。 Oracleのバージョンが違うので、的外れだったらすみません。 リンクテーブルを設定する時に、パスワードを設定していなかった ということではないですか? 自分の環境では、リンクテーブルを設定する時に、パスワードを入力しなかったもの は上記のような現象になったので。 もし、わざとリンクテーブルを貼る時にパスワードを入力していなかったという ことであれば(理由があるのであれば)、お役に立てそうにないです(^^; |
yu-jiさん ご回答ありがとうございました。 >リンクテーブルを設定する時に、パスワードを設定していなかった >ということではないですか? リンクテーブルを張る際には、必ず「DSNとユーザID,パスワード」を 入力します. しかし、常にリンクを張った状態で(ACCESSのフォーム一覧上に リンクテーブルが見えている状態)保存して、ACCESSを閉じたり開いたり しています。 ですので、ACCESSを開いて、リンクテーブルを参照しよう(今回の例ですと コンボボックスの値ソースに利用したりするとき)とするたびに、 「DSN,ユーザID,パスワード」 の設定を要求されるみたいです。 この設定を自動化したいのですが、どうにもできません。 つたない表現で申しわけありません。。 よろしくお願い致します。 |
私の場合もバージョンが違いますが(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にあたります。 以前のバージョンですと、このやり方でリンクすれば、パスワードなどは 起動しても聞かれませんでした。 |
▼yu- さん: >AccessにOracleのテーブルを手動でリンクする際に、パスワードの保存に >クリックしてリンクしないとAccessを起動するたびに毎回パスワードを >聞かれます。 すみません、記憶違いでした(^^; リンクを貼る際には、必ずパスワードを入力しなくちゃいけないですね。 パスワード入力後に、リンクを貼るテーブルを選択する画面の所に、パスワードの保存 というチェックボックスがあるので、そのチェックボックスにチェックを入れれば 毎回聞いてこなくなりました。 要はyu-さんが書かれた内容と同じです。(^^; |
yu- さん、 yu-jiさんありがとうございました。 できました〜♪ Oracle+ACCESSの参考書は少なくて、こんな些細なことでも 随分と、つまずいてしまいました。 教えてくださって、本当にありがとうございました!! ○しろまる○ |