Access VBA質問箱 IV

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

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


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

【7773】同じ画面を表示データを変えて複数表示
発言  迷える子羊  - 06/4/27(木) 15:59 -

引用なし
パスワード
   通常、VBAでは DoCmdオブジェクトのOpenFormメソッドを使って
フォームを開きますが、
この方法だと、とある単票形式のフォームを使って
表示データが異なるものを2つフォームに同時に画面に表示する。
といったことが出来無くて困っています。
1個目のデータ指定後、OpenFormメソッドでとある単票形式のWindowを表示。
2個目のデータを指定して、OpenFormメソッドで
単票形式のWindowを表示すると、あらたにWindowが作られずに
表示済みのWindowのデータが2個目のデータに入れ替って
いるだけになってしまいます。
JAVAのような、新たにフォームのインスタンスを作成して、
その新たに作られたフォームに2個目のデータが表示出来るように
したいのですが、可能でしょうか?
ご教授の程、宜しくお願い致します
・ツリー全体表示

【7772】Re:フィールドの内容を分割したい
お礼  pumpkins  - 06/4/26(水) 17:34 -

引用なし
パスワード
   hatena さん
お礼が遅くなりましてすいません。
ご指導を元に作ってみた所、分割可能でした。
大変参考になりました。
ありがとうございました。

>>元フィールド1
>>2006-05-01 12:10:00 
>>(日付と時刻の間に半角スペースあり)
>
>このフィールドのデータ型は何でしょうか。
>テキスト型ですか。
>
>>このデータを以下の様に2フィールドに分割して新たなテーブルを作成したいのです。
>>
>>フィールド1 
>>2006/05/01
>>フィールド2
>>12:10:00
>
>クエリで下記の演算フィールドを作成すれば、
>
>日付: Format([フィールド1],"yyyy/mm/dd")
>
>時刻: Format([フィールド2],"hh:nn:ss")
>
>簡単に分割できますので、新たなテーブルを作る必要性はないように
>思いますが。
>どうしてもしたいというなら、上記クエリをテーブル作成クエリにすれば
>可能ではありますが。
>
>なお、上記の式はテキスト型になりますが、日付/時刻型なら、
>
>日付: DateValue([フィールド1])
>
>時刻: TimeValue([フィールド2])
>
>です。
・ツリー全体表示

【7771】Re:条件を満たすデータの表示
回答  MJM  - 06/4/26(水) 16:57 -

引用なし
パスワード
   >=IIf(cmb場所="東京",DLookup("東京","T会社名","品名='" & cmb品名 &"'"),DLookup("大阪","T会社名","品名='" & cmb品名 &"'"))

当方のレスをそのままコピペではなく、
そちらの実態に合わせて、各オブジェクトの名称は置き換えて下さい。

cmb場所、cmb品名の部分は、抽出条件とするコンボボックスのコントロール名を、
T会社名の部分は、テーブル名を、
DLookup内の東京、大阪、品名の部分は、テーブル内のフィールド名を、
cmb場所="東京"の東京の部分は、場所のコンボボックスが返す値を、
それぞれ指定して下さい。

>このコマンドボタンにこの文をそのまま入れると、「イベントプロパティに指定した式クリック時でエラーが発生しました。名前が適切ではありません。:表示_click」とでます。
>そのままコマンドボタンに入れるとだめなのでしょうか?

ダメです。
・ツリー全体表示

【7770】Re:条件を満たすデータの表示
質問  KANI  - 06/4/26(水) 15:39 -

引用なし
パスワード
   ▼MJM さん:
>=IIf(cmb場所="東京",DLookup("東京","T会社名","品名='" & cmb品名 &"'"),DLookup("大阪","T会社名","品名='" & cmb品名 &"'"))
>
>ということでしょうか。

即答、ありがとうございます。
クロさんも回答ありがとうございます。
上述の構文をテキストボックス2.「単価」のコントロールソースに貼り付けてみましたが、今度は「#Name?」というエラーがでてしまいました。
ボックスの名前がおかしいのでしょうか?

>コンボボックス1.2.を選定した際、単価が切り替わったのか否かわからない為、
>別に「表示」ボタン(コマンドボタン)を設けたいと思うのですが可能ですか?

このコマンドボタンにこの文をそのまま入れると、「イベントプロパティに指定した式クリック時でエラーが発生しました。名前が適切ではありません。:表示_click」とでます。
そのままコマンドボタンに入れるとだめなのでしょうか?
・ツリー全体表示

【7769】Re:条件を満たすデータの表示
回答  MJM  - 06/4/26(水) 13:18 -

