Access VBA質問箱 IV

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

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


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

【4972】Re:別フォームの指定
お礼  情シス初心者  - 05/4/27(水) 18:23 -

引用なし
パスワード
   出来ました。有難うございました。
・ツリー全体表示

【4971】Re:別フォームの指定
回答  小僧  - 05/4/27(水) 18:19 -

引用なし
パスワード
   ▼情シス初心者 さん:
>早速の返信有難うございます。
>F_パスワードで認証に成功したとき、
>F_メインフォームにあるラベルを表示したいときは、どうすれば良いのでしょう >か?

F_メイン に 「認証成功ラベル」 があるとすると、

Forms![F_メイン].[認証成功ラベル].Visible = True

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

【4970】Re:別フォームの指定
質問  情シス初心者  - 05/4/27(水) 17:47 -

引用なし
パスワード
   早速の返信有難うございます。
F_パスワードで認証に成功したとき、
F_メインフォームにあるラベルを表示したいときは、どうすれば良いのでしょうか?
・ツリー全体表示

【4969】Re:ACCESSからEXCELのピボットテーブル作成
回答  小僧  - 05/4/27(水) 17:22 -

引用なし
パスワード
   ▼VBA超初心者 さん:
こんにちは。

>ワークブック、EXCEL共に閉じていますが、ACCESSは
>起動させたままです。これだと問題ありますか?

VBAの記述にないと、AccessがExcelを掴んだままになってしまいます。
動作確認ができないので申し訳ないのですが、

>Exit_コマンド2_Click:

の直前に
objexcel.ActiveWorkbook.Close True
objexcel.Quit
Set objexcel = Nothing

を入れれば(おそらく)連続起動は解決できるかと思われます。
・ツリー全体表示

【4968】Re:ACCESSからEXCELのピボットテーブル作成
発言  VBA超初心者  - 05/4/27(水) 16:55 -

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

こんにちは!アドバイス有難うございます。

>連続操作(抽出日等の条件を変え、連続操作)を行った際…
>
>このような場合、参照したエクセルの解放が
>うまくいってない事が多々あります。
>
>1.ワークブックは閉じているのか。
>2.アプリケーションは終了しているのか。

ワークブック、EXCEL共に閉じていますが、ACCESSは
起動させたままです。これだと問題ありますか?


>低位バージョンに揃えて開発するのが基本なのですが、
>職場環境によってなかなかそうはいきませんよね
>
>Excel2002でサポート対象のオブジェクトやメソッドが
>Excel2000で用意されていない可能性があります。
>コードのどこでエラーになってしまうのかを提示して頂くと
>早い回答が得られるかもしれません。

それが。。。黄色く反転していないんです。何でなのか自分でも
分からないのですが。。。
・ツリー全体表示

【4967】Re:ACCESSからEXCELのピボットテーブル作成
回答  小僧  - 05/4/27(水) 16:40 -

引用なし
パスワード
   ▼VBA超初心者 さん:
こんにちは。

コードの詳細までは見ておりませんが気になった事を。

>連続操作(抽出日等の条件を変え、連続操作)を行った際…

このような場合、参照したエクセルの解放が
うまくいってない事が多々あります。

1.ワークブックは閉じているのか。

2.アプリケーションは終了しているのか。

等を確認してみて下さい。

>実際に動かす環境にて動作チェックをしたところ…

低位バージョンに揃えて開発するのが基本なのですが、
職場環境によってなかなかそうはいきませんよね

Excel2002でサポート対象のオブジェクトやメソッドが
Excel2000で用意されていない可能性があります。
コードのどこでエラーになってしまうのかを提示して頂くと
早い回答が得られるかもしれません。


※こちらの掲示板ではマルチポスト(複数の掲示板にまったく同じ話題を
投稿すること)容認されてますが、他の掲示板には禁止となっている所も
もちろんあります。気をつけましょう。
・ツリー全体表示

【4966】ACCESSからEXCELのピボットテーブル作成
質問  VBA超初心者  - 05/4/27(水) 16:06 -

引用なし
パスワード
   いつもこちらを拝見し、勉強しております。

