Access VBA質問箱 IV

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

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


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

【6555】Re:複数テーブルのデータ集計2
回答  てっちゃん  - 05/10/19(水) 18:39 -

引用なし
パスワード
   ▼チリ子 さん:

>一つ質問なんですが、テーブル名が0504・0505・0506などの名前で
>クエリを実行させた時の並びが変わりますが、、、
>テーブル名ではなく、新しいテーブルの順に並び変わるようなことは
>出来ないでしょうか?ご教授宜しくお願致します。

回答番号6494のクエリにおいて、
>> SELECT UQ2.[No], UQ2.区分, Count(UQ2.区分) AS カウント
>> FROM (SELECT UQ.*
>> FROM (SELECT [No], "0504" AS TB, 区分 FROM [0504] 〜(略)〜
           ~~↑~~         ^^^^(こちらはテーブル名)
            |
ここで[TB]を決定してます。(便宜上、テーブル名と同じにしました)
この名前を希望の順に並ぶようにしてあげると良いです。

表示してみて、なんとなく分かったかと思いますが、
fxMakeGroupは、[No]と[TB](テーブル名だった)を
くっつけたものを返しています。

なので、並び替えが希望に沿うものであれば、
数字でなくても良いです。
(例:A、B、C、、、とか)
・ツリー全体表示

【6554】Re:複数テーブルのデータ集計2
質問  チリ子  - 05/10/19(水) 16:52 -

引用なし
パスワード
   ▼てっちゃん さん:

>一度、出来上がったクエリーをデザインビューで開いてみると、
>分かりやすいかもしれません。
>('fxMakeGroup'を非表示にしてますが、表示すると良いかも)
並びが良く分かりました。そこで問題が発生です。

一つ質問なんですが、テーブル名が0504・0505・0506などの名前でクエリを実行させた時の並びが変わりますが、、、
テーブル名ではなく、新しいテーブルの順に並び変わるようなことは出来ないでしょうか?ご教授宜しくお願致します。
・ツリー全体表示

【6553】Re:≠回答
発言  クロ  - 05/10/19(水) 13:42 -

引用なし
パスワード
   以下で質問されている「サナさん」ではないのでしょうか?
もし、そうであるなら先方のスレッドを処理するのが、ネット上の
マナーだと思います。
http://www.penhagi.com/cgi-b/otasuke/flashbbs.cgi?id=&md=set&tn=0972

#別の方だったらスミマセン。
・ツリー全体表示

【6552】Re:売掛・未入金消し込みの方法
回答  かみちゃん  - 05/10/19(水) 12:48 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>クエリを使って行えばいいようですが、どうやるのでしょうか?
>
>すみませんが、HINTか考え方だけでも
>教えていただけないでしょうか?

ユニオンクエリと集計クエリを使えばできます。
・ツリー全体表示

【6551】Re:すみません。追加です。
お礼  koorin  - 05/10/19(水) 11:34 -

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

いろいろありがとうございました。
昨日自宅へ戻ってから時間をかけてここの過去ログや目安箱を読み、
自分が甘えた気持ちで質問していたことを反省しました。

会社で作業をしていると、時間に追われての作業なので自分で考えてて
分からないとついつい楽な方(ここのサイトで質問してしまうm(__)m)を
選んでしまいます。
小僧さん他回答して下さる方はわざわざご自分の時間を割いて他人の
困っていることに答えて下さっている。
そのことを考えたら私たち質問するほうは自分のことなのだからもっと
自分で色々な方法を取って考え、それでもだめだったら最終手段として
ここのサイトを利用すべきだと思いました。

改めてすみませんでしたm(__)m。
でもどんな質問でもご丁寧に回答していただきありがとうございました。

今レポートで分からないことが2点ありますが、今回は自分なりに頑張ってみます。
・・・でもそれでも出来なかったら・・・
また相談に乗ってください。

ってずいぶん内容がずれてしまってすみませんでした。
追伸:VBAの本はニキータさんの「Access VBAプログラミング 開発工房」を
本屋さんで探してみようと思います。
・ツリー全体表示

【6550】売掛・未入金消し込みの方法
質問  サナ E-MAIL  - 05/10/19(水) 10:20 -

引用なし
パスワード
   初心者です。教えてください。
以前、「蘭」さんが質問された内容と似ていると思い
やってはみたのですが、うまくいきませんでした。

テーブル-売上明細データ
ID 得意先コード 得意先名 売上年月日 請求年月日 金額

テーブル-入金明細データ
ID 得意先コード 得意先名 入金年月日 金額 摘要欄

と二つのテーブルをエクセルからインポートしました。
売上明細データとT入金明細データを比較して、
入金済と未入金に分けて管理、未入金の得意先毎の期間参照も
したいのですが、どうすればよいのでしょうか?
(○回以上滞納が続いた場合、アラームを出す形式)

入金済でも金額が違う場合、差額も表示したいです。
また、未入金の得意先のみの表示も。

クエリを使って行えばいいようですが、どうやるのでしょうか?

すみませんが、HINTか考え方だけでも
教えていただけないでしょうか?
Access Xpです。
・ツリー全体表示

【6549】Re:すみません。追加です。
発言  小僧  - 05/10/19(水) 9:48 -

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

>あと、余談なんですが会社の上司からVBAの本を買ってもよいと
>言われたのですが、小僧さんのお勧めはありますか?

以前に同じ様な質問があったのですが、当方の回答です。[#5157]


参考書を購入される場合でも、AmazonなどWeb上に情報がありますね。

http://www.amazon.co.jp/exec/obidos/tg/browse/-/525624/ref=br_bx_1_c_1_4/250-1784420-2043449

カスタマーレビューもついているので(やらせかもしれませんが…)、
実際に買った人の意見も参考になると思います。


当方が Access の参考書を購入した事がないので
この程度しかアドバイスできません。すみません。
・ツリー全体表示

【6548】レポート表示について
質問  初心者  - 05/10/18(火) 19:30 -

引用なし
パスワード
   レポートにある項目Aを表示させたいのですが、
項目Aに入っているデータは、1行だったり5行
だったり様々です。
その時、一番多いデータに合わせてレポートの
設定をすると無駄が多い(最大が5行の場合、実データが1行の時4行が無駄)
ので、1行の時は1行、5行の時は5行と自動的
に印字させたいのですが、可能でしょうか?
可能であれば、ご教授下さい。
・ツリー全体表示

【6547】Re:ではサンプルをまた一つ
お礼  Saiyama  - 05/10/18(火) 18:28 -

引用なし
パスワード
   小僧 さん

 こんばんわ、問題解決!!
 ありがとうございました。
 やはり、「クエリ作成」のコントロールがなかったから、反応しなかったです。
いま、順調に動いています。
 コードの解読については、これから習いますので、まだよろしくお願いします。
・ツリー全体表示

【6546】Re:すみません。追加です。
お礼  koorin  - 05/10/18(火) 17:50 -

引用なし
パスワード
   ▼小僧 さん:
わざわざありがとうございます。構文訂正しました。

あと、余談なんですが会社の上司からVBAの本を買ってもよいと
言われたのですが、小僧さんのお勧めはありますか?
昨日、本屋へ寄色々見ていたのですがAccessのVBA関連のものだけでも
沢山あり自分では判断できませんでした。
・ツリー全体表示

【6545】Re:すみません。追加です。
発言  小僧  - 05/10/18(火) 16:22 -

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

色々テストをしていたのですが、
テキストボックスの数値を文字型と判断される場合があるので、

>If Me.見積金額.Value < varCost Then

If CCur(Me.見積金額.Value) < varCost Then

と変更をしておいて下さい。すみません。
・ツリー全体表示

【6544】Re:入力規制→出来ました!
お礼  koorin  - 05/10/18(火) 16:02 -

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

どうもありがとうございますm(__)m
うまくいきました!!

>Null 値が返って来てしまう、という事は 注番別コスト から
>フォームで指定した 注番 が見つからない事になってしまうのですが…。

申し訳ありません、身に覚えがあります。確かにまだコストの出ていないデータで
テストしていました。

閾値が出ることにより幾ら以上で見積もればよいかも一目でわかり、
やりたかったこと以上のことが出来、とても嬉しいです。

ヘルプの便利な使い方も教えていただき本当にありがとうございました。
m(__)m m(__)m m(__)m m(__)m m(__)m m(__)m m(__)m m(__)m m(__)m m(__)m
・ツリー全体表示

【6543】Re:ではサンプルをまた一つ
発言  小僧  - 05/10/18(火) 15:55 -

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

うーん、なんででしょうね。
何も表示されない、という事はこのコード自体が反応していないようです。


>一、作業の手順:「クエリ作成」のイベントのクリックに以下のコードを
>貼り付け、次にコマンドボタンのクリック時のイベントに

ここがちょっと気になったのですが、

>>コマンドボタン: クエリ作成

という事で、コマンドボタンの名前が「クエリ作成」になっていますでしょうか。
また、「クエリ作成」という名前を他の所でも使っていませんか?

先ほどと同じく、ちょっとした勘違いが原因になっているような気がします。
・ツリー全体表示

【6542】Re:ではサンプルをまた一つ
質問  Saiyama  - 05/10/18(火) 15:28 -

引用なし
パスワード
   小僧さん
 Debug.Print strSQLを追加、イミディエイトに何も表示されていません。

・ツリー全体表示

【6541】Re:ではサンプルをまた一つ
回答  小僧  - 05/10/18(火) 15:19 -

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

当方の環境(Ac2002)では問題なく動くのですが…。

  
>  For Each varS In Me.lstフィールド名.ItemsSelected
>    strSQL = strSQL & "," & Me.lstフィールド名.ItemData(varS) & " "
>  Next
>  
>  strSQL = "SELECT " & MID(strSQL, 2) _
>      & "FROM テーブルA"
>  
  '→追加
  Debug.Print strSQL


として、実行した後に Ctrl + G で出現するイミディエトウィンドウに
表示される(はず)の SQL はどうなっていますでしょうか。
・ツリー全体表示

【6540】ログインID、パスワードを自動入力
質問  アクセス初心者  - 05/10/18(火) 14:56 -

引用なし
パスワード
   アクセスにログインID、パスワードを設定している状態で
(アクセスのツール→セキュリティ→ユーザ/グループの権限にて設定)
アクセスVBAより他のDBを開く(OpenCurrentDatabase)と
ログインIDとパスワードを入力するダイアログを表示しますが、
これをVBAのコマンドからログインIDとパスワードを引き渡すことにより、
ダイアログ入力を行なわなくて済む方法がありますでしょうか?

使用しているアクセスのバージョンは2000、2002、2003です。

ご存知の方、ご教授頂けますよう、よろしくお願い致します。
・ツリー全体表示

【6539】Re:ではサンプルをまた一つ
質問  Saiyama  - 05/10/18(火) 14:55 -

引用なし
パスワード
   小僧さん

こんにちは。

>
>>>>※OpenRecordsetの「テーブル名」→テーブルAへ書き換えました
>
>>  strSQL = "SELECT " & MID(strSQL, 2) _
>>      & "FROM テーブル名"
テーブル名→テーブルAに変更したが、動かないです。
・ツリー全体表示

【6538】Re:入力規制
発言  小僧  - 05/10/18(火) 13:27 -

引用なし
パスワード
   ▼koorin さん:
Null 対策も含め、ちょっとコードを変えてみました。


Private Sub 見積金額_BeforeUpdate(Cancel As Integer)
Dim varCost As Variant
  varCost = DLookup("コスト合計", "注番別コスト", "注番 = '" & Me.注番.Value & "'")
  
  If IsNull(varCost) Then
    MsgBox "注番:" & Me.注番.Value & "のコスト合計が見つかりません。"
    Exit Sub
  Else
    varCost = CCur(varCost * 1.3)
    MsgBox "閾値:" & varCost
  End If
  
  
  If Me.見積金額.value < varCost Then
    MsgBox "利益30%以下!"
    Cancel = True
  End If
End Sub

Null 値が返って来てしまう、という事は 注番別コスト から
フォームで指定した 注番 が見つからない事になってしまうのですが…。


>こういう場合VBAヘルプの目次でいうとどこを見ればよいのでしょうか?

人によって使い方が異なるとは思いますが、当方は「質問」タブを良く使います。
検索窓に「DLookup」と入れて実行すると、DLookup関数に関する情報が載っています。
・ツリー全体表示

【6537】Re:[AC2002]ファイルダイアログキャンセル...
お礼  nyoro  - 05/10/18(火) 13:17 -

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

何度も返答ありがとうございます。
>
>では次の小細工を…
>
>  SendKeys "%{ESC}", True
>  SendKeys "%+{ESC}", True
>
>Alt + Esc で画面移動して元に戻してみました。
>
>これでうまくいくと良いのですが…。

制御はうまくいったのですが、別画面が一瞬表示されてしまうのがちょっと。。。

で、こちらでもその後いろいろと試行錯誤しまして、
以下の方法を使用することにしました。

DoCmd.Minimize
DoCmd.Restore

こちらも一瞬最小化表示が目に見えますが、これならユーザにも辛抱してもらえるかなと。。

それでは協力ありがとうございました。
・ツリー全体表示

【6536】Re:入力規制
質問  koorin  - 05/10/18(火) 12:06 -

引用なし
パスワード
   ▼小僧 さん:
何度もありがとうございます。
教えていただいたように変更してやってみましたが、またエラーが
出ました。今度は

実行時エラー'94':
Nullの使い方が不正です。

構文は
Private Sub 見積金額_BeforeUpdate(Cancel As Integer)
Dim curCost As Currency
  curCost = CCur( _
  DLookup("コスト合計","注番別コスト","注番 = '" & Me.注番.Value & "'")*1.3)

  If Me.見積金額.Value < curCost Then
    MsgBox "利益30%以下!"
    Cancel = True
  End If
End Sub

で、エラーが出たとき3,4行目が黄色になって4行目に矢印が出ていました。

>今まで仮定で決めていたのですが、
>フォーム上にあるテキストボックス名は「注番」で大丈夫でしょうか?

「注番」です。

>実は上に提示させて頂いた事も、ヘルプに載っています。
>(Access のヘルプでなく、VBA のコードが表示される画面でのヘルプです。)
>
>ヘルプを読むのは慣れるまではきつい事だとは思われますが、
>コードを組む際には必須ですので、乗り越えていきましょう。

こういう場合VBAヘルプの目次でいうとどこを見ればよいのでしょうか?

お手数をお掛けしますがよろしくお願いします。
・ツリー全体表示

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