Access初心者です。Access2010を使用しています。
既存の個人用に作られたAccessシステムをネットワークドライブに移し共有しようとしています。
それに伴いテーブル分割して、バックエンドDBにしました。
既存機能でVBAからExcel2010ブックをインポートしているのですが、DoCmd.TransferSpreadsheet
の処理はエラーとはならないもののテーブルが更新されません。
msdnのTransferSpreadsheetの解説に「カレントデータベースに対すメッソッド」と書かれているので、バックエンドDBはカレント扱いされないのかも?っと思っています。
これってやっぱり出来ないものなのでしょうか?
TransferSpreadsheetの記述でデータベースをしていするなどで解決できるのでしたら書き方を教えて下さい。
宜しくお願いします。
No.2ベストアンサー
- 回答日時:
現在の構造がフロントエンドにはバックエンド側のテーブルへのリンクのみが存在していて、バックエンド側にマスターの仮テーブルがあるなら、TransferSpreadsheetの処理は、バックエンド側で行うべきです。
どうしても、フロント側から行いたいなら、
1.それこそ仮テーブルにいったん格納して
2.バックエンドのマスターテーブルのデータを削除
3.バックエンドのマスターテーブルにインサート
4.仮テーブルのデータを削除
などの手順を取れば、できると思います。
まあ、個人的な経験からするとアクセスのバックエンド分離もユーザー数が多いと、時々不思議なことが起こるから、バックエンドだけでもSQLServerなどの普通のdb(とりあえずexpress でいいから)に更新することを考えておいたほうが良いと思います。
回答は読んでいたんですがお礼が遅くなり失礼しました。
やはり出来ないということですね。
結局、フロントエンド側のローカルに一時テーブルを置くことで解決しました。
バックエンドのDBをSQLServerなどの普通のdb変える。
アドバイス有難うございます。
参考にします。
No.1
- 回答日時:
インポートっていうのはその時点のデータを取り込むっていう意味ですので、エクセルを更新してもアクセス側は更新されません。
エクセルにADO接続するのは可能ですけど、、、
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub0 …
アクセスを使っていながら、エクセルをデータソースとする意味はないと思います。
遅いし、壊れる可能性高いし、何起こるかわかんないし、、、怖すぎます。
早速の回答ありがとうございます。
質問が悪かったかも知れません。
エクセルと連動させてアクセスを更新しようとはしていません。
エクセルデータを一旦アクセス(一時的なテーブル)に取り込んでからマスターテーブルに反映するのですが、この一時的なテーブルにインポートされないという事象です。
これまでローカルの環境では問題無かったのが、テーブル分割してリンクテーブルになり実体が別DBになって出来なくなったと理解すべきなんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Visual Basic(VBA) Access VBAから使用したExcelプロセスを閉じる方法について 4 2022/06/08 17:50
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
あってますか?SQL
-
テーブル名が可変の場合のクエ...
-
既存データをINSERT文にして出...
-
ACCESS クエリーでソートの不具合
-
SQLで、Join句で結合したテ...
-
ExcelのVLOOKUP関数の動作をMyS...
-
2つのテーブルをLIKE演算子のよ...
-
結合したテーブルをSUMしたい
-
ADO+ODBCでテーブルに接続する...
-
指定した年に在籍していた社員...
-
ACCESSのVBAにてExcelに行...
-
ACCESS-VBAでEXCEL出力
-
DB、キャストとインサートを...
-
Access特定のテーブルを編集不...
-
在庫管理のデータベース
-
Access 別のDBに対してDlookup...
-
AccessとSQL Serverの連携について
-
副問合せを使わずにUNIONと同様...
-
同一テーブル内での比較(最新...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【SQL】他テーブルに含まれる値...
-
既存データをINSERT文にして出...
-
SQLで、Join句で結合したテ...
-
結合したテーブルをSUMしたい
-
テーブル名が可変の場合のクエ...
-
Accessの構成をコピーしたい
-
ACCESSのVBAにてExcelに行...
-
ExcelのMatch関数のようなもの...
-
ACCESS クエリーでソートの不具合
-
ExcelのVLOOKUP関数の動作をMyS...
-
データ無し時は空白行にしたい...
-
2つのテーブルをLIKE演算子のよ...
-
同一テーブル内での比較(最新...
-
ADO+ODBCでテーブルに接続する...
-
複数のテーブルからデータを取...
-
PRIMARY KEYのコピー
-
SQLです!!教えてください。あ...
-
改行を含んだデータのインポート
-
SQLです!!教えてください。あ...
-
Excelでしりとりを作る方法
おすすめ情報
最後の文書がへんなので訂正します。
「TransferSpreadsheetの記述でデータベースをしていするなどで解決できるのでしたら・・・」
↓
「TransferSpreadsheetのテーブル記述部を工夫することで解決できるのでしたら・・・・・・」