• 締切済み

Accessのマクロ。

Access(テーブル クエリーのみ フォーム、レポートは持ってません) のデータベース(入力は別ソフトから行っています)で、 テーブルの内容が更新時にテキストファイルを書き出すようにしたく、 マクロを使ってどうにかならないか考えているのですが、 「条件」がうまくつけられません。別にマクロでなくAccessVBAでも いいのですが・・・・。 ご存知でしたら是非お教えください。

みんなの回答

  • mishida
  • ベストアンサー率34% (19/55)
回答No.2

 どこかで回答もあったと思いますが、Access単体では通常の手段ではかなり難しいです。SQL Server/MSDEにはトリガがあるので簡単なのですが。また、Accessで作り込んだとしても、Accessのバージョンが変わることにより、動作不良となることも考えられます。  質問のなかで不思議なのは、「テーブルの更新時」にテキストファイルを書き出すことって、どういう意味があるのかなと。  好きなときに書き出せば結果は同じなのではないかと思います。結局、書き出し指示をする直前までに修正されたデータは書き出せるはずです。これであれば、テーブルのエクスポートで話は済みます。更新されたデータだけを書き出すのは難しいですけれど。リモートでテキスト書き出しをさせると思えばいいのでしょうか。  少し前のご質問の続きの質問だと思うのですが、小手先の変更で済まそうとは思わずに、データベースの設計そのものを考え直すといいかもしれません。  また、Accessデータファイルへの入力ソフトの接続方法が、ODBCを利用していれば、MSDEへの移行は容易です。ただし、入力ソフトの作りによっては、ODBCを利用していたとしても難しいかもしれません。  

全文を見る
すると、全ての回答が全文表示されます。
  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

