Access VBA質問箱 IV

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

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


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

【6311】ACCESSのフリーソフトへの変換
質問  たっさん  - 05/9/18(日) 9:03 -

引用なし
パスワード
   ACCESSの質問の趣旨より外れるかもしれませんが、宜しくお願いします。
ACCESSで料理教室のプログラムを作成しましたが、このプログラムを
ACCESS以外(ソフトに依存しない)言語で組み替えたいのですが、何の
言語を使用すればよいのでしょうか。できれば雑誌の付録に付いている
CDのようにインストールするだけで使えるような状態にしたいのですが?。
よろしくお願いします。
・ツリー全体表示

【6310】Re:テーブル間データの重複禁止について
お礼    - 05/9/17(土) 10:39 -

引用なし
パスワード
   返信が遅くなりました。今確認しOKでした。ありがとうございました。
・ツリー全体表示

【6309】Re:フォームの移動について
回答  てっちゃん  - 05/9/17(土) 9:32 -

引用なし
パスワード
   ▼なとり さん:
こんにちは

予想ですが、
フォームの「アクティブ時」イベントで[最大化]し、
「非アクティブ時」イベントで[元のサイズに戻す]していませんか?

「非アクティブ時」に[元のサイズに戻す]をしなければ
最大化のまま保持されると思います。

> 1.メニュー(A画面)から一覧画面(B画面)を開く
> 2.処理画面(C画面)を開く
> 3.C画面を閉じる
> 4.B画面を閉じる

この流れでいけば、
A画面を開いた時に(「開く時」イベントで)[最大化]し、
B画面を閉じる時に(「閉じる時」イベントで)[元のサイズに戻す]
すれば良いのではないかと思います。
(「アクティブ時」「非アクティブ時」イベント不要)


予想の上の回答なので、違ってたらごめんなさい。
・ツリー全体表示

【6308】Re:フォームの移動について
質問  なとり  - 05/9/16(金) 19:10 -

引用なし
パスワード
   ▼クロ さん:
>こんにちは、クロです。
>
>▼なとり さん:
>>現在、複数の画面を作成し、画面遷移を行っています。
>>(メニュー画面から処理画面に遷移するといった感じです。)
>
>この方法を詳しく書かれたほうがよいかと...

こんにちは、クロさん ご指摘ありがとうございます。
そして、説明内容が不足していまして、すみませんでした。

画面遷移の方法を補足いたします。
1.メニュー(A画面)から一覧画面(B画面)を開く
2.処理画面(C画面)を開く
3.C画面を閉じる
4.B画面を閉じる

というような、画面遷移を行っていて、呼ばれたフォーム(全画面)は
"DoCmd.Maximize" を行っています。
(今は"Form_Activate"で行っています。)

上記の1〜4の動作を行うと、
1は、ちょっとだけB画面が大きくなる瞬間が見えます。
2は最大化される瞬間は、ほとんど見えません。(画面がチラつく程度)
3はちょっとだけB画面が大きくなる瞬間が見えます。
4は最悪です。A画面が最大化されるのが、かなり見えます。
(表現が難しかったので、このような記述になりましたが、
これで、伝わるでしょうか?)

原因?は別のフォームが最大化されると、(または非アクティブになると?)
最大化表示が解除され、アクティブになるときに最大化される。
ということだと思っています。


下記はフォームをオープン/クローズするために使用しているコマンド
です。

1)のB画面オープン方法
  DoCmd.OpenForm "B画面", , , acFormEdit

2)のC画面オープン方法
  DoCmd.OpenForm "C画面", , , stLinkCriteria
  ※stLinkCriteriaはC画面で表示するレコードの条件

3)のC画面クローズ方法
  DoCmd.Close acForm, Me.Name
  ※B画面を呼ぶような処理はしていません。

4)のB画面クローズ方法
  DoCmd.Close acForm, Me.Name
  ※A画面を呼ぶような処理はしていません。


最初は、Form_Load時に重たい処理しているせいで、起きているのかと
思っていましたが、戻ってきたときには、Form_Load部分は処理されて
いませんでした。
また、A画面の"Form_Activate"では、なにも処理していません。
プロパティでなにか設定があるのではと、色々といじくってみましたが、
現象は解決できません。

画面遷移の時に最大化されるのを表示しない方法はないものでしょうか?
説明が上手にできないので、ご迷惑をおかけしますが、よろしくお願いします。
・ツリー全体表示

【6307】Re:ファンクションキーの使い方
お礼  ジュン  - 05/9/16(金) 18:04 -

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

ありがとう御座いました。 一部に問題がありますがご指摘の通りに修正したら出来そうですので 色々とテストをやって見ます。本当にありがとうございました。
・ツリー全体表示

【6306】Re:DoCmd.RunMacroについて教えて下さい。
お礼  リュウマック  - 05/9/16(金) 15:51 -

引用なし
パスワード
   クロ さんへ

>()はいりませんよ。
>それと後に何か処理されていますか?マクロの処理が終わる前に
>次の処理が開始されているのでは?

