Access VBA質問箱 IV

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

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


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

【9450】Re:レポートのスナップショット保存につい...
お礼  くま  - 07/5/24(木) 17:58 -

引用なし
パスワード
   ▼MJM さんこんにちは。
OutputToメソッドで見つかりました。
スナップショットで探していたのが失敗でした。

おかげで完成しました。
本当にありがとうございました。
・ツリー全体表示

【9449】Re:RunMacro""が実行できません...
発言  クロ  - 07/5/24(木) 14:19 -

引用なし
パスワード
   >Accessから外部処理の終了を判定できればいいとは思いますが…
>それが出来るかは分かりませんm(_ _)m

外部プログラムを実行しそのプログラムが
終了するまで待つ方法
http://miyabi.la.coocan.jp/technic/index.php?ID=1&Category=1&Topic=10

が参考になるかも…
・ツリー全体表示

【9448】Re:RunMacro""が実行できません...
発言  クロ  - 07/5/24(木) 13:58 -

引用なし
パスワード
   Accessから外部処理の終了を判定できればいいとは思いますが…
それが出来るかは分かりませんm(_ _)m

>確かに、4.の処理は多少時間が掛かります。
>タイムラグというか、何か手段はないのでしょうか?

この4の処理をCOBOLでしなければならないのでしょうか?
・ツリー全体表示

【9447】Re:RunMacro""が実行できません...
質問  吉村  - 07/5/24(木) 13:45 -

引用なし
パスワード
   クロ さん こんにちは。
ご助言ありがとうございます。

という事は、イベント定義の順番(時系列)で動くこと
を前提にしていることがそもそも誤りという事ですね。

【私の再認識】ですが
イベントは、マクロ・関数・コマンド等を起動すると、
どんどんと次のアクションへ遷移すると理解してよろし
いのでしょうか?

※丸投げの質問をお許し下さい。
確かに、4.の処理は多少時間が掛かります。
タイムラグというか、何か手段はないのでしょうか?
1.〜6.それぞれの復帰コードを参照して、次のアクション
へ進むとかですが・・

よろしくお願いします。


▼クロ さん:
>>4.  Call Shell("C:\sinsystem_mdb\object\fs8e290a.exe")
>>   *COBOLのexeを起動しています。
>>   (2.のファイルを参照して7.で使用するファイルを作成します)
>
>こちらが終了する前に
>
>>7.  DoCmd.RunMacro "cif_import"
>>   *4.(COBOL)で作成したテキストファイルから
>>    Accessテーブルへインポートします。
>
>これが動いているのでは?
・ツリー全体表示

【9446】Re:RunMacro""が実行できません...
発言  クロ  - 07/5/24(木) 13:16 -

引用なし
パスワード
   >4.  Call Shell("C:\sinsystem_mdb\object\fs8e290a.exe")
>   *COBOLのexeを起動しています。
>   (2.のファイルを参照して7.で使用するファイルを作成します)

こちらが終了する前に

>7.  DoCmd.RunMacro "cif_import"
>   *4.(COBOL)で作成したテキストファイルから
>    Accessテーブルへインポートします。

これが動いているのでは?
・ツリー全体表示

【9445】RunMacro""が実行できません。
質問  吉村  - 07/5/24(木) 12:39 -

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

以下のようなプライベートサブを作成しましたが、
7.番のマクロが実行できない時があります。
 (確立50%くらいでしか動きません)

Private Sub export_Click()
1.  Call SaveRec
   *フォームから入力したデータをテーブルに更新しています。
2.  DoCmd.RunMacro "cif_export"
   *更新したテーブルをテキストファイルに変換しています。
3.  MsgBox " 抽出条件を作成しました。 "
   *メッセージを表示しました。
4.  Call Shell("C:\sinsystem_mdb\object\fs8e290a.exe")
   *COBOLのexeを起動しています。
   (2.のファイルを参照して7.で使用するファイルを作成します)
5.  MsgBox " 抽出処理を終了しました。 "
   *メッセージを表示しました。
6.  DoCmd.RunMacro "tacifimport_delete"
   *7.で使用するテーブルを初期化しています。
7.  DoCmd.RunMacro "cif_import"
   *4.(COBOL)で作成したテキストファイルから
    Accessテーブルへインポートします。
8.  MsgBox " データベースを作成しました。 "
   *メッセージを表示しました。
End Sub

以上ですが、
7.のインポート処理が実行できる時と出来ない時があります。
(マクロの単独実行では確実に成功しています。)

イベントの組み立てに問題があるのでしょうか?

よろしくお願いします。


・ツリー全体表示

【9444】Re:レポートのスナップショット保存につい...
質問  Gin_II  - 07/5/24(木) 11:00 -

