Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


192 / 500 ページ ←次へ | 前へ→

【9430】Re:Accessテーブルのインポートについて
回答  YU-TANG  - 07/5/20(日) 16:11 -

引用なし
パスワード
   こんにちは、YU-TANG です。

> が表示されるのみで「tacifimport」のフィールド情報が表示されません。
> *エキスポート定義の時にはフィールド情報が展開されました。

はい。
ソースの情報が展開されるので、エクスポート定義の場合はテーブル側の
情報が、インポート定義の場合は外部データソース(今回のケースでは
テキストファイル)側の情報が、展開されます。それで正常です。

>    フィールド名 「フィールド1」

とあるということは、テキストファイルの先頭行にはデータが入っていて、
フィールド名は未定義ということでしょうか。
仮にそうであれば、インポート定義中で [設定] ボタンを押して表示される
ダイアログ上で、[フィールド名] の値を先頭(1行目)から順に、インポート
先テーブルの当該フィールド名に自分で書き換えていけばいいはずです。
そうすれば、テキストファイルの何列目をどのフィールドにマッピング
させればよいのか、Access が判別できるようになります。

> インポート/エクスポート定義の作り方は、
> http://x7net.com/~access/AcTipsGnrlHowToAttachExternalText.html
> の以下を参考にしました。

我ながら、古すぎますね…。
更新したい気はありますが、まとまった時間がなかなか取れないのでご容赦を。

それでは。
・ツリー全体表示

【9429】ACCESSで他のソフトを操作する方法
質問  マイキ〜〜  - 07/5/20(日) 16:01 -

引用なし
パスワード
   お世話になります。

今やろうとしてること簡単に説明します。
ACCESSのテーブルに”用紙””枚数”ってタイトルのフィールドがあり、
そこに一個づつだけ用紙名(tif形式の画像のアドレス)と数字が入っています。

このテーブルを下に指定されたソフト(Microsoft Office Document Imaging)を開き、
用紙名のデータを読み出し、枚数で指定されている枚数だけ印刷し、
印刷し終えたらソフトを閉じる

っといった動きをさせたいのですが正直全然VBAが組めません
組める方いらっしゃいましたら教えてください。
・ツリー全体表示

【9428】Accessテーブルのインポートについて
質問  吉村  - 07/5/20(日) 14:01 -

引用なし
パスワード
   吉村です、よろしくお願いします。

【質問】
テキストファイルからAccessテーブルへインポートしたいのですが、
うまく出来ません。
やりたいことは、フォーム上にボタンを設定してクリック時に
インポートのマクロを実行したいのですが。

試みた手順です。
1.Microsoft Access データベースを開き
2.オブジェクト「テーブル」をポイント
3.インポート先のテーブル「tacifimport」をポイント
4.ファイル(F)→外部データの取り込み(G)→インポート(I)
5.インポートファイル名に
  c:\sinsystem_mdb\data\select_import.txtをポイント
6.「インポート(M)」ボタンをクリック
7.区切り記号付き・・ をチェック
8.「次へ」→フィールド区切り記号「カンマ」をチェック
9.「次へ」→「次のテーブルに保存する→「tacifimport」を指定
10.「設定」ボタンをクリックしましたが・・
  ・フィールドの情報(I)欄は
   フィールド名 「フィールド1」
   データ型   「テキスト型」
   インデックス 「いいえ」
   スキップ   「□」
が表示されるのみで「tacifimport」のフィールド情報が表示されません。
*エキスポート定義の時にはフィールド情報が展開されました。
 
マクロ定義でやりたいことは、
フォーム→デザイン→ボタンのプロパティで
1.「イベント」
2.「クリック時」
3.「マクロビルダ」
4.アクション「テキスト変換」
5.アクションの引数を以下のように設定する。
・変換の種類     「区切り記号付きインポート」
・定義名       「Select_import」
・ファイル名     「c:\sinsystem_mdb\data\select_import.txt」
・フィールド名の設定 「いいえ」
・HTMLテーブル    *指定なし
・コードページ    *指定なし
●引数・定義名「Select_import」の作成方法が分かりません。


マクロの作り方は、
http://www.mahoutsukaino.com/ac/ac2000/ac2000/kihon/macro01.htm
を参考にしました。