何がどうおかしいのか分からないので、ご教授頂けたら幸いです。宜しくお願い
致します。

下記VBにて、ACCESSからEXCELに出力し、同時にピボットテーブル作成迄行っ
ております。

--------------------------------------------------------------------------
Set objexcel = CreateObject("Excel.Application")
objexcel.Visible = True

DoCmd.OutputTo acOutputTable, "XXXXX", acFormatXLS, "\XXXXX.XLS", True

Dim strDataRng As String

strDataRng = ActiveWorkbook.Worksheets("XXXXX").Range("A1").CurrentRegion.Address(, , xlR1C1)
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'XXXXX'!" & strDataRng).CreatePivotTable TableDestination:="", _
TableName:="ピボットテーブル1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select

ActiveSheet.PivotTables("ピボットテーブル1").PrintTitles = True
ActiveSheet.PivotTables("ピボットテーブル1").AddFields RowFields:=Array("XXXXX", _
"XX", "XXXXX", "XXX", "XXX"), ColumnFields:="XXXXX", PageFields:=Array("XXXXX" _
, "XXX", "XXX", "XXX")
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("XX")
.Orientation = xlDataField
.Position = 1
End With
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("XX")
.Orientation = xlDataField
.Position = 2
End With
ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("粗利").Orientation = _
xlDataField
ActiveWorkbook.ShowPivotTableFieldList = False
'Application.CommandBars("PivotTable").Visible = False
ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "#,##0_ "
ActiveSheet.PivotTables("ピボットテーブル1").PivotSelect "'合計 / XX':'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "\#,##0;\-#,##0"
Range("A5").Select
With ActiveSheet.PivotTables("ピボットテーブル1").PivotFields("XXXXX")
.PivotItems("XXXXX").Visible = False
End With
Sheets("Sheet1").Select
Sheets("Sheet1").Name = "XXXXX"
Sheets("XXXXX").Select

strDataRng = ActiveWorkbook.Worksheets("XXXXX").Range("A1").CurrentRegion.Address(, , xlR1C1)
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'XXXXX'!" & strDataRng).CreatePivotTable TableDestination:="", _
TableName:="ピボットテーブル2", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select

ActiveSheet.PivotTables("ピボットテーブル2").PrintTitles = True
ActiveSheet.PivotTables("ピボットテーブル2").AddFields RowFields:=Array("XXXXX", _
"XX", "XXX", "XXX", "XXX"), ColumnFields:="XXX", PageFields:=Array("XXX" _
, "XXX", "XXX", "XXX")
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("XX")
.Orientation = xlDataField
.Position = 1
End With
ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("XXX").Orientation = _
xlDataField
ActiveWorkbook.ShowPivotTableFieldList = True
ActiveWorkbook.ShowPivotTableFieldList = False
Application.CommandBars("PivotTable").Visible = False
ActiveSheet.PivotTables("ピボットテーブル2").PivotSelect "'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "#,##0_ "
ActiveSheet.PivotTables("ピボットテーブル2").PivotSelect "'合計 / XX'", _
xlDataAndLabel, True
Selection.NumberFormatLocal = "\#,##0;\-#,##0"
Range("A5").Select
With ActiveSheet.PivotTables("ピボットテーブル2").PivotFields("XX")
.PivotItems("XX").Visible = False
.PivotItems("XX").Visible = False
End With
Sheets("Sheet2").Select
Sheets("Sheet2").Name = "XXX"

Exit_コマンド2_Click:
Exit Sub

Err_コマンド2_Click:
MsgBox Err.Description
Resume Exit_コマンド2_Click

End Sub
--------------------------------------------------------------------------

開発環境は、OS=XP,EXCEL=2002,ACCESS=2000
実際に動かす環境は、OS=98,EXCEL=2000,ACCESS=2000になります。

開発環境にて動作チェックを行ったところ、連続操作(抽出日等の条件を変え、
連続操作)を行った際に「オブジェクト変数またはwithブロック変数が設定され
ていません」のエラーが出力されてしまいます。(1回目の操作終了後、ACCESSを
一旦閉じて、再実行すると、問題ありませんでした)