引用なし
パスワード
   > プリンターがつながっていないPCからAccess2000で出力したレポートを保存し、
> プリンターがつながっているPCへ持って行きプリントアウトしたい作業があります。

こういった用途に限定するのであれば、

[XL2000]プリントファイルを出力する方法
http://support.microsoft.com/kb/407544/ja

このような方法もありますね。^^;
・ツリー全体表示

【9443】Re:レポートのスナップショット保存につい...
回答  クロ  - 07/5/24(木) 10:41 -

引用なし
パスワード
   FileDialogを使う方法もありますがAc2002ですと
msoFileDialogSaveAs(保存用ダイアログの定数)が利用出来ません。
参考 http://support.microsoft.com/default.aspx?scid=kb;ja;282335

http://x7net.com/~access/AcTipsGetFileName.html
を参考にされるとよいと思います。

で、保存はOutputToメソッドで OutputFormat を acFormatSNP に
すれば出来ると思います。
・ツリー全体表示

【9442】Re:レポートのスナップショット保存につい...
回答  MJM  - 07/5/24(木) 10:40 -

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

使用したことがありませんが、

ヘルプには、

レポートのスナップショット オブジェクトを
Access データベースからプログラムを使ってエクスポートする方法には、
次の 2 つがあります。

SendObject メソッドを使って、メール メッセージに
レポートのスナップショットを埋め込む。

OutputTo メソッドを使って、レポートのスナップショットをディスクに保存する。

とあります。
・ツリー全体表示

【9441】レポートのスナップショット保存について
質問  くま  - 07/5/23(水) 12:31 -

引用なし
パスワード
   いつも皆様に助けていただきありがとうございます。

プリンターがつながっていないPCからAccess2000で出力したレポートを保存し、
プリンターがつながっているPCへ持って行きプリントアウトしたい作業があります。

レポートで作成しているので線や色の具合をみるとスナップショットで保存するのが一番良いと判断しましたが、EXCEL形式で保存のようにダイアログで保存場所を指定できる方法があるのでは?と何日も探していますが見当たりません。

メールに添付し送信前に保存して、メール送信はキャンセルすれば出来なくは無いのですが・・・(ネットにつながっていないので送信も出来ず、あまりにも美しくない)

 DoCmd.SendObject acSendReport, "バーコード付き商品一覧", acFormatSNP

何方からかお知恵を拝借できればと質問をしてみました。
ご存知の方、是非ヒントでも良いので宜しくお願いします。
・ツリー全体表示

【9440】Re:プロシージャ名を変数で指定して実行し...
回答  hatena  - 07/5/22(火) 15:11 -

引用なし
パスワード
   private で宣言しているからでは。

下記のようにPublic宣言したら、問題なく動きましたけど。

Public Sub main(p_prm As String)
  Dim v_prc As String
  v_prc = "prc_" & p_prm
  Application.Run v_prc
End Sub

Public Sub prc_a()
  MsgBox "prc_a!!"
End Sub

Public Sub prc_b()
  MsgBox "prc_c!!"
End Sub
・ツリー全体表示

【9439】Re:サブフォームのDLOOKUPを動かす方法
回答  MJM  - 07/5/22(火) 14:06 -

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

ボタンのクリックイベント内で、
中商品コードの更新後処理をCallしてみては?
・ツリー全体表示

【9438】解答:出来ません。
回答  ちょっと  - 07/5/22(火) 11:13 -

引用なし
パスワード
   Cにはありますが、VBには関数ポインタというものがないので
出来ません。IF文かSELECT文で記述すれば・・・

もしやろうとするとAPIを呼んでやる方法があるみたいです。
・ツリー全体表示

【9437】指定した日から今日までの日数をカウント...
質問  まり  - 07/5/22(火) 9:27 -

引用なし
パスワード
   初めまして!超初心者です。

会社の退職日までの日数をカウントで表示させたいのですがどうすればよいでしょうか??

   本日  2007/5/21 13:05:25 (txt本日)
   退職日 2007/9/21 (txt退職日)
   退職日まで あと 〜日と00:00:00 です。←カウント(txt退職日まで)

()はテキストボックスの名前です。
退職日と本日は入力可能にしたいです。


ソースを教えていただきたいです!!!
宜しくお願い致します☆
・ツリー全体表示

【9436】プロシージャ名を変数で指定して実行したい
質問  馬の耳にアーメン  - 07/5/21(月) 19:12 -

引用なし
パスワード
   表題の件ですが
 private sub main(p_prm as string)
  dim v_prc as string
  v_prc = "prc_" & p_prm
  call v
 end sub

private sub prc_a
  処理
end sub

