Access VBA質問箱 IV

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

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


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

【10175】Re:テーブルの中での選択方法
発言  mai  - 08/1/27(日) 22:07 -

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

ご回答ありがとうございます。


>テーブルでは同じようにできません。
>テーブルでは、フォームと異なっていろいろ制限が多いのです。

っということは、テーブルでコンボボックスの絞込みができないということは、
一つのリストに長々と選択項目を作るしかないということなのでしょうか…?

フォームのようには、うまくいかないんですね。
・ツリー全体表示

【10174】Re:テーブルの中での選択方法
回答  hatena  - 08/1/27(日) 21:36 -

引用なし
パスワード
   >この前、フォームでのコンボボックスの選択の絞込みは解決したのですが、
>テーブル上でも、全く同じように、簡単にコンボボックスで絞込み選択をしていきたいということなんですが・・・

テーブルでは同じようにできません。
テーブルでは、フォームと異なっていろいろ制限が多いのです。
・ツリー全体表示

【10173】Re:データベース上でチェックをしてメー...
回答  YU-TANG  - 08/1/27(日) 15:11 -

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

▼ナカゴン さん:
>サンダーバードのメールソフトをチェックボックスにチェックすることにより自動的にメールソフトを起動する方法はありますでしょうか?

開くだけなら、Shell でいいと思いますが。

Shell "C:\Program Files\Mozilla Thunderbird\thunderbird.exe",vbNormalFocus

みたいな。

パスが端末によって異なる可能性があるようなら、下記レジストリから
CuyrrentVersion が取れます。

HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Thunderbird

CuyrrentVersion が取れれば、後は Windows\CurrentVersion\Uninstall
から Exe のパスを取ってもいいし、前述のサブキーからさらに下の
Main キーを追ってもいいです(たぶん)。

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

【10172】データベース上でチェックをしてメールソ...
質問  ナカゴン  - 08/1/27(日) 2:20 -

引用なし
パスワード
   フリーのメールソフトでサンダーバードを利用しているのですが、チェックボックスにチェックを入れると同時にメールソフトが起動するようにしたいのですが開けません、ちなみにアウトルックだと下記の記述で開く事が可能なのですが、このサンダーバードのメールソフトをチェックボックスにチェックすることにより自動的にメールソフトを起動する方法はありますでしょうか?

<アウトルックの記述>
Private Sub チェック9_click()
Me.テキスト11 = Now
Set m_olapp = CreateObject("outlook.application")
Set m_namespace = m_olapp.getnamespace("mapi")
Set m_folder = m_namespace.getdefaultfolder(6)
m_folder.display

モジュールには下記の記述によりVBA宣言をしております。
Option Compare Database

Dim m_olapp As Object
Dim m_namespace As Object
Dim m_folder As Object
Dim m_item As Object
Dim m_recvitem As Object
・ツリー全体表示

【10171】Re:テーブルの中での選択方法
質問  mai  - 08/1/25(金) 15:37 -

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

フォーム上で新しく製品を登録するのではなくて、
テーブル上で入力するときにコンボボックスを使って、選択を絞っていきたいということです。

うまく説明ができなくて・・・すみません。

この前、フォームでのコンボボックスの選択の絞込みは解決したのですが、
テーブル上でも、全く同じように、簡単にコンボボックスで絞込み選択をしていきたいということなんですが・・・

言いたい事、分かっていただけると嬉しいですが・・・。
・ツリー全体表示

【10170】Re:テーブルの中での選択方法
質問  VBWASURETA  - 08/1/25(金) 9:37 -

引用なし
パスワード
   ▼mai さん:
おはようございます。

多分ですが、それってフォーム上で新しく製品を登録したいって
話ですか?

例えば、

分類
01 照明

2.リスト
01 1−1  間接
01 1−2  スポット
01 1−3  スタンド

が表示されて

新規に

01 1−4  ライト

追加とかでしょうか?


因みに前回話しました。

SELECT [商品テーブル].[製品名] FROM 分類マスタ INNER JOIN 商品テーブル ON [分類マスタ].[商品分類]=[商品テーブル].[商品分類] WHERE ([分類マスタ].[アイテム名])=[Forms]![フォーム名]![コンボ名]);

この部分ですが、これはテーブル同士を繋げるクエリーです。
このクエリーのような条件でテーブルを繋げる追加クエリーで作れば
出来ると思います。
・ツリー全体表示

【10169】テーブルの中での選択方法
質問  mai  - 08/1/24(木) 20:29 -

引用なし
パスワード
   テーブルにデータを入力するのですが、その際、
