![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
SQLServerが利用できない環境にデータを持っていくため、以下のようなシステムを考えております。(テーブルのリンクは不可・手動でのデータのエクスポートは不可)
1.ACCESSのフォームに「データベース名」「テーブル名」を入力し、実行ボタン押下
2.ADOでSQLServerに接続
3.指定のテーブルと同じ構造のテーブルをACCESSに作成
4.SQLServerのデータをACCESSにINSERT
ここで質問なのですが、ACCESSは自分のデータベースとSQLServerのデータベースに同時に接続できますか?
同時接続した場合のACCESS/SQLServerの書き分けはどのようになるのでしょうか。
No.1ベストアンサー
- 回答日時:
普通に同時接続できるかと思います。
ちょっと手元に環境がないので間違いがあるかもしれませんが以下のような感じでしょうか。
ようは各データベース用にそれぞれ変数を用意してあげれば済むことかと。
Dim accessdb As Database
Dim sqldb As ADODB.Connection
Set accessdb = CurrentDb
Set sqldb = New ADODB.Connection
sqldb.open()
それぞれのDBに対して処理する
アドバイスありがとうございます。なるほど、片方はCurrentDBで接続、片方はADOで接続すればよいのですね。この二つを同時に一つのSQL文で扱うことはできるでしょうか?「Insert into accessDB.ユーザーマスタ Select sqldb.ユーザーマスター」みたいな。
No.3
- 回答日時:
#1です。
>この二つを同時に一つのSQL文で扱うことはできるでしょうか?
これはさすがに無理ではないかと思います。
2のお礼で書かれているようにSQLServerのデータをレコードセットに取り、1レコードずつInsertするしかないと思います。
回答ありがとうございます。あれから試行錯誤いたしまして、マクロ→データベース変換でODBCドライバを使用することにより、簡単にテーブルデータを取り込めるようになりました。何度もお返事ありがとうございました。
No.2
- 回答日時:
>ACCESSは自分のデータベース・・に接続できますか?
自分のとはカレントDB?ということですか?それとも他のAccessファイルにADOで接続するということですか?
カレントDBからADOでSQLServerに接続すればカレントDB内で処理できますが。
もしくは#1の方のいうように変数を宣言してカレントDBを変数にセットすればいいのでは。
Dim acdb As Database
Set acdb = CurrentDb のように。
’SQLServerに接続
Dim cnn As New ADODB.Connection
Dim rec As New ADODB.Recordset
' 接続を確立させる。
cnn.Open "Provider=SQLOLEDB;" & _
"Data Source=サーバー名;" & _
"Initial Catalog=サーバ上のデータベース名;", "sa", ""
’SQLを指定してレコードセットを作成する。
rec.Open "select * from テーブル名", cnn, _
adOpenKeyset, adLockOptimistic
他のAccessファイルに接続する場合はProvider=Microsoft.Jet.OLEDB.Jetのバージョン
に変えて接続を確立すれば出来ます。
質問内容と違っていたらゴメンなさい。
回答ありがとうございます。#1さんのお礼欄にも書いたのですが、一つのSQL文で同時に扱うことはできますでしょうか?それともSQLServerのデータをレコードセットに取り、1レコードずつInsertするしかないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access DAOのExecuteメソッドのオプション(RecordsetOptionEnum)に 1 2022/09/19 07:34
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- SQL Server AccessのInsertクエリのあとつづけてDeleteクエリを行いたいがSQLでどう書いたらいい 3 2023/05/27 14:12
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
テーブルリンク リンク元を知りたい
Access(アクセス)
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
-
4
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
5
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
6
SQLの速度をあげるには・・・
Visual Basic(VBA)
-
7
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
8
Accessでブレークポイントを設定してないのに一時停止してしまう
その他(データベース)
-
9
Access サブフォームでの選択行の取得
その他(データベース)
-
10
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
11
Accessのフォーム上でSQLServerのデータを更新・追加する方法
その他(プログラミング・Web制作)
-
12
ACCESSでパススルークエリにパラメータを使用したい
その他(データベース)
-
13
Accessのテーブルデータを一気にVBAで追加したい・・
その他(データベース)
-
14
AccessとSQL Serverの連携について
SQL Server
-
15
別のaccessファイルからデータの抽出
Visual Basic(VBA)
-
16
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
17
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
18
ACCESSでメッセージにクエリ結果を表示なんてできるの?
Access(アクセス)
-
19
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
20
ODBCリンクの際にACCESSでは読み取り専用にしたい!
Oracle
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
drop user できない。ORA-01940
-
ACCESSからSQLServerのデータを...
-
同じPC内のSQLServerにリモート...
-
SQLServer,接続失敗時のエラー...
-
(local)とlocalhostの違い
-
ACCESS VBAでサーバー起動して...
-
SQLServerの接続が突然できなく...
-
ACCESSからのODBC接続のみ応答...
-
functionで別functionを動作さ...
-
IISから起動したEXEがSqlServer...
-
SQLで同じDBに対し2つのコネク...
-
SqlSever2005からSqlServer7.0...
-
telnet接続でPostgreSQLにエク...
-
ADOを利用したODBC、OLEDB経由...
-
PHP5よりデータベースへの接続...
-
DB接続ができなくなって困って...
-
SQLSERVERへのODBC接続について
-
コンピュータ名の変更によってI...
-
Oracle 8i コンマ(,)を含むデ...
-
MSDEまたはSQLServerでReadOnly...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
symfowareへのODBC接続方法
-
ACCESSからのODBC接続のみ応答...
-
ACCESSからSQLServerのデータを...
-
SQLで同じDBに対し2つのコネク...
-
DB接続ができなくなって困って...
-
SQL Serverの移行について
-
ADOを利用したODBC、OLEDB経由...
-
drop user できない。ORA-01940
-
IBM系のDBでIMSに関して
-
Access から SQLserver に接続...
-
SQLServer,接続失敗時のエラー...
-
SQLSERVERへのODBC接続について
-
SQLServerの接続が突然できなく...
-
ACCESS ODBC 接続ダイアログ 非...
-
ACCESS VBAでサーバー起動して...
-
クライアントでの処理が遅い
-
AS/400のデータをMS_ACCESSでも...
-
SQLServer2005 Express リモー...
-
サーバー接続時、ホスト名はIP...
-
データベースへ接続できない
おすすめ情報