いろいろやってみましたが、結局上手く行かず、
ACCESSのマクロでやっていることをVBAに置き換えて、マクロを使わずに処理して
何とか望みの処理が出来ました。
いろいろと、ご教示ありがとうございました。
・ツリー全体表示

【6305】Re:フォームの移動について
発言  クロ  - 05/9/16(金) 11:55 -

引用なし
パスワード
   こんにちは、クロです。

▼なとり さん:
>現在、複数の画面を作成し、画面遷移を行っています。
>(メニュー画面から処理画面に遷移するといった感じです。)

この方法を詳しく書かれたほうがよいかと...
・ツリー全体表示

【6304】Re:ファンクションキーの使い方
回答  TOMO  - 05/9/15(木) 23:41 -

引用なし
パスワード
   ジュンさん、こんばんは。
下記でどうでしょうか?
無効なファンクションキーをコメントにせずに「KeyCode = 0」で
無効にして「Else MsgBox」、及び最後の「KeyCode = 0」の行は削除します。

日付を入力してEnterキーを押下しますとKeyDownイベントが発生し
KeyCodeにはvbKeyReturn(13)が入りますが、下記の処理では何も
行わずに処理を抜けることになります。

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'---------ファンクションキーの設定----------------
  Select Case KeyCode
      Case vbKeyF1: cmd新規_Click
      Case vbKeyF2: cmd全表示_Click
      Case vbKeyF3: cmd削除_Click
      Case vbKeyF4: KeyCode = 0
      Case vbKeyF5: cmdクリア_Click
      Case vbKeyF6: cmd行クリア_Click
      Case vbKeyF7: KeyCode = 0
      Case vbKeyF8: KeyCode = 0
      Case vbKeyF9: cmd登録_Click
      Case vbKeyF10: cmd伝票_Click
      Case vbKeyF11: cmd印刷_Click
      Case vbKeyF12: cmd終了_Click
  End Select
End Sub
・ツリー全体表示

【6303】フォームの移動について
質問  なとり  - 05/9/15(木) 17:47 -

引用なし
パスワード
   いつも拝見させていただいています。
質問をさせていただきたいので、ご存知の方見えましたら、ご教授ください。

現在、複数の画面を作成し、画面遷移を行っています。
(メニュー画面から処理画面に遷移するといった感じです。)

画面の表示は最大化(DoCmd.Maximize)して表示していますが、
画面遷移するタイミングで、最大化される遷移先の画面が一瞬見えてしまいます。
この画面が最大化されるのを見せないように画面遷移を行うことは
できないのでしょうか?

よろしくお願い致します。
・ツリー全体表示

【6302】Re:DoCmd.RunMacroについて教えて下さい。
発言  クロ  - 05/9/15(木) 17:29 -

引用なし
パスワード
   >だと私も思うのですが、・・上手くいかないんです。
>(独習なのでよく分かりませんが、ACCESSのマクロとVBAが動くタイミング的なズレが
>有るような無いような気がしています・・・PCがおかしい?)
>続けて調べてみます。

()はいりませんよ。
それと後に何か処理されていますか?マクロの処理が終わる前に
次の処理が開始されているのでは?
・ツリー全体表示

【6301】Re:DoCmd.RunMacroについて教えて下さい。
質問  リュウマック  - 05/9/15(木) 17:23 -

引用なし
パスワード
   ▼クロ さん:
ありがとうございます。

>でしたら
>DoCmd.RunMacro "Mメイン画面に戻る"
>でいいと思います。

だと私も思うのですが、・・上手くいかないんです。
(独習なのでよく分かりませんが、ACCESSのマクロとVBAが動くタイミング的なズレが
有るような無いような気がしています・・・PCがおかしい?)
続けて調べてみます。
・ツリー全体表示

【6300】Re:追加クエリでできますか?
お礼  ツイン  - 05/9/15(木) 16:50 -

引用なし
パスワード
   ▼クロ さん:
>INSERT INTO テーブルC ( ID, F1 )
>SELECT テーブルA.ID, [F3] & [F2] AS 式1
>FROM テーブルA INNER JOIN テーブルB ON テーブルA.ID = テーブルB.ID;

クロ 様