選択リストを作って、そこから選んで、さらに、2段階目で1回目に選択した項目によって、選ぶリストが変わるという方法を知りたいのですが、
分かる方教えていただけませんでしょうか?

この前、フォームでのコンボボックスの選択方法は解決できたのですが、
テーブルだと、うまくいかず、どうしたらいいのか分かりません。

例えば、

1.リスト
分類 アイテム
01 照明
02 家具
03 家電

2.リスト
分類  CD  製品名
01 1−1  間接
01 1−2  スポット
01 1−3  スタンド
02 2−1  ベッド
02 2−2  デスク
02 2−3  椅子
03 3−1  冷蔵庫
03 3−2  レンジ


上記のリストで、1.リストから照明を選ぶと、2.のリストの分類01の項目のリストがでてくるようにしたいのですが・・・

教えてください。

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

【10168】Re:コンボボックスについて
回答  VBWASURETA  - 08/1/23(水) 16:48 -

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

こんにちは。

すみません。サンプルが悪かったみたいで

>DoCmd.Requery forms![入力]![アイテム名]



DoCmd.Requery forms![入力]![製品名].Name

です。


後、下記のエラーですが、エラー内容は正しいでしょうか?
合っているのでしたら、「DoComd」ではなく「DoCmd」ですね。

>『’DoComd' マクロを見つけることができません』
・ツリー全体表示

【10167】Re:コンボボックスについて
質問  mai  - 08/1/23(水) 15:44 -

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

どうしても、できなかったので、
とりあえず、例の通りにテーブルなどそのまま作成してやってみました。
たぶん、値集合ソースの式はうまくいったようなのです。

ちなみに、
フォームの名は『入力』
1.番目に選択するコンボボックスの名は、『アイテム名』
2.番目に選択するコンボボックスの名は、『製品名』です

コンボボックスの切り替えの件ですが、
コンボボックス『製品名』のプロパティ(フォーカス喪失時)に

DoCmd.Requery forms![入力]![アイテム名]

と入力したのですが、

『’DoComd' マクロを見つけることができません』
と表示されてしまいます。

どうしてでしょうか?

何度もすみません・・・
・ツリー全体表示

【10166】Re:CopyFolderについて
お礼  kiki  - 08/1/23(水) 13:23 -

引用なし
パスワード
   ▼VBWASURETA さん:
ご丁寧に有難うございます。
一度、調べてみます。
・ツリー全体表示

【10165】Re:他のテーブルを参照した更新について
お礼  かめ  - 08/1/23(水) 13:11 -

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

>Update テーブルa, テーブルb set [テーブルa]![品目] = [テーブルb]![品目] >Where [テーブルa]![番号] = [テーブルb]![番号]

上記のクエリで出来ました。
ありがとうございました。

感謝、感謝 です。

本当にありがとうございました。
・ツリー全体表示

【10164】Re:他のテーブルを参照した更新について
発言  VBWASURETA  - 08/1/22(火) 20:13 -

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

補足です。

テーブル同士の更新は可能です。
ちょっとSQL文が正しいか未確認ですが、実際数年前まで使って更新してました。

Update テーブル名 Set [更新テーブル名]![更新フィールド名] = [セットする値] Where [条件内容]

だったと思います。
今は確認できませんが、自分も後ほど確認してみます。
・ツリー全体表示

【10163】Re:他のテーブルを参照した更新について
回答  VBWASURETA  - 08/1/22(火) 19:24 -

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

こんばんは。
ちょっと確認してないので、SQL文が間違っているかも知れませんが。

Update テーブルa, テーブルb set [テーブルa]![品目] = [テーブルb]![品目] Where [テーブルa]![番号] = [テーブルb]![番号]

で、確認してもらえますか?
・ツリー全体表示

【10162】他のテーブルを参照した更新について
質問  かめ  - 08/1/22(火) 18:38 -

引用なし
パスワード
   1つ教えて下さい。

下のようにデータが入力されている
テーブルa テーブルbがあり
テーブルaの品目をテーブルbの番号と対応して
更新したいのですが、更新クエリで出来るでしょうか?
初心者ですみません。
なお、テーブルaの品目はすべてnull値です。

よろしくお願いします。


テーブルa       テーブルb

番号 品目      番号 品目
1           1  りんご
2           2  みかん
3           3  いちご
・ツリー全体表示

【10161】Re:CopyFolderについて
発言  VBWASURETA  - 08/1/22(火) 14:06 -

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

ちょっと調べてみました。
//www.moug.net/skillup/nksw/nksw14-03.htm?PRINT

CopyFolderメソッドで失敗する場合がある場合に
上記のURLのAPI(使用しているのはExcel VBAですがAPIなので使用可能のはずです)
でやってみると良いそうです。

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

