Access VBA質問箱 IV

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

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


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

【5336】Re:VBAでクエリ_左に寄ります
質問  kuri E-MAIL  - 05/6/9(木) 10:09 -

引用なし
パスワード
   ▼クロ さん:
>▼kuri さん:
>DoCmd.OpenForm "F_999", acNormal,,"設計受付年月日 between #2005/06/09# and #2005/06/09#"
>
>だけでやるとどうなります?
表示はされないのですが、左下のレコード件数総数は、抽出後の件数となりました。
自分では意図しない設定をしてるのかな?
・ツリー全体表示

【5335】Re:VBAでクエリ_左に寄ります
回答  クロ  - 05/6/9(木) 9:53 -

引用なし
パスワード
   ▼kuri さん:
DoCmd.OpenForm "F_999", acNormal,,"設計受付年月日 between #2005/06/09# and #2005/06/09#"

だけでやるとどうなります?
・ツリー全体表示

【5334】Re:VBAでクエリ
発言  kuri E-MAIL  - 05/6/9(木) 9:40 -

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

>特にないと思います。逆にF_999の開く時のイベントか読み込み時のイベントに
>何か書かれているとか?
何も書いていないです。
>テーブルT_情報(F_999のレコードソース)の「設計受付年月日」フィールドのデ
>ータ型は「日付/時刻型」?
日付/時刻型となっています。
・ツリー全体表示

【5333】Re:VBAでクエリ
回答  クロ  - 05/6/9(木) 9:11 -

引用なし
パスワード
   > Openformもしくは、フォームの設定に問題があると思うですが、F_999に必要な
> 設定って何があるでしょうか?

特にないと思います。逆にF_999の開く時のイベントか読み込み時のイベントに
何か書かれているとか?

テーブルT_情報(F_999のレコードソース)の「設計受付年月日」フィールドのデ
ータ型は「日付/時刻型」?
※フィールドがなければパラメータを聞いてくるはずだし...
・ツリー全体表示

【5332】Re:VBAでクエリ
質問  kuri E-MAIL  - 05/6/9(木) 8:56 -

引用なし
パスワード
   ▼クロ さん:
おはようございます。
>そのをコメントアウトしてみて検証してみてください。
>'date1 = CDate(date1)
>'date2 = CDate(date2)
早速試してみたのですが、結果は同じです。
strSQLWhereのDebug.printの結果は

 設計受付年月日 between #2005/06/09# and #2005/06/09#
Openformもしくは、フォームの設定に問題があると思うですが、F_999に必要な設定って何があるでしょうか?

DoCmd.OpenForm "F_999", acNormal, "", strSQLWhere

検索ボタン、抽出条件のTxtbox等はフォーム[F_検索]にあります。全て非連結となっています。F_999のレコードソースには、検索先のテーブルT_情報を設定しています。
・ツリー全体表示

【5331】Re:VBAでクエリ
発言  クロ  - 05/6/9(木) 8:29 -

引用なし
パスワード
   横レス失礼します。

date1 = CDate(date1)
date2 = CDate(date2)
このように日付型に換える必要はないかと思います。
Stringでいいかと...
そのをコメントアウトしてみて検証してみてください。
'date1 = CDate(date1)
'date2 = CDate(date2)
・ツリー全体表示

【5330】Re:VBAでクエリ
質問  kuri  - 05/6/8(水) 22:02 -

引用なし
パスワード
   こんばんは。
WHERE句の作成までは何とかできたのですが、結果がぜんぜん抽出されません。
コードは下記の通りです。
Private Sub コマンド75_Click()
  Dim strSQRWhere As String
  Dim date1 As Variant    '期間(From)
  Dim date2 As Variant    '期間(To)
      
  '値の取得
  date1 = Me.txt1
  date2 = Me.txt2
    
  '日付データの確認
  If IsDate(date1) = False Or IsDate(date2) = False Then
    MsgBox "日付が空白であるか、日付として認識できません。", vbCritical + vbOKOnly
    Exit Sub
  Else
  'データの変換
    date1 = CDate(date1)
    date2 = CDate(date2)
  'WHERE句の作成
  strSQLWhere = "設計受付年月日 between #" & date1 & "# and #" & date2 & "#"
  
  End If
  If vbYes = MsgBox("結果を表示しますか?", vbInformation + vbYesNo) Then
    DoCmd.OpenForm "F_999", acNormal, "", strSQLWhere
  End If
  
  Debug.Print strSQLWhere
End Sub
フォームF_999は開くのですが、抽出結果が表示がされません。しかし、レコードの件数は左下に表示されています。ですが、抽出前のレコード数となっています。つまり、抽出されていないということですかね?
結果を表示するフォームに何か設定しなくてはだめなのでしょうか?
・ツリー全体表示