実際に動かす環境にて動作チェックをしたところ、「オブジェクトは、このプロ
パティまたはメソッドをサポートしていません」とエラーが出力されてしまいま
す(この時は、1回目の操作でNGになります)


出来る限り頑張って、ここまでたどり着けたのですが、どうしても分かりません。初歩的な問題かも知れませんが、大変申し訳ありません。ご教授頂けると幸いです。

宜しくお願い致します。
・ツリー全体表示

【4965】Re:別フォームの指定
回答  小僧  - 05/4/27(水) 10:13 -

引用なし
パスワード
   ▼情シス初心者 さん:
おはようございます。

フォーム:F_メインに
表示トグル:トグルボタン

フォーム:F_パスワードに
パステキスト:テキストボックス

が存在するとして、

F_メインに

Private Sub 表示トグル_Click()
  If Me.表示トグル Then
    DoCmd.OpenForm "F_パスワード", acNormal, , , , acDialog
  Else
    Me.Section(acFooter).Visible = False
  End If
End Sub

F_パスワードに

Private Sub パステキスト_AfterUpdate()
Dim Pass As String
  Pass = "xxxxx"
  
  If Me.パスワードテキスト.Value = Pass Then
    Forms![F_メイン].Section(acFooter).Visible = True
  End If
  
  DoCmd.Close acForm, Me.Name
End Sub

でいかがでしょうか?
パスワード丸見えですが(笑)
・ツリー全体表示

【4964】別フォームの指定
質問  情シス初心者  - 05/4/27(水) 9:36 -

引用なし
パスワード
   お世話になります。
トグルボタンを押すとフッターを表示するようにVBAを組んでいます。
パスワード入力をフォームを別に作って、パスワードが一致したら
このフォームを開くようにしたいのですが、どうすればよろしいでしょうか?
恐らく以下の「Me」という部分をフッターを開きたいフォーム名を指定すれば、
いいかと思うのですが、指定方法をお教えいただけたらと思います。
Me.Section(acFooter).Visible = True
・ツリー全体表示

【4963】ありがとうございます!!とても助かりまし...
お礼  サチチ  - 05/4/26(火) 20:00 -

引用なし
パスワード
   ありがとうございます!
手とり、足取りと、助かりました。
本で探しても、なかなか載ってなく、困っていたのです。
初めてやる事ばかりでしたが、なんとか出来ました!

きっと、近々また質問するかと思いますが、今後も
ご教授ください。よろしくお願いします。
・ツリー全体表示

【4962】Re:1人が複数の結果がある場合のレポート...
回答  hatena  - 05/4/26(火) 16:23 -

引用なし
パスワード
   >ページフッター
>---------------------------------------
>職番  名前   検査項目  注意事項 ←ラベル   
>
>----------------------------------------
>詳細
>----------------------------------------
>職番  名前    検査項目  注意事項 ←テキストボックス
>
>----------------------------------------
>職番フッター
>-----------------------------------------
>ページフッター
>
>とあるのですが、
>四角で囲みたいのが、出来ないのです。
>検査項目1つづつ、四角で囲むのでなく、検査項目が
>2個3個ある場合、全てをひとくくりにしたいのです。

直線コントロールを、
ページヘッダーセクションの下辺に、
詳細セクションの左右に縦に、
職番フッターの上辺に、
それぞれ配置すればOKですね。
・ツリー全体表示

【4961】mdeファイルを開けない
質問  たけ  - 05/4/26(火) 16:02 -

引用なし
パスワード
   mdeファイルを誰かがアクセスしている状態(OSはhome or pro sp1)でXpSP
2で開こうとすると開きません。
※エラー等は特にでず、ファイルをクリックしても特に無反応という状態です


XpSP2でアクセスしているときにXpのSP2以外のマシンでは問題なくアクセスし
起動するので障害がでるのはXpSP2で2台目以降にアクセスしたマシンと思わ
れます。

回避方法をお分かりの方がいましたら、お助けください。
・ツリー全体表示

【4960】Accessでピボット
質問  にしもり  - 05/4/26(火) 14:02 -