【10160】Re:CopyFolderについて
回答  VBWASURETA  - 08/1/22(火) 13:32 -

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

もしかすると、Accessの問題ではなくMO独自のドライバーやOS/
セキュリティソフト関係等が問題になっているかも知れませんね。

XPでもたまに大容量のファイルを移動させたりすると
OSがそのファイルをロックしてしまって消すことも削除することも
できなくなったり、ドライバーでもMOドライブを認識しなくなったり
などがあります。
・ツリー全体表示

【10159】Re:CopyFolderについて
お礼  kiki  - 08/1/22(火) 13:14 -

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

アドバイスありがとうございます。いろいろ試してみましたが結果は同じようになりました。
1つだけ違うやり方で試したらできる場合がありました。
1)今まではメニューを作っていますが、終了コマンドでMOに退避して業務を終了さすやりかで、上手く出来ませんでした
2)コマンドボタンを作ってMOに退避すると上手く出来ました。
勿論、MOに退避するコードは共通です。

有難うございました。
・ツリー全体表示

【10158】Re:コンボボックスについて
発言  VBWASURETA  - 08/1/22(火) 11:42 -

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

追記です。

分類マスタテーブル
−−−−−−−−−−
商品分類|アイテム名
−−−−−−−−−−
01   |照明
02   |家具
03   |電化製品


ですが、テーブルの名前は「分類マスタ」です。
テーブルはテーブルである意味で書いてました。
このあたりは理解されているようなので大丈夫と思いますが
念のために記載します。
・ツリー全体表示

【10157】Re:コンボボックスについて
回答  VBWASURETA  - 08/1/22(火) 11:32 -

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

こんにちは。

あ、すみませんサンプルに間違いがあります。


>>SELECT [商品テーブル].[製品名] FROM 分類マスタ INNER JOIN 商品テーブル ON [分類マスタ].[商品分類]=[商品テーブル].[商品分類] WHERE ([分類マスタ].[アイテム名])=[Forms]![フォーム名]![コンボ名]);

ですが、

SELECT [商品テーブル].[製品名] FROM 分類マスタ INNER JOIN 商品テーブル ON [分類マスタ].[商品分類]=[商品テーブル].[商品分類] WHERE ([分類マスタ].[アイテム名]=[Forms]![フォーム名]![コンボ名]);

です。


多分ですが、カッコに対してのエラーではなかったでしょうか?

WHERE ([分類マスタ].[アイテム名])=[Forms]![フォーム名]![コンボ名]);



([分類マスタ].[アイテム名])

後ろに")"が一つ多かったです。


>  [分類マスタテーブル] INNER JOIN [商品テーブル] ON とカッコをつける必要はないのでしょうか? 

本来はつけますが、どちらでも良いはずです^^;


>値集合ソ−スに入力するときは、
>プロパティの「値集合ソース」ところに直接入力すればいいのですよね!??

はい。そのプロパティに直接入れることでクエリーと同じ意味になります。
もしくは、クエリーを作ってそのクエリー名を入れても良いです。

もしこれでもエラーが出るようでしたら、分類マスタテーブルの構成も
書いて貰って宜しいでしょうか?
・ツリー全体表示

【10156】Re:コンボボックスについて
質問  mai E-MAIL  - 08/1/22(火) 10:48 -

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

こんにちは!
新たに、VBWASURETA さんに教えていただいたように、テーブルを作成し、

>SELECT [商品テーブル].[製品名] FROM 分類マスタ INNER JOIN 商品テーブル ON [分類マスタ].[商品分類]=[商品テーブル].[商品分類] WHERE ([分類マスタ].[アイテム名])=[Forms]![フォーム名]![コンボ名]);

と値集合ソースに入力してみても、何度やっても、不正”となってしまいます。

 ●FROM 分類マスタ INNER JOIN 商品テーブル ON の部分は
 
  [分類マスタテーブル] INNER JOIN [商品テーブル] ON とカッコをつける必要はないのでしょうか? 

値集合ソ−スに入力するときは、
プロパティの「値集合ソース」ところに直接入力すればいいのですよね!??

いまいち理解できてなくてすみません・・・


何度もすみません・・・

悩んでます。


>商品テーブル
>−−−−−−−−−−−−−−−−
>商品分類|商品CD|製品名
>−−−−−−−−−−−−−−−−
>01   |1−1|スタンド
>01   |1−2|間接照明
>01   |1−3|スポットライト
>02   |2−1|ベッド
>02   |2−2|テーブル
>02   |2−3|デスク
>03   |3−1|レンジ
>03   |3−2|冷蔵庫
>03   |3−3|洗濯機
>
>
・ツリー全体表示

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