質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.32%
SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

2回答

138閲覧

MS ACCESSで SQLServer上のテーブルが既に公開されている(ODBC)が 接続定義を変更したい

saya24

総合スコア250

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2025/03/15 13:15

実現したいこと

添付の画像は ACCESSで SQLServer上のあるテーブルが リンクテーブルとして 閲覧できる状況を表しています。MSACCESS

このリンクテーブルにマウスを充てると、ツールチップテキストが現れますが、この接続情報を今回かえたいです。
SQLServe上のアカウント管理が従来まで 非常にひどかったのですが、今回ODBCで接続・公開する範囲を狭めようと 別アカウントを手配することになりました。

発生している問題・分からないこと

ツールチップテキストの内容が どこから表示されているかわからなくて 変更方法がわかりません

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

該当記事は見つけられませんでした。

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ODBCで接続・公開する範囲を狭めようと 別アカウントを手配することになりました。

このリンクテーブルにマウスを充てると、ツールチップテキストが現れますが、
この接続情報を今回かえたいです。

単にテーブルの再リンクを実行したいだけなら
リンクテーブルマネージャーを使用なさればよいでしょう。

何らかのタイミングや条件に応じてリンク先を動的に変更するプログラムを
VBAで作成したい、ということであれば cx20 さんが例示されたように
DAO.TableDef オブジェクトを使用なさればよいでしょう。

投稿2025/03/17 00:18

sk.exe

総合スコア1040

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Access で SQL Server ヘリンクテーブルを貼る方法としていくつかありますが、簡単なのは 下記 VBA で行う方法かと思います。

■ Access でリンク テーブルのSQL Serverへの DSN レス接続を作成する方法
https://learn.microsoft.com/ja-jp/office/troubleshoot/access/create-dsn-less-connection-linkted-table

vba

1Sub Test() 2 Dim stLocalTableName As String 3 Dim stRemoteTableName As String 4 Dim stServer As String 5 Dim stDatabase As String 6 Dim stUsername As String 7 Dim stPassword As String 8 9 stLocalTableName = "dbo_テーブル名" 10 stRemoteTableName = "dbo.テーブル名" 11 stServer = "サーバー名" 12 stDatabase = "データベース名" 13 stUsername = "ユーザー名" 14 stPassword = "パスワード名" 15 16 AttachDSNLessTable stLocalTableName, stRemoteTableName, stServer, stDatabase, stUsername, stPassword 17End Sub 18 19Function AttachDSNLessTable(stLocalTableName As String, stRemoteTableName As String, stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String) 20 On Error GoTo AttachDSNLessTable_Err 21 Dim td As TableDef 22 Dim stConnect As String 23 24 For Each td In CurrentDb.TableDefs 25 If td.Name = stLocalTableName Then 26 CurrentDb.TableDefs.Delete stLocalTableName 27 End If 28 Next 29 30 If Len(stUsername) = 0 Then 31 '//Use trusted authentication if stUsername is not supplied. 32 stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes" 33 Else 34 '//WARNING: This will save the username and the password with the linked table information. 35 stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUsername & ";PWD=" & stPassword 36 End If 37 38 Set td = CurrentDb.CreateTableDef(stLocalTableName, dbAttachSavePWD, stRemoteTableName, stConnect) 39 CurrentDb.TableDefs.Append td 40 AttachDSNLessTable = True 41 42 Exit Function 43 44AttachDSNLessTable_Err: 45 AttachDSNLessTable = False 46 MsgBox "AttachDSNLessTable encountered an unexpected error: " & Err.Description 47 48End Function

投稿2025/03/15 16:36

cx20

総合スコア4664

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.32%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問