【Win98/Access97】
お世話になります。
早速質問ですが、AccessのファイルがFileA,FileB,FileCと3つあるとして、
FileC上から実行をかけると、FileBの全てのオブジェクトがFileAへエクスポ
ートされるようなしかけを作ることはできるでしょうか?
マクロを作成してデータベース変換やオブジェクトのコピーなどを試してみましたが、
いずれもテーブルやフォームは問題ないものの、レポートが「無効な参照」と出てしまってエクスポートできません。
取りこみたいファイルにマクロを作ってインポートする方法はできないことも
ありませんが、オブジェクトを手で消されたりすると困るので、できるだけ
ユーザーに中を触らせたくありません。
よい方法がありましたら教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>ということは、FileBに直接自身のオブジェクトをFileAに掃き出す処理を入れてもできるということですよね。



データベース変換コマンドは、
「現在開いているDBに、別のDBのオブジェクトを取り込む」(インポート)と、
「現在開いているDBのオブジェクトを別のDBに書き出す」(エクスポート)の二つに機能しか含まれないみたいです。

「別のDBのオブジェクトを別のDBにコピーする」処理を行うためには、#1のマクロでの処理のように、一度ワンクッションを入れてから処理を行うしかないみたいです。

#1のVBAでの処理では、
1:Accessをもう一つ('FileB'という名前で)起動する
2:'FileB'上で、FileB.MDBを開く
3:'FileB'に対して「テーブル『T1』をFileC.MDBにエクスポートせよ」という命令を発する

ってな感じで、中間オブジェクトを経由することなくオブジェクトのコピー処理を実現しているわけです。
「マクロでやるとすれば」とは処理的に異なることを書いてしまっていたので、少し混乱させてしまったかもしれません。

>データベース変換でレポートもエクスポートできますか?
できますよん。
マクロでするなら、「オブジェクトの種類」の欄を「レポート」にすればいいです。

VBAの場合ですと、
FileB.DoCmd.TransferDatabase acExport, "Microsoft Access", "X:\XXX\FileA.MDB", acReport, "Report1", "Report1"
みたいな感じにすればいいです。
    • good
    • 0
この回答へのお礼

細かいアドバイスありがとうございました。
試しにVBAでちょっとやってみます。

お礼日時:2001/05/07 08:44

えっと、もしマクロでやるとすれば、


1:FileB.MDBのオブジェクトをFileC.MDBにインポート
2:インポートしたオブジェクトをFileA.MDBにエクスポート
3:FileC.MDB上のオブジェクトを削除する
という手順で出来ると思います。

VBAでするなら、
Private Sub コマンド0_Click()
 Dim FileB As New Access.Application
 FileB.OpenCurrentDatabase "X:\AAA\FileB.MDB"
 FileB.DoCmd.TransferDatabase acExport, "Microsoft Access", "X:\AAA\File1.MDB", acTable, "T1"
 FileB.CloseCurrentDatabase
 FileB.Quit
End Sub
のような感じで実現できます。

この回答への補足

早速のご回答ありがとうございます。
一度FileCに必要なオブジェクトを取りこんでからFileAに掃き出すわけですね。
ということは、FileBに直接自身のオブジェクトをFileAに掃き出す処理を入れてもできるということですよね。
TransferDatabaseコマンドを使っていると言う事は、オブジェクトのコピーではなく、データベース変換を使っていると言う事ですね。
データベース変換でレポートもエクスポートできますか?私がやった時は質問のようなエラーが表示されてダメだったのですが。

補足日時:2001/04/27 09:06
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qテーブル入れ子にしたらNNではダメ?

赤い背景画像を使ったHTMLにテーブルを3個入れ子で載せました。
下のテーブルのセルに白色、中のテーブルのセル色にグレー、一番上のテーブルのセルに白色を指定しました。

そこへラジオボタンをつけたのですが、本来、枠がない丸いボタンのところに赤の枠ができてしまいます。
IEでは問題ないのですが、NN4.7で確認したらこうなっていました。

デザインを変えずに回避する方法があったら教えてください。
また、NN6.*~だったらOKということはありますか?

Aベストアンサー

こんにちは!

<input type="radio" name="address" value="menber" checked style="background-color:#FFFFFF;">

と style="background-color:#FFFFFF;" を追加してください。

NN6は分かりませんが4.7と7で確認しました。

Mac 側は確認していません・・。