private sub prc_b
  処理
end sub

・・・・

というのうような処理をしたいのです。
application.run v_prc
としても「プロシージャが見つかりません」
メッセージを出力してしまいます。

なにかよい方法を教えてください。
・ツリー全体表示

【9435】Re:Accessテーブルのインポートについて
お礼  吉村  - 07/5/21(月) 19:06 -

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

ご指導ありがとうございました。

コツコツと定義して、インポートできるようになりました。
手を抜こうなんて意識がどこかに働いていたようです。
・ツリー全体表示

【9434】サブフォームのDLOOKUPを動かす方法
質問  みみ  - 07/5/21(月) 17:30 -

引用なし
パスワード
   サブフォーム内の中商品コードを入力し
更新後処理で
    商品名 = DLookup("商品名", "商品T", "中商品コード='" & 中商品コード & "'")
    販売単価 = DLookup("販売単価", "商品T", "中商品コード='" & 中商品コード & "'")
    仕入単価 = DLookup("仕入原価", "商品T", "中商品コード='" & 中商品コード & "'")
    区分 = DLookup("区分初期値", "商品T", "中商品コード='" & 中商品コード & "'")

という感じで、サブフォーム内のフィールドに値を自動入力させています。

今回、フォーム内にボタンを作成しボタンをクリック時に
  Forms!販売F!販売詳細計算QSF.Form!中商品コード = "000001C"
  Forms!販売F!販売詳細計算QSF.Form![中商品コード].SetFocus
  Forms!販売F!販売詳細計算QSF.Form![数量].SetFocus
という風に入力-フォーカスセット-フォーカス移動-のイメージで上記の用に
してみたのですが、コードに000001Cは入力されますが、
更新後処理のDLOOKUPが作動しないのです。
VBAで動かすと、更新後の様な認識をしないというのがわかるのですが
どのようにすれば、自動入力を動作させることが出来るでしょうか?
・ツリー全体表示

【9433】odbcテーブルリンク
質問  だるま  - 07/5/21(月) 14:50 -

引用なし
パスワード
   こんにちは。いつも勉強させてもらっています。
ご教授よろしくお願いします。

WindowsXP、ACCESS2003、Oracle9iの環境です。

今までMDBを使用して作業をしていたのですが、
今回、Oracle9iにテーブルを移行することになりました。

Oracleに移行した後、FORMを開こうとすると、
(FORMを開くタイミングでクエリを使ってテーブルに抽出をかけています。)
【ODBC--すべてのレコードをロックできません。】
というエラーが発生し、
このエラーを回避するために、
FORMプロパティのレコードロックを「すべてのレコード」から
「編集済みレコード」に変更すると開くようになりました。

が、テーブルの更新を行うと、1〜4件目までは正常に動作するのですが、
5件目以降は【データの競合】ダイアログが表示され、
更新を行うことができなくなりました。

どうすれば正常にテーブルの更新が行われるようになるのか
何方か教えてください。
どうぞよろしくお願いします。
・ツリー全体表示

【9432】Re:レポート出力時のプリンタ指定について
発言  Gin_II  - 07/5/21(月) 0:52 -

引用なし
パスワード
   > 「Adobe PDF」(通常使うプリンタではない)を選択する機能を設けたい

直接的な回答ではありませんが、最終的にお望みのことが、PDFでの出力で
あれば、

ReportToPDF - レポートを簡単 PDF 出力
http://x7net.com/~access/index.php?option=com_smf&Itemid=33&topic=144.0

こういった方法もありますよ。
・ツリー全体表示

【9431】Re:レポート出力時のプリンタ指定について
質問  SOS  - 07/5/20(日) 20:22 -

引用なし
パスワード
   kohjiさん

こんばんは、ご指示したとおり、やってみましたが、思ったどおり動いてくれません。

>WN.SetDefaultPrinter "プリンタ名"
>
>プリンタ名ですが
>[スタート] → [設定] → [プリンタとFAX]をクリックすると
>[プリンタとFAX]画面にPC上で認識しているプリンタ一覧が表示されますが
>ここで表示されているプリンタ名を指定してください

プリンタ一覧から該当プリンタ名をメモにしておきます。
WN.SetDefaultPrinter "プリンタ名"に書きます。
>
>DoCmd.OpenReport "テスト用クエリ", acViewPreview, "", "", acNormal
>
>「テスト用クエリ」レポートをデザイン画面で開き
>[ファイル] → [ページ設定] → [ページ設定]ダイアログボックス
>[ページ]タブをクリック → [通常使うプリンタ]にチェックをしてください
>
テスト用クエリはすでに[通常使うプリンタ]になっています。
・ツリー全体表示

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