引用なし
パスワード
   こんにちは。
Accessで「東京」というテーブルをクエリでピボットしています。

TRANSFORM Sum(東京.売り上げ) AS 売り上げの合計
SELECT 東京.課コード, 東京.課名, 東京.市区郡コード
FROM 東京
GROUP BY 東京.課コード, 東京.課名, 東京.市区郡コード
PIVOT 東京.年月;

このとき年月だけでなく、製品でもピボットしたいのです。
Excelのピボットでよくやりますよね。
Accessでは例えば下のようにはできないのでしょうか?

TRANSFORM Sum(東京.売り上げ) AS 売り上げの合計
SELECT 東京.課コード, 東京.課名, 東京.市区郡コード
FROM 東京
GROUP BY 東京.課コード, 東京.課名, 東京.市区郡コード
PIVOT 東京.年月,東京.製品;

なぜかといいますと、6万5千件を超えているのでExcelに吐いてからではできないのです。
どなたかいい案を教えてください。
・ツリー全体表示

【4959】Re:1人が複数の結果がある場合のレポート...
質問  サチチ  - 05/4/26(火) 10:39 -

引用なし
パスワード
   出来ました!!

もう一つ、お聞きしたいのですが、今現在

ページフッター
---------------------------------------
職番  名前   検査項目  注意事項 ←ラベル   

----------------------------------------
詳細
----------------------------------------
職番  名前    検査項目  注意事項 ←テキストボックス

----------------------------------------
職番フッター
-----------------------------------------
ページフッター

とあるのですが、
四角で囲みたいのが、出来ないのです。
検査項目1つづつ、四角で囲むのでなく、検査項目が
2個3個ある場合、全てをひとくくりにしたいのです。

それと、職番フッターは何もいれなくてもいいですか?
・ツリー全体表示

【4958】Re:1人が複数の結果がある場合のレポート...
回答  hatena  - 05/4/25(月) 22:43 -

引用なし
パスワード
   >度々、すみません。レコードのレコードソースが
>分かりました!!
>ただ、▼で選ぶと、疾病管理と注意事項でつないである、
>Q_疾病管理があるので、これを選び:わ押すと、
>クエリビルダが出てきて、職番をグループ化に
>すると、他が演算となってしまいます。
>これでいいのですか?
>どうしても、グループ化が分かりません。

レコードソースは Q_疾病管理 のままでいいです。
そこでグループ化はしないでください。

レポートのデザインビューで、メニューから
[表示]-[並び替え/グループ化の設定]をクリックします。
「並び替え/グループ化の設定」ウィンドウが開きますので、そこで、
下記のように設定して下さい。

式/フィールド式   並び替え順序
----------------------------------
職番         昇順

--------------------------------
    グループプロパティ
--------------------------------
グループヘッダー  いいえ
グループフッター  はい

これでレポートのデザインビューにグループフッターが
表示されます。このグループフッターを選択して、
プロパティで書式に「改ページ」というのが有りますので、
「カレントセクションの後」を選択して下さい。
・ツリー全体表示

【4957】Re:1人が複数の結果がある場合のレポート...
質問  サチチ  - 05/4/25(月) 22:16 -

引用なし
パスワード
   度々、すみません。レコードのレコードソースが
分かりました!!
ただ、▼で選ぶと、疾病管理と注意事項でつないである、
Q_疾病管理があるので、これを選び:わ押すと、
クエリビルダが出てきて、職番をグループ化に
すると、他が演算となってしまいます。
これでいいのですか?

どうしても、グループ化が分かりません。
よろしくご教授願います。
頑張ります!!
・ツリー全体表示

【4956】Re:1人が複数の結果がある場合のレポート...
質問  サチチ  - 05/4/25(月) 21:18 -

引用なし
パスワード
   >のクエリの結果は下記のようになってますか。
>
>職番    名前    検査項目       注意事項
>123456   藤原    採血         特になし
>123456   藤原    レントゲン      朝食抜き
>123456   藤原    血圧         緊張しないで

なってます!