QMS-wordで,ワイルドカードを用い,n人(1, 2, 3)を3人(1, 2, 3)に置換

ワイルドカードを用いた置換の仕方についてお伺いします.

用いているのはword for mac 2004です.

n人(1, 2, 3)や、n人(2, 3, 4)や、n人(3, 4, 5)
n人(1, 2, 3, 4)や、n人(2, 3, 4, 5)や、n人(3, 4, 5, 6)

といったものを,

3人(1, 2, 3)や、3人(2, 3, 4)や、3人(3, 4, 5)
4人(1, 2, 3, 4)や、4人(2, 3, 4, 5)や、4人(3, 4, 5, 6)

という風に,nを()内の数字の個数に一度に置換したいのですが,

検索文字列は
n人(1, 2, 3)や、n人(2, 3, 4)や、n人(3, 4, 5)の場合は

n人(?, ?, ?)

で検索できることはわかっているのですが,置換後の文字列はどのようにすればよいでしょうか?
ちなみに数字やn、カンマとその後のスペースは半角,括弧は全角です.

よろしくお願いします.

Aベストアンサー

ワイルドカードを使用した場合、()で閉じた内容が一つの式として認識
されますので、(n)が一つ目の式で「n」だけを条件にして、(人(?, ? ))
のようにすることで二つ目の式にして「(人(?, ? )」をまとまった式
にします。

検索条件にした式を参照するのが、\ 記号と式の順番である数字である
「\1」や「\2」のようなものを置換の条件にします。(半角で指定)
今回の場合は、最初の式を変えるので n=\1 ですから \1=3 になること
から、式をそのまま参照するときの \1\2 が 3\2 になるのです。

このように式を利用することで、特定の文字列を参照したときに、その
一部だけを置換する場合に効果的に利用できるようになります。
もっと条件が多い場合では、Wordの置換機能では無理な場合もあります
ので、その場合は正規表現ができるもので置換することになりますが、
今回は関係ないことなので具体的には説明しません。

ちなみにマクロについては、私に提示できる技量が現時点では無いので
回答しませんが、条件としては以下のようなものでマクロを組むことに
なると思います。

検索・置換の条件を指定してのマクロ
**************************************************************
検索する()内の数字の個数を数え、その個数を検索する対象にある
n と置き換えることで、個数が増えても一括で n を個数に置換する。
**************************************************************
これをマクロで組むことで、数字の個数が増えてもマクロが自動で置換
してくれると思います。

ワイルドカードを使用した場合、()で閉じた内容が一つの式として認識
されますので、(n)が一つ目の式で「n」だけを条件にして、(人(?, ? ))
のようにすることで二つ目の式にして「(人(?, ? )」をまとまった式
にします。

検索条件にした式を参照するのが、\ 記号と式の順番である数字である
「\1」や「\2」のようなものを置換の条件にします。(半角で指定)
今回の場合は、最初の式を変えるので n=\1 ですから \1=3 になること
から、式をそのまま参照するときの \1\2 が 3\2 になるのです。

この...続きを読む

QNN4.7 テーブルの背景を表示出来ますか?

至急教えて欲しいのですが、ネットスケープ4.7でhtmlを確認中ですが。
テーブルへ背景を埋め込むと表示されないようです。
この現象は、NN4.7では無理なのでしょうか?
どなたか助けてくださいm(_ _)m

Aベストアンサー

NN4.7では <table bgcolor="~"> や <table background="~"> は正式にサポートされています。
(Win. Mac. 共にNN4から正式サポート)

但し、NNの仕様でテーブルの各セル内が背景以外何もない場合は背景が表示されません。

おそらく、背景が表示されていない部分は、文字も画像も入れていないのではありませんか?

そのときには、各空白のセルに相当するソース部位に「&nbsp;」(&は実際には半角です)を記述しておきます。
「&nbsp;」(&は実際には半角です)は、空白を表す特殊な記号で、ブラウザには表示されません。

QAccess 97 VBAについて

Access VBAについて教えてください。
初心者ですが、レポートに表示されるテキストボックスの”項目名”と”内容”プロパティーに重複データ非表示にしています。そして、非表示となった部分に”〃”を表示するため別のテキストボックス、”隠しオブジェクト1”及び”隠しオブジェクト2”を配置しています。???にどんな記述が必要かわかりません。”項目名”だけであれば問題なく表示されるのですが”内容”についても同様に処理したいのです。
どうぞ宜しくお願いいたします。


Option Compare Database
Option Explicit
'値を保持するために外側に変数を定義します。
Dim varA As Variant
---------------------------------------------------
Private Sub 詳細_Print(Cancel As Integer, PrintCount As Integer)
  If Me.項目名 = varA Then
   Me.隠しオブジェクト1.Visible = True
Else
Me.隠しオブジェクト1.Visible = False
End If
varA = Me.項目名

????

If Me.内容 = varA Then
Me.隠しオブジェクト2.Visible = True
Else
Me.隠しオブジェクト2.Visible = False
End If
varA = Me.内容
End Sub

Access VBAについて教えてください。
初心者ですが、レポートに表示されるテキストボックスの”項目名”と”内容”プロパティーに重複データ非表示にしています。そして、非表示となった部分に”〃”を表示するため別のテキストボックス、”隠しオブジェクト1”及び”隠しオブジェクト2”を配置しています。???にどんな記述が必要かわかりません。”項目名”だけであれば問題なく表示されるのですが”内容”についても同様に処理したいのです。
どうぞ宜しくお願いいたします。


Option Compare Database
Option Expl...続きを読む

Aベストアンサー

VBAもなにも要りません
="〃"
としたテキストボックスの上に重複データ非表示としたテキストボックスを重ねておくだけでOKです

QIE6/NN7.1のテーブルのheight="100%"

テーブルの高さの指定 height="100%" なんですが、
IE6とNN7.1で100%で表示されません。

下記の記述に間違いはありますでしょうか?
もしかしたら初歩的な問題なんでしょうか?


ちなみにIE5.5 MacのIE5.2では表示されました。
困っています。
宜しくお願いいたします。

ーーーーーーーーーーーーーー
<table border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td valign="top">上</td>
</tr>
<tr>
<td valign="bottom">下</td>
</tr>
</table>
ーーーーーーーーーーーーー

Aベストアンサー

HTML4.01の規格(仕様)では、tableに使えるアトリビュートは、summary、align、widthです。
heightが有効になるほうが特殊だと思ったほうがよいとおもいます

Q【Access】エクスポート時のファイル名規則

お世話になります。

Access2010にてクエリの内容をテキストファイルでエクスポートするツールを作成しました。

エクスポート自体は問題ありませんが、ファイル名として感嘆符(!)を付けたいのですが、以下のメッセージが表示されエラーとなります。
※!は半角です。

実行時エラー2006
指定したオブジェクト名'!test.txt'はMicrosoft Accessの名前付け規則に従っていません。

ちなみに以下のようなVBAです。
DoCmd.TransferText acExportDelim, "エクスポート定義", "エクスポートクエリ", "C:\!test.txt"

!付きのファイル名を変数に入れて指定してみましたが、同じエラーが出てしまいます。
どうにか!付きファイル名でエクスポートすることは出来ないでしょうか。
※普通に手動で!付きのファイルを作成することはできますので、Accessのエクスポート時の制限かなにかでしょうか。。

ご教授の程、宜しくお願い致します。

Aベストアンサー

 1.!無しファイル名でエクスポート
 2.既存の!付きファイルを削除   ← VBAよりBAT起動
 3.エクスポートした!無しファイル名をリネーム(!付きにする) ← VBAよりBAT起動
に関しては、Dir関数で "" か否かで ファイルがあれば、kill してしまえば
Bat ファイルを呼び出す必要はないかと。
なお、私はファイル名でソートした時に先頭に来て欲しい一時的なファイルの場合には
アンダーバー _ を頭に使っています。

蛇足の部分についてなのですが、WindowsXP & Office2002 & IE7 の頃?には
ハイパーリンクの設定で、C:\Documents and Settings\・・・
のようにPath中に半角スペースがあっても機能していましたが
環境が変わってからは半角スペースが、%20 に置き換えられてしまい機能しません。
URL? HTML? の規格が新しくなったためらしいです。
なので、#1さんが ! の件も含めて何かご存知かな?と期待して、「何処?」とお尋ねした次第です。
そちらの環境では、! があっても問題ないようですね。
この検証は涼しくなってから・・・ (^_^;

 1.!無しファイル名でエクスポート
 2.既存の!付きファイルを削除   ← VBAよりBAT起動
 3.エクスポートした!無しファイル名をリネーム(!付きにする) ← VBAよりBAT起動
に関しては、Dir関数で "" か否かで ファイルがあれば、kill してしまえば
Bat ファイルを呼び出す必要はないかと。
なお、私はファイル名でソートした時に先頭に来て欲しい一時的なファイルの場合には
アンダーバー _ を頭に使っています。

蛇足の部分についてなのですが、WindowsXP & Office2002 & IE7 の頃?には
ハイパーリ...続きを読む

QNNでテーブルの枠線(BORDER)の設定は?

NN6です。
BORDERを使用したいのですが、NNではうまくいきません。
<TABLE>タグにあてはめるとだめだときいたので、TDにあてはめようとしているのですが…。

HEAD内で
TDにBORDER-STYLE="SOLID; BORDER-COLOR:GRAY;"
としました。これをTD CLASS=***
としているのですが、一向に線は出てきません。
どのように直せばいいのでしょうか?

Aベストアンサー

とりあえずダブルクォーテーションは不要なので削除しましょう。

BORDER-STYLE=SOLID; BORDER-COLOR:GRAY;

それでも出なかったらボーダーの太さも明記しておきましょう。

BORDER-STYLE=SOLID; BORDER-COLOR:GRAY;BORDER-WIDTH:1pt;

QF8のステップインで実行するとエラーになるマクロ(オブジェクトの挿入)

こんばんは。
また質問させてください。
エクセル2003です。

Sub 挿入_ラベル()
ActiveSheet.OLEObjects.Add(ClassType:="Forms.Label.1").Select
End Sub

このコードをF8のステップインをしながら実行すると
「中断モードでは入力できません。」となります。

普通にF5の実行なら問題なくできます。

なぜF8だとエラーになるのでしょうか?
オブジェクト関係だからですか?

Aベストアンサー

試してみたところ、この現象は、自ブックで置きますが、他のブックでは置きませんでした。

表示されたダイアログのヘルプボタンを押してみましたが、難解で理解できません。
中断モードでは、プロジェクトが変更ができないということのようです。

QIE(5.5)とNN(4.7)のフォントサイズについて。

フォントサイズがデフォルトのままだと、IE(5.5)とNN(4.7)とではフォントサイズが違うのです。
IEの方でフォントサイズを「小」にするとNNと丁度良いサイズになるので、
IEでアクセスしたときには強制的にフォントサイズを「小」に変更することなど出来ませんでしょうか?
CSSで「12px」とかにしたんですけど、やはりIEでサイズが「中」になっていると
微妙にサイズが違ってしまうのです。
また、テーブル内のフォントのサイズも同じように変更したいのでNNに対しては融通が利かないのです。
なにとぞお知恵をお貸しくださいませm(_ _)m

Aベストアンサー

これはJavaScriptとの併用である程度解決つきます。
ブラウザによって使用するCSSファイル(この場合は外部ファイルにします。拡張子『.css』)を用意し、<head>~</head>タグ内にブラウザの判別のスクリプトを書く形です。

IE用とNN用で別々のCSSを用意する事によって、かなり近い状態で表示されるはずです(それでもWindows/Mac、他のバージョンを考えると完全に一致させる事は至難の技ですが・・・)。

JavaScriptでのブラウザ判別については、ここの『JavaScirpt』の方で見つかったので、そのリンクを。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=186603

QAccess OLEオブジェクトのパッケージ表示について

同時期に購入したPCが2台あります。
そのPCにてAccessで同じ操作をしているのですが、
テーブルでOLEオブジェクト型にして写真を挿入しているのですが、
同一写真(ビットマップ)を挿入しているにもかかわらず、
1台はビットマップイメージ、1台はパッケージ、との認識。
どこか1台途中で設定し間違えたのでしょうか。
ビットマップイメージに統一したいのですが。
方法をおしえてください。

Aベストアンサー

こんばんは。

一応、以下を読んでいただければ、お分かりになるかと思います。

http://office.microsoft.com/ja-jp/assistance/HA011513811041.aspx
データベース テーブルで "ビットマップ イメージ" ではなく "パッケージ" と表示される際の対処方法


上記の内容は、簡単にいうと、ひとつは、OLEオブジェクトのところに、bmp(ビットマップ)以外の画像ファイルが入っていることで、それをbmpに変換することか、もう一ひとつは、 旧版のMicrosoft Photo Editor で、OLEサーバーを提供してあげることだそうです。


人気Q&Aランキング

おすすめ情報