Access VBA質問箱 IV

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

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


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

【11478】Re:クエリについて
お礼  かお E-MAIL  - 10/2/23(火) 11:08 -

引用なし
パスワード
   ▼超初心者 さん:

アドバイスありがとうございます
あれから何度もトライしてますが、やはりいまいちうまくいきません

もうすこし勉強してみます
・ツリー全体表示

【11477】Re:SQL
発言  超初心者  - 10/2/23(火) 8:44 -

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

SQL文内の該当項目の部分をテキストボックス1の
内容で置き換えると良いです。
・ツリー全体表示

【11475】SQL
質問  takashi  - 10/2/22(月) 22:27 -

引用なし
パスワード
   こんばんわ。
フォーム1内にテキストボックス1、コマンドボタン1 が配置してあります。
フォーム1のコマンドボタン1内のマクロのSQL文で指定のクエリをテキストボックス1内の項目で処理するにはSQL文でどのように入力すればいいのでしょうか?
・ツリー全体表示

【11473】Re:コマンドボタン
回答  Gin_II  - 10/2/20(土) 0:23 -

引用なし
パスワード
   >印刷時にコマンドボタンを非表示にさせる方法ってありますか?

コマンドボタンのプロパティに、「表示対象」とかないですか?
・ツリー全体表示

【11472】Re:閉じるボタンと BeforeUpdateイベント
お礼  わさび  - 10/2/19(金) 16:57 -

引用なし
パスワード
   ▼YU-TANG さん:

APIは未経験なので、これから勉強しないといけませんが、
私では思いつかないアイデアで、発想の幅が広がりました。
ありがとうございます!
・ツリー全体表示

【11471】Re:テーブルのフィールドにflgをたてるに...
お礼  にしもり  - 10/2/19(金) 16:03 -

引用なし
パスワード
   自己レスです。
Yes/No型にしました。
そして、(フォームのリストボックスにはいったんクエリを通じて値を表示させてるんですが、)クエリのフィールドリストからドラッグ&ドロップしたら、

If チェック4 = True Then
DoCmd.GoToControl "フィールド15" = 1
End If

If チェック5 = True Then
DoCmd.GoToControl "フィールド16" = 1
End If

の箇所を記述してなくても出来てしまいました。
お騒がせしました。
でも、出来た理由は解っていません。(--:)
・ツリー全体表示

【11470】Re:テーブルのフィールドにflgをたてるに...
質問  にしもり  - 10/2/19(金) 15:25 -

引用なし
パスワード
   自己レスです。
下記のように記述してみましたが、型が一致しません、と出ます。
trueのとき1を立てたい場合、テーブルの フィールド15、16は、
何型にしておけばよいのでしょうか。
ちなみにテキスト型でも数値型でも、型が一致しません、と出てしまいます。

Private Sub コマンド39_Click()
On Error GoTo Err_コマンド39_Click

If チェック4 = True Then
DoCmd.GoToControl "フィールド15" = 1
End If

If チェック5 = True Then
DoCmd.GoToControl "フィールド16" = 1
End If


  DoCmd.GoToRecord , , acNext

Exit_コマンド39_Click:
  Exit Sub

Err_コマンド39_Click:
  MsgBox Err.Description
  Resume Exit_コマンド39_Click
  
End Sub
・ツリー全体表示

【11469】テーブルのフィールドにflgをたてるには
質問  にしもり  - 10/2/19(金) 13:38 -

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

フォ-ムにリストボックスと、チェックボックスたちと、ボタンをつくりました。
tableの14番目の値をリストボックスに表示させ、
操作者の任意でチェックボックスにチェックをいれます。
と、ここまではできました。

いま、
チェック4という名前のチェックボックスがtureだっら
当該レコードの右から15番目のフィールドに"1"をたてる。

チェック5という名前のチェックボックスがtureだっら
当該レコードの右から16番目のフィールドに"1"をたてる。

そして次のレコードを表示する、、、、、、ということをしていきたいです。


Private Sub コマンド39_Click()
On Error GoTo Err_コマンド39_Click
'ここに
'「チェック4という名前のチェックボックスがtureだっら
'当該レコードの右から15番目のフィールドに"1"をたてる。
'
'チェック5という名前のチェックボックスがtureだっら
'当該レコードの右から16番目のフィールドに"1"をたてる。」というロジックが要るのはわかるのですが、
'これではうごきません。

If チェック4 = True Then Field15 = 1
If チェック5 = True Then Field16 = 1


  DoCmd.GoToRecord , , acNext

Exit_コマンド39_Click:
  Exit Sub

Err_コマンド39_Click:
  MsgBox Err.Description
  Resume Exit_コマンド39_Click
  
End Sub


どうすればいいでしょうか。
おばかですみません。
・ツリー全体表示

【11468】Re:閉じるボタンと BeforeUpdateイベント
回答  YU-TANG  - 10/2/19(金) 10:28 -

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

> If A) 仮想マウス左ボタンが押されていたら