引用なし
パスワード
   =IIf(cmb場所="東京",DLookup("東京","T会社名","品名='" & cmb品名 &"'"),DLookup("大阪","T会社名","品名='" & cmb品名 &"'"))

ということでしょうか。
・ツリー全体表示

【7768】Re:初めてのお題で・・・
回答  855  - 06/4/26(水) 13:11 -

引用なし
パスワード
   ツール→起動時の設定でメニューバーは何になっていますか?
自作のメニューになってたらツール→ユーザー設定でメールに添付を追加して
アプリをいれかえてください。
・ツリー全体表示

【7767】Re:条件を満たすデータの表示
発言  クロ  - 06/4/26(水) 13:09 -

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

=DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")
の第三引数のところで「"」がひとつ足りないような…

"場所='" & cmb場所 & "' AND 品名1='" & cmb 品名1 &"'"
ではないでしょうか?
・ツリー全体表示

【7766】Re:条件を満たすデータの表示
質問  KANI  - 06/4/26(水) 11:37 -

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

>> =DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")
>
>もしかして、cmb 品名1がcmb品名1?
>
>でなければ、以下を確認して下さい。
>
>T品名1というテーブルはありますか?
>
>T品名1というテーブルに、
>txt単価、場所、品名1というフィールドはありますか?
>
>場所、品名1というフィールドはテキスト型ですか?
>
>cmb場所、cmb品名1というコントロールはありますか?


私の勘違い、説明不足のため、お手を煩わせてしまい申し訳ありません。
品名1はテーブルではありませんでした。

■テーブル概要■
テーブル名:T会社名
フィールド名1.:ID(オートナンバー型)
フィールド名2.:品名(テキスト型)
フィールド名3.:東京(通貨型)
フィールド名4.:大阪(通貨型)

■フォーム概要■
コンボボックス名1.:場所
コンボボックス名2.:品名
テキストボックス1.:数量
テキストボックス名2.:単価 →ここにコンボボックス1.2.の条件を満たす単価を表示させたい。
テキストボックス3.:金額

コンボボックスのラベルはそれぞれ上記の名前で、ボックスの名前(プロパティの“すべて”タブの名前)は「cmb場所」と言うように前に“cmb”をつけています。
(最終的にはこの単価X個数でテキストボックス3.に金額を表示させようと考えています。)
コンボボックス1.2.を選定した際、単価が切り替わったのか否かわからない為、
別に「表示」ボタン(コマンドボタン)を設けたいと思うのですが可能ですか?
・ツリー全体表示

【7765】Re:条件を満たすデータの表示
回答  MJM  - 06/4/26(水) 9:57 -

引用なし
パスワード
   > =DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")

もしかして、cmb 品名1がcmb品名1?

でなければ、以下を確認して下さい。

T品名1というテーブルはありますか?

T品名1というテーブルに、
txt単価、場所、品名1というフィールドはありますか?

場所、品名1というフィールドはテキスト型ですか?

cmb場所、cmb品名1というコントロールはありますか?
・ツリー全体表示

【7764】Re:条件を満たすデータの表示
質問  KANI  - 06/4/26(水) 9:43 -

引用なし
パスワード
   ▼MJM さん:
>それでは、DLookup関数を用いては如何でしょうか。
>記述の仕方は、DMin関数と同様です。

アドバイスを元にコントロールソースに入れてみたところ、
「指定した式の構文が不正」とエラーがでました。