インポート/エクスポート定義の作り方は、
http://x7net.com/~access/AcTipsGnrlHowToAttachExternalText.html
の以下を参考にしました。

・機能
 オブジェクトをインポート/リンク/エクスポートします。

 DoCmd.TransferText acImportDelim, "インポート定義1", _
 "tblImported", "C:\Temp.csv", True

※作成方法が分からないという方は、下記の手順にのっとって作成してください。
 『インポート/エクスポート定義の作成方法』
●上記『』部分をクリックして参照しました。

以上ですが、よろしくお願いします。
・ツリー全体表示

【9427】Re:レポートでの種類の計上について
回答  YU-TANG  - 07/5/20(日) 12:23 -

引用なし
パスワード
   SQL の DISTINCT キーワードについて調べるとよいでしょう。
クエリのプロパティ上では [固有の値] に当たります。

http://office.microsoft.com/ja-jp/access/HP010322051041.aspx

これで重複を排せるので、氏名の重複を排した上でカウント
すれば種類のカウントになると思います。

それでは。
・ツリー全体表示

【9426】Re:Access最適化バッチ
回答  YU-TANG  - 07/5/19(土) 21:49 -

引用なし
パスワード
   こんばんは、YU-TANG です。

> しかしAccessで最適化を行うと、どうしてもMDBが再起動(?)してしまい、
> 処理が流れ出してしまいます。

どのような手法で処理を呼び出しているのか、書かれていないので
分かりませんが、Access 2003 環境で試す限りでは、下記を [スタート]
-[ファイル名を指定して実行] から実行しても、少なくとも AutoExec
マクロは起動しませんでした。

> "C:\Program Files\Microsoft Office\MSACCESS.EXE" C:\test.mdb /compact

自分の環境がおかしいのでなければ、とりあえず Access 2003 に
バージョンアップすれば、その問題は起きないかもしれません。

バージョンアップできないようであれば、最適化の前にフラグを立てて、
最適化後の起動時にフラグがオンなら処理を実行しないようにすれば
よいでしょう。
フラグを立てるかどうかは、コマンドラインスイッチ「/cmd」で
指定すればよいでしょう。

それでは。
・ツリー全体表示

【9425】Re:アクセスDBのインポート,エクスポート...
お礼  吉村  - 07/5/19(土) 10:04 -

引用なし
パスワード
   かみちゃん さん、こんにちは。
吉村です。
「エクスポート」マクロ定義で出来ました。
「定義名」でだいぶ時間がかかってしまいましたが、勉強になりました。

1.Accessで作成したテーブルをExportでテキスト変換する。
2.テキストファイルをCobol側へ渡して、AccessからBatch処理を起動する。
3.Cobol側で作成したテキストファイルをAccessテーブルへインポートする。

1.と2.の処理まで動作確認できました。 あとは3.の処理です。

※「マクロ」にはソースコードが存在しないようですね。


▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>> TransferText コマンドを使用してtxtFileへ
>> 変換したいのですが・・
>
>どうしてもVBAでしたいのでしょうか?
>もしそうならば、理由は何ですか?
>VBAでなくても、マクロでできます。
>
>以下を参考にして、「マクロ」の「アクション」で「テキスト変換」を指定して
>インポートとエクスポートなど条件を指定するだけです。
>http://www.mahoutsukaino.com/ac/ac2000/ac2000/kihon/macro01.htm
>(先頭4文字は、全角文字になっているので、半角文字にしてください。)
>
>これより複雑な条件が必要ならば、初めてVBAでの検討をすることになるかと思います。
・ツリー全体表示

【9424】Re:レポートのページ算出について
お礼  たけし  - 07/5/18(金) 17:49 -

引用なし
パスワード
   ▼hatena さん:
ありがとうございました。
いろいろ試して今日全部の作業がうまくいきました。
お礼が遅くなりすみませんでした。
また何かありましたらよろしくお願いいます。
・ツリー全体表示

【9423】Re:エクセルのシート名を指定して開く
お礼  ike  - 07/5/18(金) 12:55 -

引用なし
パスワード
   ▼MJM さん:

感謝です。ありがとうございます。出来ました。
(余談ですが、読み取り専用で開くのはEXCELが壊れていたみたいです。
事後報告で申し訳ございません。)
・ツリー全体表示