下記の内容は不可? テーブルに項目を追加して、入力ソフトから新規/更新したらフラグを立てる。 時間起動等でそのフラグが立っているデータを抽出。 同データを書き出す。 フラグを下げる。 または、入力ソフトで更新時には更新内容を書き出す。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • freeのデータペース管理ソフトがほしい

    アクセスみたいなソフトですが テーブルはテキストファイル、フォーム・レポートは不要でいいです.クエリはSQL文を入力、そういうフリーの簡単なデータベースソフトはないですか.

  • ACCESS97 レポート。フォームが作れません

    ACCESS97で作成されたファイルのレポート。フォームが編集、新規作成ができません。 テーブル、クエリ、マクロはできます。 データベースウィンドゥのフォーム、レポートから 新規作成、編集ボタンが押せない状態になってます。 権限やセキュリティで引っかかっているのかと思って、【ツール】下の機能を見たのですが。 関係なさそうな気がします・・・・。 仕方ないので、必要なテーブルやクエリを別ファイルにインポートして、そちらで レポートを作成しています。 元データのファイルに組み込みたいのですが、やり方を教えてください・・・。

  • Accessのマクロ

    Access2002で、「氏名(テーブル名:name)」と「日付<○月○日~○月○日>(テーブル名:date)」でレポート内容が検索できるのを作っています。 フォームに 氏名一覧、日付入力、検索ボタン、最新データの取り込みボタン を作っています。 「検索」の方は出来たのですが、「最新データ取り込み」をしようとすると、 『テーブル'name'は現在ほかのユーザまたはプロセスで使用されているので、ロックできませんでした』というエラーメッセージがでてきます。 「最新データ取り込み」ボタンに対してのマクロのアクションは、 オブジェクトの削除…テーブル/report テキスト変換…reportインポート定義 オブジェクトの削除…テーブル/name クエリを開く…name作成(テーブル作成クエリ) としています。 (「マクロの実行」で指定) フォームに表示されている氏名(name)を削除しようとしているために、このようなエラーメッセージが出ているのかとも思っていますが…。 フォームを閉じずに、「最新データ取り込み」ができないものでしょうか? ご教示の程、よろしくお願いします。

  • Access97をAccess2002にするには

    Access97で作成したmdb(オブジェクトは、テーブル(リンクテーブル有り)、クエリ、フォーム、レポート、マクロ(AutoExecのみ)、モジュールを使用)をAccess2002へ移行させようと思うのですが、単純に[ツール]→[データベースユーティリティ]→[データベースの変換]で良いものでしょうか。 もし、何か気をつけなければならないこと、やらなければならないこと等、または変換方法等をご教授いただけないでしょうか。

  • Access2010 更新データのレポート表示

    Access初心者です。 新規データを入力しても、レポートが更新されずに困っています。 (テーブルや、フォーム内では、データは更新されています) エクセルデータをAccess2010にインポートして、元テーブルを作成しました。 元テーブルを元に、フォーム・レポート・検索クエリ(年度別・分類別)等を作成しました。 ここまでの作業で、新規データの入力はありませんでした。 ところが・・・ 新規データをフォームに入力すると、元テーブルは更新されますが、既に作成しているレポートには、新規レコードが表示(反映)されません。 更新されている元テーブルを元に、もう一度レポートを作成しても、新規レコードは表示されません。 ホームタブの「全て更新」ボタンをクリックしても、新規レコードはレポートには表示されません。 尚、Access初心者です。 「更新クエリ」なるものは、作成していません。というか、「更新クエリ」って何?状態です。 また、クエリそのものが良くわかっておらず、作成したクエリは全て「検索」のためのクエリで、抽出条件に「 [] 」を入力したり、フィールドに「 年度: Year(DateAdd("m",-3,[発送日])) 」を入力したりしかできません。 勿論、リレーションシップって何???状態です。 どうしたらよいのでしょうか??? どなたか、初心者でもわかるように、教えていただけないでしょうか? 宜しくお願いいたします。

  • Access2002のマクロ条件について

    WindowsXPでAccess2002を使用しています。 このたび、過去の方が作成されたAccessを修正することとなりました。 VBAを使用したものではない簡易なファイルですが、マクロの条件を変更しようとしても なかなかうまくいきません。どのようにすれば宜しいでしょうか。 ---------------- ≪現在の仕様≫ テーブル名:T#ZIP フォーム名:F#Select クエリ名:Q#Delete、Q#Import マクロ名:M#Create_Table (1)Access起動時(の設定)は「F#Select」というフォームが開く (2)下記マクロ「M#Create_Table」が実行される  マクロ1行目:下記条件のとき、マクロを中止する          [Forms]![F#Select]![CRTDATE]=Date()  マクロ2行目:テーブル「T#ZIP」のデータを削除するクエリ「Q#Delete」を実行する  マクロ3行目:テーブル「T#ZIP」にデータを追加するクエリ「Q#Import」を実行する ≪動き≫ 前提:「F#Select」の[CRTDATE]というフィールドには「T#ZIP」が更新された日が設定される その日初めてそのAccessを開くと、マクロにより削除クエリ~追加クエリが順番に実行された後、 フォーム「F#Select」が表示される。その後Accessを終了し、同日中に再度Accessを開いても マクロは実行されない --------------- 現在、追加するデータが多い場合、時間がかかりインポートが途中で失敗することがあるのですが 再度Accessを開いても既にインポート済みと判定されてしまい、自動的にはマクロは実行されない という課題があります。 インポートが失敗するとき、削除は完了しているため、テーブルデータは0件なので、 「その日に既にテーブルを更新済み かつ テーブルデータ件数が1件以上ある場合」 マクロを中止する、という条件を設定したいと思います。 そこで、マクロ1行目の条件欄に [Forms]![F#Select]![CRTDATE]=Date() And DCount("[T#ZIP]","*")>0 と記載したところ、その日最初のインポートはうまく行っている様子ですが、 マクロ終了後に突然Accessが終了したり、再度Accessを開いても「F#Select」が 全く表示されなくなったりと、うまくいきません。 バグというよりは、私の設定が悪いのだと思われますので、 ・フォーム[F#Select]の[CRTDATE]フィールドが Date()   かつ ・テーブル[T#ZIP]に1件以上でもデータがある 場合はマクロを中止する としたい場合の条件設定方法(入力内容)につきまして、どなたかおわかりの方 ご教示いただけますでしょうか。 何卒よろしくお願いいたします。

  • Accessでテーブルやクエリのリストを作りたい。

    テーブルが100、クエリが200ほどあるデータベースを使用してます。そのほかにレポート、フォーム、マクロもそこそこあります。これらのテーブル名やクエリ名の一覧表を作成したいのですがどうすればいいでしょうか。出力はファイル(たとえばExcelなど)でもプリントアウトでもかまいません。初心者なのでできるだけ簡単方法を教えていただければ助かります。よろしくお願いします。

  • アクセスのマクロについて教えて下さい

    当方アクセスは素人です。 1つのテーブルを基に作ったクエリとフォームがあります。 このフォームの中にボタンを作り、1つの操作で クエリの条件指定をしたり、その抽出したデータをエクセルに出力したりできるようにしたいのですが どうすればいいのかわかりません。レポートにして出力、程度ならできるんですが…。 自分ひとりなら、クエリの画面で条件指定をして開き、ツール→エクセルに出力、とするところなんですが、 もっとド素人のおじさんに「誰でもボタンひとつでできるようにしておいてほしい」と言われて困っています。 助けてください。よろしくお願いします。m(__)m

  • アクセス フォームのマクロに関して

    アクセスでマクロにてフォームを閉じるを選択しているのですが 新規レコードが必ず追加されてしまいます。 そのフォームはデータ入力用のフォームなのですがデータ入力終了時 テキスト欄をすべて空白でマクロの閉じるを実行させると 必ずテーブルに空白の新規レコードが入力されてしまいます。 なにかいい方法ありますでしょうか?

  • access2007マクロの作成について

    access2007初心者です。 現在、access2007にて顧客管理をしております。 顧客テーブルなるものがあり、別に入力フォームとして新規作成や修正などができるフォーム(単票)を作成してあります。 そこで、顧客テーブルで行(レコード)を選択すると、その行に対応した入力フォームが開くという設定にするには、どのようなマクロを作成すればよろしいでしょうか?マクロでできるのかどうかもわかりません。 どなたか教えていただけないでしょうか?

このQ&Aのポイント
  • 結果が全てですかね…一緒に働いていた新人さんのことが、好きで好きでたまりませんでした。
  • 最終日に個人的に送別の品をいただきましたが、アプローチはなかったようです。
  • かなり年下の男性でしたが、慕ってはくれていたのか、気持ちは分かりませんでした。
回答を見る

専門家に質問してみよう