=DLookup("txt単価","T品名1","場所='& cmb場所 &"' AND 品名1='" & cmb 品名1 &"'")

としましたが、どこがマズイのでしょうか?
・ツリー全体表示

【7763】Re:help・・フォームとフォームを抽出して...
お礼  JINましん  - 06/4/26(水) 8:13 -

引用なし
パスワード
   ▼小僧 さん:
>▼JINましん さん:
>こんにちは。
>
>>入力フォーム画面から
>>「引継ぎ書」フォームにあるID番号2と「入力フォーム」の
>>ID番号が一致する場合、「引継ぎ書」の項目を表示させたいのですが。
>
>状況が解りづらいのですが、
>
>・帳票フォーム「入力フォーム」の詳細部にコマンドボタン「引継ぎ書」を配置し、
> クリックすると単票フォーム「引継ぎ書」が開く。
>
> その際に「ID番号2」を入力フォームの「ID番号」でフィルタする、
> というようなイメージでしょうか。
> 
>
>>以下のようなVBAでは、パラメータの入力を求められます。
>> stLinkCriteria = "[ID番号2]=" & Me![ID番号]
>
>ID番号ならびに、ID番号2はテキスト型ではないでしょうか?
>
>もしそのようであれば
>
>  stLinkCriteria = "[ID番号2]='" & Me![ID番号] & "'"
>
>となります。


早速の回答ありがとうございました。
うまく動きました。ありがとうございました。
・ツリー全体表示

【7762】Re:初めてのお題で・・・
発言  小僧  - 06/4/25(火) 18:41 -

引用なし
パスワード
   ▼新人サラリーマン さん:
こんばんは。

ランタイムに関して全くと言って知識はないのですがご容赦下さい。

MS 技術情報より
製品とランタイム Microsoft Access の間の違い
http://support.microsoft.com/default.aspx?scid=kb;ja;208730

メニュー
ランタイム環境は、 Microsoft Access でのメニュー バーから
いくつかのメニューとコマンドを削除します。
たとえば 表示と ツールと 書式メニューが完全に削除され、
編集と 挿入と レコード メニューから特定の項目が削除されます。
これは、アプリケーション設計を変更することからユーザーを禁止します。

ほとんどの場合に各フォームのカスタム メニューを作成します。
どのメニューがこれらのメニューが制御し、
アプリケーションでのユーザーがコマンドを使用できます。


上記は機械翻訳のため、意味が通らない箇所もありますが
メニューを自作すれば

>「画面上のメニューのファイルに[送る]→[メールに添付]

を実現できるのではないでしょうか。


まったく見当外れでしたら申し訳ございません。
・ツリー全体表示

【7761】Re:help・・フォームとフォームを抽出して...
回答  小僧  - 06/4/25(火) 18:28 -

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

>入力フォーム画面から
>「引継ぎ書」フォームにあるID番号2と「入力フォーム」の
>ID番号が一致する場合、「引継ぎ書」の項目を表示させたいのですが。

状況が解りづらいのですが、

・帳票フォーム「入力フォーム」の詳細部にコマンドボタン「引継ぎ書」を配置し、
 クリックすると単票フォーム「引継ぎ書」が開く。

 その際に「ID番号2」を入力フォームの「ID番号」でフィルタする、
 というようなイメージでしょうか。
 

>以下のようなVBAでは、パラメータの入力を求められます。
> stLinkCriteria = "[ID番号2]=" & Me![ID番号]

ID番号ならびに、ID番号2はテキスト型ではないでしょうか?

もしそのようであれば

 stLinkCriteria = "[ID番号2]='" & Me![ID番号] & "'"

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

【7760】Re:開いたフォームから戻ってくるまでVB...
回答  ハト  - 06/4/25(火) 18:04 -

引用なし
パスワード
   ▼nik さん:
>かなり困っています。
>
>あるフォームでのイベントプロシージャから別のフォームを開き、そのフォームを閉じて帰ってくるまで、呼び出し元のプロシージャのVBAの実行を止めておくことって可能なんでしょうか?
>
>たとえば、
>
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>Public NAME As String
>
>Form_A:
>Private Sub txt_1_click()
>
>  NAME = ""
>  Docmd.OpenForm "Form_B" ・・・1.
>                    ←←←←←A
>  txt_1.Value = NAME   ・・・3.
>
>End Sub
>
>Form_B:
>Private Sub btn_INPUT_Click()
>
>  NAME = InputBox("名前をいれてください。") ・・・2.
>  Docmd.OpenForm "Form_A"
>  '
>  Docmd.Close acForm,"Form_B"
>
>End Sub
>
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
>
>上の例で言えば、普通1.→2.と行き、インプットボックスが表示されますが、
>そのまま3.が実行されて、Form_A のtxt_1 には空も度列が表示されてしまい
>ます。
>なんとういうか、私的には、フォーカスかアクティブ?かなにかわからない
>けど、Form_Bに移って、Form_Bが閉じられて再びForm_Aに戻ってくるまで、
>Aで待機しててくれる方法はないのかの調べてるんですが皆目わかりません。
>
>どなたがお助けください。
>  

Form_Bのプロパティ
 ポップアップ
 作業ウィンドウ固定
を「はい」に設定し

  Docmd.OpenForm "Form_B", , , , ,acDialog

と変更して実行してみてください
これでForm_Bを閉じるまでForm_Aは待機するはずです
・ツリー全体表示

【7759】初めてのお題で・・・
質問  新人サラリーマン  - 06/4/25(火) 17:07 -

引用なし
パスワード
   はじめまして新人サラリーマンと申します。
初めての仕事で以下なる御題を頂戴したのですが
検索して色々調べたのですが、方法が見付りません。
皆様助けて下さい。m(_ _)m

Access2002で作られたDBがあるのですが
お客様のPCにはAccessが入っていないので
Accsee2002ランタイムをインストールして
使用して頂いてるみたいです。
しかし、お客様より・・
「画面上のメニューのファイルに[送る]→[メールに添付]
を付けて下さい」との要望がありました。
たしかに、Access2002には標準でメニューにあるのですが
ランタイムには存在しません。
なので、まったく解決方法がわかりません。
助けて下さい。。。
・ツリー全体表示

【7758】help・・フォームとフォームを抽出して開...
質問  JINましん  - 06/4/25(火) 16:20 -

引用なし
パスワード
   かなり、初心者です。
入力フォーム画面から
「引継ぎ書」フォームにあるID番号2と「入力フォーム」の
ID番号が一致する場合、「引継ぎ書」の項目を表示させたいのですが。
以下のようなVBAでは、パラメータの入力を求められます。
何か良い方法はありませんでしょうか。

Private Sub 引継ぎ書_Click()
On Error GoTo Err_引継ぎ書_Click
DoCmd.RunCommand acCmdSaveRecord
stDocName = "引継ぎ書"
 stLinkCriteria = "[ID番号2]=" & Me![ID番号]
 DoCmd.OpenForm stDocName, , , stLinkCriteria
 
Exit_引継ぎ書_Click:
Exit Sub
Err_引継ぎ書_Click:
  MsgBox Err.Description
  Resume Exit_引継ぎ書_Click
End Sub
・ツリー全体表示

【7757】Re:条件を満たすデータの表示
回答  MJM  - 06/4/25(火) 13:45 -

引用なし
パスワード
   > HITするものは常に一つしかありません。
> 条件を満たすものを表示させればいい場合はどんな関数を使えばいいですか?

それでは、DLookup関数を用いては如何でしょうか。
記述の仕方は、DMin関数と同様です。
・ツリー全体表示

【7756】Re:条件を満たすデータの表示
質問  KANI  - 06/4/25(火) 12:05 -

引用なし
パスワード
   ▼MJM さん:
こんにちは。
早速のアドバイスありがとうございます。
なのですが、私の説明がわかりにくく申し訳ありません。
テーブル品名1に東京と大阪の価格がある(テーブル品名2も同様に東京と大阪の価格があります)ので、優先順位として、1.東京、大阪のどちらなのか2.品名1なのか2なのか、という条件をみたした価格を
D欄(品名1でHITしたもの)とE欄(品名2でHITしたもの)にそれぞれ表示させたいのです。最も低い価格とかではなく、HITするものは常に一つしかありません。
条件を満たすものを表示させればいい場合はどんな関数を使えばいいですか?
宜しくお願いいたします。
・ツリー全体表示

【7755】Re:条件を満たすデータの表示
回答  MJM  - 06/4/25(火) 11:14 -

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

>コンボボックスでそれぞれ、A(場所:東京or大阪)、B(品名1)、C(品名2)欄とあります。
>優先順位1.B2.Aの順で条件を満たすもの(価格)をD欄のテクストボックスへ、

テーブル品名1で、コンボAとBの条件に一致するデータの内、
最も低い価格をテキストDに表示する
という意味でしょうか?

であるなら、テキストDのコントロールソースに、
DMin関数を用いて、以下のような記述をされては如何でしょうか。

=DMin("価格","テーブル品名1","場所=' & コンボA & "' AND 品名 = '" & コンボB & "'")

テーブル名、フィールド名、コントロール名は実態に合せて置き換えて下さい。
・ツリー全体表示

【7754】条件を満たすデータの表示
質問  KANI  - 06/4/24(月) 15:45 -

引用なし
パスワード
   こんにちは。行き詰ったのでどなたか教えて下さい。
コンボボックスでそれぞれ、A(場所:東京or大阪)、B(品名1)、C(品名2)欄とあります。
優先順位1.B2.Aの順で条件を満たすもの(価格)をD欄のテクストボックスへ、
優先順位1.C2.Aの順で条件を満たすもの(価格)をE欄のテクストボックスへ、
表示させたいのですが、どうすればできますか?
VBAを組まないとできないでしょうか?
プロパティで設定できるものでしょうか?
テーブルはテーブル品名1で東京、大阪の価格、テーブル品名2で東京の価格、大阪の価格と作成しています。
皆さん、宜しくお願いいたします。
・ツリー全体表示

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