【9422】Re:レポートの重複データの非表示
お礼  あおぎん  - 07/5/17(木) 17:28 -

引用なし
パスワード
   ▼MJM さん:
ありがとうございました!
やってみたら、違和感もなく表示されました。
ほんとにありがとうございました!


>こんにちは。
>
>コードを記述しなくても、
>番号のグループヘッダーを表示してみては?
>
>このグループヘッダーが邪魔な場合は、
>このセクションの高さを最小値の0.002cmにすれば、
>違和感もないかと。
・ツリー全体表示

【9421】Re:エクセルのシート名を指定して開く
回答  MJM  - 07/5/17(木) 15:47 -

引用なし
パスワード
   こんにちは。

>  Dim xlApp    As Excel.Application
>  Dim xlBk    As Excel.Workbook
>  Dim xlSht    As Excel.Worksheet
>
>  Set xlApp = CreateObject("Excel.Application")
>
>  ' ブックOpen
>  Set xlBk = xlApp.Workbooks.Open("C:\AAA\契約書作成印刷.xls")
>  Set xlSht = xlBk.Worksheets("データ呼出")
>  xlApp.Visible = True
>  
>  Set xlApp = Nothing
>  Set xlBk = Nothing
>  Set xlSht = Nothing

Dim xlApp As New Excel.Application
  
xlApp.Workbooks.Open "C:\AAA\契約書作成印刷.xls"
xlApp.Worksheets("データ呼出").Activate
xlApp.Visible = True
xlApp.UserControl = True
  
Set xlApp = Nothing

では、如何ですか。
・ツリー全体表示

【9420】Re:レポートの重複データの非表示
回答  MJM  - 07/5/17(木) 14:40 -

引用なし
パスワード
   こんにちは。

コードを記述しなくても、
番号のグループヘッダーを表示してみては?

このグループヘッダーが邪魔な場合は、
このセクションの高さを最小値の0.002cmにすれば、
違和感もないかと。
・ツリー全体表示

【9419】レポートの重複データの非表示
質問  あおぎん  - 07/5/17(木) 13:34 -

引用なし
パスワード
   Q_一覧のもと をもとに下のようなレポートを印刷します。

番号 勤務種別 氏名  生年月日  続柄  子氏名
---------------------------------------------------
1  種別あ  名1  生年月日1 子1  子氏名A
1  種別あ  名1  生年月日1 子2  子氏名B
2  種別い  名2  生年月日2 子1  子氏名C
3  種別い  名3  生年月日3 子1  子氏名D

番号が重複するデータを非表示にしたいのですが、
重複データ非表示プロパティで設定すると、

番号 勤務種別 氏名  生年月日  続柄  子氏名
---------------------------------------------------
1   種別あ 名1  生年月日1 子1  子氏名A
                  子2  子氏名B
2   種別い 名2  生年月日2 子1  子氏名C
3       名3  生年月日3     子氏名D

となり、表示してほしいところも非表示になってしまうため、
詳細セクションのフォーマット時に非表示を指定するコードを記述したいのですが、可能でしょうか?
番号が前レコードの番号と同じ場合は、フィールドを非表示にするという条件でいいのかなと思いますが、どう書いたらいいのかちょっと見当がつきません・・。
記述方法についてご教示いただけたらと思います。

よろしくお願いします。

                (アクセス2000 win 2000)
・ツリー全体表示

【9418】エクセルのシート名を指定して開く
質問  ike  - 07/5/17(木) 12:28 -

引用なし
パスワード
   教えて下さい。
Access2002で、ボタンをクリックすると契約書作成印刷.xlsのデータ呼出シートが開くようにしたいです。
下記のコードを実行すると、2つ問題があります。
1.別のシートが開きます。
2.読み取り専用になってしまいます。(入力したいのでこれはNGです)

Private Sub 書類_Click()

  Dim xlApp    As Excel.Application
  Dim xlBk    As Excel.Workbook
  Dim xlSht    As Excel.Worksheet

  Set xlApp = CreateObject("Excel.Application")

  ' ブックOpen
  Set xlBk = xlApp.Workbooks.Open("C:\AAA\契約書作成印刷.xls")
  Set xlSht = xlBk.Worksheets("データ呼出")
  xlApp.Visible = True
  
  Set xlApp = Nothing
  Set xlBk = Nothing
  Set xlSht = Nothing