【5329】Re:ACCESSのショートカットキー
お礼  トミー  - 05/6/8(水) 17:41 -

引用なし
パスワード
   ▼Gin_II さん:
>▼トミー さん:
>>テーブルのデザインビューの操作で、フィールド名とデータ型を入力してから、フィールドプロパティで詳細を定義するのですが、フィールドプロパティへカーソルを移動さすショートカットキーをどなたか教えて下さい。
>
>Access のグローバル ショートカット キー(Access2000ヘルプより引用)
>F6 ウィンドウの上下を切り替える (テーブル、マクロ、およびクエリの
>  デザイン ビュー、およびフィルタ ウィンドウの場合)。
>
>です。(^^ゞ

ありがとうがざいました。 用語の理解が足りませんでした。よく勉強します。
・ツリー全体表示

【5328】Re:ダブルクリックで、データ入力画面に移...
お礼  サチチ  - 05/6/8(水) 17:20 -

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

できました!!ボタンをクリックすると、開くようにしたものを
コピー&ペーストにしたら、OK!でした。

ちょっと、事故IDで出来なかったのが、心残りですが、
全然OKです。ありがとうございました!!

後、少しで、この災害分析のアクセスが出来上がります。
出来上がるまで、がんばります。
・ツリー全体表示

【5327】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/8(水) 17:14 -

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

こんにちは。悩んで、結局事故IDがムリでしたので(自分では、ムリみたいなので)
違うものを、クリックで飛ぶようにしました。

>>ちなみに、このダフルクリックしたら、この画面が前に出てくるようにも
>>できますか?
>
>「この画面」が指しているところが解らないのですが…。

分りずらくて、スミマセン。F_入力画面に飛ぶようにしたいのです。
今は、サブフォームで作った、F_一覧で1をクリックすると、
F_入力画面の1になるのですが、表に出てきてくれず、F_一覧を
クリックして、×を押さないと、F_入力画面が見れないのです。
つまり、画面が重なっていると言えばいいのでしょうか!?
それを、上に出てくる様にしたいのです。
・ツリー全体表示

【5326】Re:ACCESSのショートカットキー
回答  Gin_II  - 05/6/8(水) 17:02 -

引用なし
パスワード
   ▼トミー さん:
>テーブルのデザインビューの操作で、フィールド名とデータ型を入力してから、フィールドプロパティで詳細を定義するのですが、フィールドプロパティへカーソルを移動さすショートカットキーをどなたか教えて下さい。

Access のグローバル ショートカット キー(Access2000ヘルプより引用)
F6 ウィンドウの上下を切り替える (テーブル、マクロ、およびクエリの
  デザイン ビュー、およびフィルタ ウィンドウの場合)。

です。(^^ゞ
・ツリー全体表示

【5324】ACCESSのショートカットキー
質問  トミー  - 05/6/8(水) 15:04 -

引用なし
パスワード
   テーブルのデザインビューの操作で、フィールド名とデータ型を入力してから、フィールドプロパティで詳細を定義するのですが、フィールドプロパティへカーソルを移動さすショートカットキーをどなたか教えて下さい。
・ツリー全体表示

【5323】Re:ダブルクリックで、データ入力画面に移...
回答  小僧  - 05/6/8(水) 11:36 -

引用なし
パスワード
   ▼サチチ さん:
こんにちは。
>
>>MainRS.FindFirst "[事故ID] ='" & Me.事故ID & "'"
>
>とした所、3079エラー 事故IDがSQLステートメントのFROMに複数テーブルで
>参照しました。と出てしまったので、

メインフォームのコントロールソースにクエリ(もしくはSQL)を指定していないでしょうか?
そうであれば事故IDというフィールドが2つ以上あるのでエラーが発生していると思われます。

フィールドを指定する時に「*」を使っているのであれば、1個1個指定してあげて
事故IDのフィールドが2個以上にならないように調整してみてください。


>ちなみに、このダフルクリックしたら、この画面が前に出てくるようにも
>できますか?

「この画面」が指しているところが解らないのですが…。
・ツリー全体表示

【5322】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/8(水) 10:11 -

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

>MainRS.FindFirst "[事故ID] ='" & Me.事故ID & "'"

とした所、3079エラー 事故IDがSQLステートメントのFROMに複数テーブルで
参照しました。と出てしまったので、

事故IDのテキストボックスの名前を事故NOに変更してみたのですが、

実行エラー3070 事故NOを有効なフィールド名・または式として認識されません
と出てしまいました。

違う所にしたら、出来たのですが・・・、何度か出てくるかもしれないので、
この事故IDがいいと思うのですが、どーもうまく出来ません。

ちなみに、このダフルクリックしたら、この画面が前に出てくるようにも
できますか?
・ツリー全体表示

【5321】Re:シェア率の算出方法
回答  小僧  - 05/6/8(水) 9:55 -

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

下記のSQLをクエリのSQLビューに貼り付けてみてください。

SELECT Q.メーカー名, Q.メーカー名_1, Q.メーカー名_2,
Q.数量の合計, Q.数量シェア%, Q.金額の合計, Q.金額シェア%
FROM [
SELECT '合計' AS メーカー名, ' ' AS メーカー名_1, ' ' AS メーカー名_2,
Sum(Table_Area.数量) AS 数量の合計,1 AS 数量シェア% ,
Sum(Table_Area.金額) AS 金額の合計, 1 AS 金額シェア%
FROM Table_Area
UNION ALL
SELECT Table_Area.メーカー名, Table_Area.メーカー名_1, Table_Area.メーカー名_2,
Table_Area.数量, Table_Area.数量/DSum('数量',"Table_Area") AS 数量シェア%,
Table_Area.金額, Table_Area.金額/DSum('金額',"Table_Area") AS 金額シェア%
FROM Table_Area
]. AS Q;

デザインビューで見た時、「数量シェア%」のフィールドを

Format([数量シェア%]*100,"0.00")

とすれば小数点2桁までの値がでると思います。

またWindowsの [コントロールパネル] → [地域と言語のオプション]で
設定する小数点以下の数字が 2 になっていれば

Format([数量シェア%],"パーセント")

でも良いと思います。
・ツリー全体表示

【5320】Re:シェア率の算出方法
質問  sakaiII  - 05/6/7(火) 21:11 -

引用なし
パスワード
   テーブル名を変えたら、通りました。
ありがとうございます。

後一点を教えていただきたいことがありますので、よろしくお願いします。
%の計算のところで、計算精度を1%にしたいです。
例、
80   →80.00
0.1  → 0.10
0.11  → 0.11
・ツリー全体表示

【5319】Re:ダブルクリックで、データ入力画面に移...
回答  小僧  - 05/6/7(火) 17:10 -

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

対象のフィールドがテキスト型の時、「FindFirst」メソッドの引数は

[フィールド名] = "文字列"

の形になります。事故IDのデータ型がテキスト型であれば

MainRS.FindFirst "[事故ID] ='" & Me.事故ID & "'"

でどうでしょうか。
・ツリー全体表示

【5318】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/7(火) 15:58 -

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

>「Microsoft DAO x.x Object Library」
>にチェックがついているか確認をして下さい。

つけました!つけたら、今度は、コンパイルエラー
メソッドがみつかりません。のエラーメッセージです。

MainRS.FindFirst "[T●発生状況.事故ID] ='" & Me.T●発生状況.事故ID & "'"

↑の.T●発生状況がダメなようです。やはり.が2つもあるとダメなのでしょうか?
ただし、T●発生状況.事故ID からもってきているのですが・・・
・ツリー全体表示

【5317】Re:ダブルクリックで、データ入力画面に移...
回答  小僧  - 05/6/7(火) 15:24 -

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

>>(※要DAO参照設定)

DAOの参照設定は大丈夫でしょうか?

コードを表示させた状態で、ツールバーより

[ツール] → [参照設定] で

「Microsoft DAO x.x Object Library」

にチェックがついているか確認をして下さい。

もしくは、

>>Dim MainRS As Object
>>Dim SubRS As Object

でもいけると思われます。
・ツリー全体表示

【5316】Re:ダブルクリックで、データ入力画面に移...
質問  サチチ  - 05/6/7(火) 15:04 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは!

>前回の質問から判断して「1.フォーム」がメインで「2.フォーム」はサブフォームでしょうか?

そうです。

貼り付けてみたのですが、エラーが出てしまいました。

Private Sub Form_DblClick(Cancel As Integer)
Dim MainRS As DAO.Recordset
Dim SubRS As DAO.Recordset
  Set MainRS = Forms![F_発生+被災+実態全体].Recordset
  Set SubRS = Me.Recordset
    MainRS.FindFirst "[T●発生状況.事故ID] = '" & Me.T●発生状況.事故ID & "'"
  Set SubRS = Nothing
  Set MainRS = Nothing
End Sub

↑氏名はサブフォームには持ってきていなかったので、事故IDとしました。
1.のフォームは F_発生+被災+実態全体 という名前です。
サブフォームのダブルクリック時に、上記を貼り付けました。

コンパイルエラー となり、
Private Sub Form_DblClick(Cancel As Integer)  黄色くなる
Dim MainRS As DAO.Recordset           ここが指定される

となっています。
・ツリー全体表示

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