>これをレポートのレコードソースにして、
>職番(あるいは名前)でグループ化して、グループフッターを表示
>させます。

↑これが分からないのですが・・・クエリの集計の所をグループ化
にすればいいのですか?
それとも、レポートの詳細のツールの所を右クリックして、
並び替え/グループ化の設定で、フィールド/式に職番を入れて、
並び替えを昇順にすればいいのですか?それとも、レポートの
職番(テキストボックス)を右クリックして、
プロパティ−データ−集計実行をグループ全体にするのですか?

>
>デザインビューでのレイアウトは下記のようにします。
>
>ページヘッダー
>-----------------------------------------------------
>職番   名前   検査項目      注意事項 ←ラベルで項目名を表示
>----------------------------------------------------
>詳細
>----------------------------------------------------
>[職番]  [名前]  [検査項目]     [注意事項] ←テキストボックス
>----------------------------------------------------
>グループフッター
>----------------------------------------------------

↑この様にには、作りました。ただ、ブループフッターにはなってなく、
ただのページフッターになってしまってます。

超初心者で、基本から勉強中で申し訳ないのですが、
教えて下さい。よろしくお願いします。
・ツリー全体表示

【4955】Re:1人が複数の結果がある場合のレポート...
回答  hatena  - 05/4/25(月) 16:57 -

引用なし
パスワード
   >となると、ヘッターに職番・名前で、詳細に検査項目
>ですよね?・・・
>うーーん、重複データを非表示にしても、検査項目は
>1個しか出てこなく、数枚になってしまいます。
>なんででしょう・・・

ちょっと現状がどのようになっているのか分からないのですが、

まず、

> 疾病管理と、注意事項をクエリでつないで、
> 疾病管理のテーブル+注意事項にしてます。

のクエリの結果は下記のようになってますか。

職番    名前    検査項目       注意事項
123456   藤原    採血         特になし
123456   藤原    レントゲン      朝食抜き
123456   藤原    血圧         緊張しないで

これをレポートのレコードソースにして、
職番(あるいは名前)でグループ化して、グループフッターを表示
させます。

デザインビューでのレイアウトは下記のようにします。

ページヘッダー
-----------------------------------------------------
職番   名前   検査項目      注意事項 ←ラベルで項目名を表示
----------------------------------------------------
詳細
----------------------------------------------------
[職番]  [名前]  [検査項目]     [注意事項] ←テキストボックス
----------------------------------------------------
グループフッター
----------------------------------------------------
                          

グループフッターの「改ページ」を「カレントセクションの後」に設定。
これで、プレビューにすると、

職番    名前    検査項目       注意事項
123456   藤原    採血         特になし
123456   藤原    レントゲン      朝食抜き
123456   藤原    血圧         緊張しないで

とクエリと同じように表示されるはずです。
ここまでできたら、あとは、[職番] [名前] のテキストボックスの
「重複データ非表示」を「はい」にすれば、 

> レポートの出力希望は、
>         
> 職番    名前    検査項目       注意事項
> 123456   藤原    採血         特になし
>             レントゲン      朝食抜き
>             血圧         緊張しないで
>

となるはずです。
・ツリー全体表示

【4954】Re:1人が複数の結果がある場合のレポート...
質問  サチチ  - 05/4/25(月) 16:34 -

引用なし
パスワード
   >職番 と 名前 のテキストボックスの
>重複データ非表示 を はい にすればいいかと思います。 

となると、ヘッターに職番・名前で、詳細に検査項目
ですよね?・・・
うーーん、重複データを非表示にしても、検査項目は
1個しか出てこなく、数枚になってしまいます。
なんででしょう・・・
・ツリー全体表示

【4952】Re:1人が複数の結果がある場合のレポート...
回答  hatena  - 05/4/25(月) 15:49 -

引用なし
パスワード
   >レポートの出力希望は、
>        
>職番    名前    検査項目        注意事項
>123456    藤原    採血         特になし
>               レントゲン      朝食抜き
>               血圧         緊張しないで

職番 と 名前 のテキストボックスの
重複データ非表示 を はい にすればいいかと思います。 
・ツリー全体表示

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