これ成立しないですね。
実際にクリックされたことになるのは、左ボタンが離された後ですから、
GetAsyncKeyState で調べてもボタンは押されていないことになります。
今さっき押されたかどうかを調べるとなると、メッセージをポーリング
するしかないと思いますが、そうすると結局サブクラス化になっちゃいますね。

かといって、サブクラス化以外で判定しようとすると、条件が

>  If B) マウスカーソルが自フォームの閉じるボタンの真上にあれば

しか残りません。
これでは、クリックしてなくても、たまたまカーソルが上にあるだけで
誤判定しますから、幾らなんでも実用的ではないですね。

ちょっと手詰まりの予感がしますが。
どなたか良案ないか、待ってみましょうか。

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

【11467】Re:複数条件
発言  超初心者  - 10/2/19(金) 9:14 -

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

こんな感じでいかがでしょう。

Dim myLooP As Integer
Dim myWHERE As String

For myLooP = 1 To 6
  If Nz(Me("テキストボックス" & myLooP).Value, "") <> "" Then
    myWHERE = myWHERE & " AND " & Me("テキストボックス" & myLooP)
  End If
Next myLooP

myWHERE = "WHERE " & Mid$(myWHERE, 6)

Debug.Print myWHERE

(条件を接続する"AND"は、場合によって"OR"に変更?)


参考までに。
・ツリー全体表示

【11466】Re:閉じるボタンと BeforeUpdateイベント
回答  YU-TANG  - 10/2/18(木) 23:45 -

引用なし
パスワード
   わさびさん、こんばんは。

> アプリケーションの「閉じるボタン」は考えてませんでした。
> が、私の力では対応できないため、今回は無視いたします。

そうですか。
では自フォームのみ対象ということで。

API 必須になりますが、たぶんアプローチとしては大きく

1) フォームをサブクラス化してメッセージをフック(たぶん WM_NCLBUTTONDOWN あたり)
or
2) それ以外

になるのではないかと思います。
確実なのは 1 なのですが、VBA 単独でのサブクラス化は
危険すぎて勧められないので、必然的に 2 になります。

考え方としては、ベタですがおそらくこんな感じ。

If A) 仮想マウス左ボタンが押されていたら
  If B) マウスカーソルが自フォームの閉じるボタンの真上にあれば
    ' C) 閉じるボタンがクリックされた!(たぶん…)

1 よりも精度は落ちますが(理論上、誤判定の余地が残る)、
実用には耐えるはず。

必要と思われる API を列挙しておきます。

A)
GetAsyncKeyState
GetSystemMetrics(SM_SWAPBUTTON)

B)
GetCursorPos
SendMessage(WM_NCHITTEST)

組んでいくと他にも必要になるかもしれませんが。

一般的にはもっと、ウィンドウの検査とか、ウィンドウが重なっている
場合の考慮とかが必要ですが、BeforeUpdate イベントが走る状況なら
自フォームが可視・アクティブと考えてほぼ間違いないと思われるので、
かなり簡略化できるでしょう。

なお同件のトピック準備中ですが、今週中はまず間に合わないので、
たぶん待つよりご自分で書いたほうが早いです。
あるいは、もっと良い案があるかもしれないので、他の方のレスを
お待ちになってみてもよいかと思います。

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

【11465】複数条件
質問  あした  - 10/2/18(木) 22:55 -

引用なし
パスワード
   こんばんわ。
フォームに複数のテキストボックスを配置してあります。
テキストボックス1
テキストボックス2
テキストボックス3
テキストボックス4
テキストボックス5
テキストボックス6

この複数のテキストボックスの1と2の条件で抽出
または、1と4の条件で抽出
というように複数の一致条件(あいまい検索というのでしょうか?)
で抽出する場合にはどのような方法を用いればいいのでしょうか?
・ツリー全体表示

【11464】Re:クエリについて
発言  超初心者  - 10/2/18(木) 14:00 -

引用なし
パスワード
   ▼かお さん:
クエリ2を元にクロス集計クエリを作ります。
(仮に【クエリ3】とします)

TRANSFORM First(分類) AS 分類の先頭
SELECT 品目, 分類
FROM クエリ2
GROUP BY 品目, 分類
PIVOT 番号;

クエリ1とクエリ3を品目でリレーション
してみてはいかがでしょう。


参考までに。
・ツリー全体表示

【11463】Re:閉じるボタンと BeforeUpdateイベント
発言  わさび  - 10/2/18(木) 8:41 -

引用なし
パスワード
   ▼YU-TANG さん:

ありがとうございます。

アプリケーションの「閉じるボタン」は考えてませんでした。
が、私の力では対応できないため、今回は無視いたします。