End Sub

おばかですみません。宜しくお願いいたします。
・ツリー全体表示

【9417】Re:プログラムで変えられたメニューバーを...
お礼  たか  - 07/5/16(水) 21:11 -

引用なし
パスワード
   回答ありがとうございました。
結局shiftキーを押しながら起動させる事で解決しました。
初歩的な質問で失礼いたしました。
・ツリー全体表示

【9416】Access最適化バッチ
質問  はてな  - 07/5/16(水) 15:06 -

引用なし
パスワード
   はじめまして。いつも拝見させていただいてます。

現在Accessを最適化するバッチを作成しております。

最適化対象となるMDBは、MDBファイルを開いた瞬間から処理が動き出すように
プログラムしているのですが、私の希望としましては、バッチから最適化を行った後に
処理を流させずに終了させたいのです。

しかしAccessで最適化を行うと、どうしてもMDBが再起動(?)してしまい、
処理が流れ出してしまいます。

"C:\Program Files\Microsoft Office\MSACCESS.EXE" C:\test.mdb /compact

どなたか希望通りの処理を行う方法をご存知ではないでしょうか。
よろしくお願いいたします。
・ツリー全体表示

【9415】Re:プログラムで変えられたメニューバーを...
回答  たん  - 07/5/16(水) 9:39 -

引用なし
パスワード
   >起動させるとメニューバーが変えられてしまって(終了のみ表示され他の操作ができない状態)
>データベースのウインドウを表示させテーブルなどを見たいのですが、見ることができません。そういう状態のため起動時にどのフォームやモジュールを呼んでいるのかも解析できません。

そのmdbは、作成者が、安易に改造や内部データの流出を防ぐ為に、
そういう防御を施しているのですから、

作成者から、そういう防御策を施す前の状態のものを受け取る以外に
手法は無いでしょう。
・ツリー全体表示

【9414】プログラムで変えられたメニューバーを元...
質問  たか  - 07/5/16(水) 9:17 -

引用なし
パスワード
   初めてですが、よろしくお願いいたします。
ACCESSのVBAで作られたプログラムを改造する事になったのですが、
起動させるとメニューバーが変えられてしまって(終了のみ表示され他の操作ができない状態)
データベースのウインドウを表示させテーブルなどを見たいのですが、見ることができません。そういう状態のため起動時にどのフォームやモジュールを呼んでいるのかも解析できません。
プログラムをCtrl+Pauseで止めることはできるので、その後にメニューバーを普通の状態に戻して使えるようにする方法を教えてもらえないでしょうか。
初歩的な質問で申し訳ありませんが、どうかよろしくお願いいたします。
・ツリー全体表示

【9413】Re:テーブル作成クエリでのテーブル名指定
お礼  あおぎん  - 07/5/15(火) 14:03 -

引用なし
パスワード
   ▼Gin_II さん:
>>   mySQL = mySQL & "INTO T_抽出 "
>
>  mySQL = mySQL & "INTO " & Forms!F_職員抽出!txt_テーブル名 & " "
>
>で、どうでしょうか?

できました!
ありがとうございました。
・ツリー全体表示

【9412】Re:レポートの設定
回答  Gin_II  - 07/5/15(火) 13:08 -

引用なし
パスワード
   > レポート設定が開く都度崩れてしまいます。
> 原因は以前聞いた事はありますが、自身はっきり理解していません。

> オープンレポート都度に自動強制設定してやれたらいいなと思っています。

バージョンが必須となる質問ですね。

[ACC2000]最適化するとページ設定が既定値に戻る
http://support.microsoft.com/kb/414227/ja

Microsoft Access 2002 でのプリンタ設定のプログラミング
http://www.microsoft.com/japan/msdn/officedev/officexp/odc_acc10_printers.asp
・ツリー全体表示

【9411】Re:テーブル作成クエリでのテーブル名指定
回答  Gin_II  - 07/5/15(火) 12:34 -

引用なし
パスワード
   >   mySQL = mySQL & "INTO T_抽出 "

  mySQL = mySQL & "INTO " & Forms!F_職員抽出!txt_テーブル名 & " "

で、どうでしょうか?
・ツリー全体表示

192 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084623
(SS)C-BOARD v3.8 is Free