早速の回答ありがとうございました。
上記内容で追加できました。
昨日から色々なサイトで検索していましたがみつからず
ずーーーーっと悩んでいました(^^;

これで完成することができます(TOT)
クロ様、本当にありがとうございました!
・ツリー全体表示

【6299】Re:DoCmd.RunMacroについて教えて下さい。
回答  クロ  - 05/9/15(木) 16:31 -

引用なし
パスワード
   でしたら
DoCmd.RunMacro "Mメイン画面に戻る"
でいいと思います。
・ツリー全体表示

【6298】Re:ファンクションキーの使い方
質問  ジュン  - 05/9/15(木) 16:28 -

引用なし
パスワード
   ▼TOMO さん:
早速のお返事有難う御座います。
誠に申しわけないですが、具体的なコードの書き方を教えて頂きたいのですが。

ENTERキー以外の数字キーとか矢印キーとかファンクションキー以外はアウトです。

すみません、お願いします。
・ツリー全体表示

【6297】Re:DoCmd.RunMacroについて教えて下さい。
質問  リュウマック  - 05/9/15(木) 16:19 -

引用なし
パスワード
   クロ さんへ
説明が不十分でした。すみません。
DBのマクロウィンドウ内のマクロ名が「Mメイン画面に戻る」です。
で DoCmd.RunMacro "Mメイン画面に戻る" としています。
マクログループを設定しないとだめなのでしょうか。

>データベースウィンドウのマクロウィンドウ内のマクロ名を仮に「マクロ1」と
>しますと。
>DoCmd.RunMacro "マクロ1.Mメイン画面に戻る"
>かな?
>ヘルプより
>マクログループ名.マクロ名と書きます。
・ツリー全体表示

【6296】Re:追加クエリでできますか?
回答  クロ  - 05/9/15(木) 16:18 -

引用なし
パスワード
   INSERT INTO テーブルC ( ID, F1 )
SELECT テーブルA.ID, [F3] & [F2] AS 式1
FROM テーブルA INNER JOIN テーブルB ON テーブルA.ID = テーブルB.ID;

でいいのですか?
フィールド名が分からないから、001の部分は「ID」とし、以降はF1、F2、F3
としました。
・ツリー全体表示

【6295】追加クエリでできますか?
質問  ツイン  - 05/9/15(木) 14:16 -

引用なし
パスワード
   2つのテーブル(A・B)の異なるフィールドより、
文字列を結合して、別テーブル(C)に新規レコードの追加をしたい。
これを「追加クエリ」で設定できませんか?
やっぱり、VBAで記述しないと無理なのでしょうか?
すみませんが、教えて下さい<(__)>

・テーブルA
001|123|AAA|あああ|
005|456|BBB|いいい|
・テーブルB
001|◇|○|△|
005|◆|●|▲|

・テーブルC
001|△123|
005|▲456|
・ツリー全体表示

【6294】Re:DoCmd.RunMacroについて教えて下さい。
回答  クロ  - 05/9/15(木) 14:07 -

引用なし
パスワード
   こんにちは、クロです。
データベースウィンドウのマクロウィンドウ内のマクロ名を仮に「マクロ1」と
しますと。

DoCmd.RunMacro "マクロ1.Mメイン画面に戻る"

かな?

ヘルプより
マクログループ名.マクロ名と書きます。
・ツリー全体表示

【6293】DoCmd.RunMacroについて教えて下さい。
質問  リュウマック  - 05/9/15(木) 12:05 -

引用なし
パスワード
   ACCESS2000のイベントプロシージャ内のDoCmd.RunMacroについて教えて下さい。

ACCESSのフォームで「Mメイン画面に戻る」ボタンをクリックでイベントプロシージャを指定しています。
このプロシージャの中でACCESSのマクロを使ってACCESSのテーブルの更新と他の操作を
行わせていますが、テーブルの更新処理でエラー表示は無く処理終了のメッセージも出ますが 
テーブルの更新がされません。

イベントプロシージャからでなく、ACCESSのマクロを単独に実行すると更新は上手くいきます。
プロシージャの中でACCESSのマクロを動かし、その後またプロシージャに戻って処理をさせたいのですが、
なにかコツがあるのでしょうか。


[ACCESS]フォーム
  ボタン「Mメイン画面に戻る」 (クリックするとイベントプロシージャが働く) 

[ACCESS]クエリー   
  TBL全更新1(事業部名、部課コード、処理時刻などの更新)
  TBL全更新2(入力数値項目などの更新)

[ACCESS]のマクロ
  "Mメイン画面に戻る"
      クエリーを開く (TBL全更新1)
      クエリーを開く (TBL全更新2)
       ・
       ・
      閉じる     (フォームを閉じる、オブジェクは保存する)
      メッセージボックス (処理終了のメッセージを表示)

[イベントプロシージャ]
    ・
    ・
   DoCmd.RunMacro ("Mメイン画面に戻る")
    ・
    ・
    ・
以上お忙しいとは思いますが、何かヒントが有ればよろしくお願いします。
・ツリー全体表示

【6292】Re:ファンクションキーの使い方
回答  TOMO  - 05/9/14(水) 22:42 -

引用なし
パスワード
   ジュンさん、こんばんは。
日付を入力して「Enter」キーを押下しますと
当然Form_KeyDownが実行され、KeyCodeには
「vbKeyReturn」が入りElseになりますので、
「無効なファンクションキーです」が表示されます。
KeyCodeが「vbKeyReturn」の時の処理を考えられ
たらどうでしょうか。
尚、「無効なファンクションキー」を、はじめから
クリック、押下できないようにすればあえてメッ
セージを表示する必要もないのではと思いますが−。

キーボードから何かキーが入力されますとKeyDown
イベントが発生します。KeyCodeにはファンクション
キー以外の値が入ってくることをお忘れなく!
・ツリー全体表示

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