該当フォームの「閉じるボタン」をクリックすることは、
今回のソフトでは「通常の操作」ですが、
該当フォームが開いている状態で、
アプリケーションの「閉じるボタン」をクリックすることは、
このソフトでは「正しくない操作」になるため、
「間違った使い方をしたからよ」と言い訳したいと思います(-_-;

なお、当方は2000もしくは2003を使用しております。
・ツリー全体表示

【11462】Re:閉じるボタンと BeforeUpdateイベント
質問  YU-TANG  - 10/2/18(木) 1:56 -

引用なし
パスワード
   ちょっと確認させていただいてよろしいですか。
「閉じるボタン」とは当然フォームの「閉じるボタン」を指していると
思いますが、アプリケーションの「閉じるボタン」は、どうするおつもり
ですか?

# それとも 2007 で SDI だと一つしかないのかしら?
・ツリー全体表示

【11461】コマンドボタン
質問  かき  - 10/2/17(水) 22:25 -

引用なし
パスワード
   印刷時にコマンドボタンを非表示にさせる方法ってありますか?
・ツリー全体表示

【11460】クエリについて
質問  かお  - 10/2/17(水) 20:17 -

引用なし
パスワード
   どうしても、うまくいかなくて困っています
アドバイスお願いします

クエリが2つあります

【クエリ1】
↓下記のようなクエリが6万件ほどデータがあります

区分1 | 区分2 | 区分3 | 品目|
-----------------------------
 1           A
     2       B
         3   C
     2       D
         3   E

【クエリ2】
↓下記のようなデータが10万件あります
品目| 番号 | 分類 | 
A   1   ☆
A   2   ☆
A   3   ☆
A   4   ▽  
B   1   ●
B   2   ●
B   3   ●
C   3   ■
C   4   ■
C   5   ■
       
クエリ1のデータとクエリ2を2つのクエリを【品目】をキーにして下記のような表にしたいのですが
どうもうまくいきません

区分1 | 区分2 | 区分3 | 品目 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |…続く
 1            A  ☆ ☆ ☆
 1            A        ▽
     2        B  ● ● ●
         3    C      ■ ■ ■

今の状況はこんな感じです

区分1 | 区分2 | 区分3 | 品目 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |…続く
 1            A  ☆
 1            A    ☆
 1            A      ☆
 1            A        ▽
     2        B  ●
     2        B    ●
     2        B      ●
         3    C      ■
         3    C        ■
         3    C          ■       

フィールドの番号の箇所にそれぞれ下記のような式をいれています
例)フォールド項目が[1]の箇所↓
式1:IIF([クエリ2]![番号]="1",[クエリ2]![分類],"")

この式の書き方がよくないのでしょうか?
どうしたら、うまくいくのでしょうか?


         
・ツリー全体表示

【11458】Re:フォームのチェックボックス
発言  小僧  - 10/2/16(火) 17:15 -

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

> チャックボックスをYes Noで判断させるにはクエリにどのような条件を
> 入力すればいいのでしょうか?

フォームの作りやテーブル構造によって
様々な仕様が考えられますので
ちょっと情報不足かと思われます。

ご提示された情報から
当方が想像力をフルに働かせて回答すると

クエリの報告済フィールドの抽出条件に

Forms![フォームA]![報告済チェックボックス]

で対応する事が可能かな、と思われます。
・ツリー全体表示

【11457】Re:Accessからメールの送信
発言  小僧  - 10/2/16(火) 17:07 -

引用なし
パスワード
   ▼K&MM さん:
こんにちは。

Accessからメール送信を行った事はないのですが
なかなか回答が付かない様ですので…。

> Access2003からメール送信したい
> Me.cmd.HyperlinkAddress "mailto:

Accessからメール送信をする手段として
良く使用されるのは

・HyperlinkAddress
・SendObject
・BASP21

の様な手段があるかと思われます。

上2つに関してはお手軽に使用できる代わりに
細かい設定までできない事や数々のバグ報告等
あまり芳しくない情報があります。

BASP21に関してはライセンスフリーのDLLで
AccessVBAからも利用が可能です。

技術的な難易度は上がりますが
メーラーに依存せずに使える点や
動作の安定性などから
多くの方が使われているDLLです。

Web上にも色々な方がサンプルがありますので
ご挑戦されてみてはいかがでしょうか。
・ツリー全体表示

【11456】閉じるボタンと BeforeUpdateイベント
質問  わさび  - 10/2/16(火) 13:24 -

引用なし
パスワード
   フォームを閉じる際の処理について質問致します。

フォーム上のテキストボックスにフォーカスがある状態で、
「閉じるボタン」をクリックすると、
フォームのCloseイベントよりも先に、
テキストボックスのBeforeUpdateイベントが走ってしまいます。
これは当然の仕様ではありますが、
「閉じるボタン」をクリックしたときには、
BeforeUpdateイベントを走らせたくありません。

そこで、BeforeUpdateイベントの処理に、
「閉じるボタンがクリックされたとき以外」という条件式を追加すれば、
この問題は解決できるかと思って、いろいろ調べてみたのですが、
「閉じるボタンがクリックされた」ということがどうやったらわかるのか、
調べきることができませんでした。
どなたかご存知の方がいらっしゃいましたら、教えていただけませんでしょうか。
もしくは、他にいい方法はありませんでしょうか。

「閉じるボタン」で解決できなければ、
最終的には無効にして、コマンドボタンで対応する方法も考えてはおります。
何卒、宜しくお願い致します。
・ツリー全体表示

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