Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

新着の投稿記事


タイトルRe^4: 一覧レポートで、レコードごとにレイアウトを変更したい
記事No42966   [関連記事]
投稿日: 2018/09/03(Mon) 21:38
投稿者ややや
> ですから、こまごまとしたレイアウトの変更を
> テキストの位置をずらすとか、Visible を変えるとか...

レイアウトのパターンが20パターンほどあり、
さらにパターンとパターンの組み合わせがあったりするので、
全部で400パターン近くになり、1つずつvbaで位置や表示の有無を変えることは非常に厳しいです。
また、レイアウトの管理が大変そうです。

レポートで20パターンのレイアウトを作っておき、
一覧表示の際にサブレポートとしてはめ込んでいければレイアウトの管理もしやすいのですが・・。

何か良い方法がないでしょうか。
とても困っています。

タイトルRe^3: 一覧レポートで、レコードごとにレイアウトを変更したい
記事No42965   [関連記事]
投稿日: 2018/09/03(Mon) 09:03
投稿者よろずや
参照先http://www.accessclub.jp/urawaza/32.html
> ソースオブジェクトはレコードごとには変えられないようです。

ですから、こまごまとしたレイアウトの変更を

> > レポートの「詳細_Format」イベントでレイアウトを変更できます。

テキストの位置をずらすとか、Visible を変えるとか...

タイトルRe^2: 一覧レポートで、レコードごとにレイアウトを変更したい
記事No42964   [関連記事]
投稿日: 2018/09/03(Mon) 08:18
投稿者ややや
> > どのようにすればよいのでしょうか。
>
> レポートの「詳細_Format」イベントでレイアウトを変更できます。

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

詳細_Formatでサブレポートの指定を変えてみました。

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
Me.サブレポート.SourceObject = "レポート.レイアウトA"
End Sub

エラーになりました。
実行時エラー'2191':
印刷プレビュー時または印刷を開始した後は、ソースオブジェクト プロパティを設定できません。

何か間違っていますか?

タイトルRe: 一覧レポートで、レコードごとにレイアウトを変更したい
記事No42963   [関連記事]
投稿日: 2018/09/02(Sun) 19:27
投稿者よろずや
> どのようにすればよいのでしょうか。

レポートの「詳細_Format」イベントでレイアウトを変更できます。

タイトル一覧レポートで、レコードごとにレイアウトを変更したい
記事No42962   [関連記事]
投稿日: 2018/09/02(Sun) 16:44
投稿者ややや
OS:Windows10
Access Version:2013

ソースにテーブルAを指定したレポートでレコードの一覧を表示したいのですが、
テーブルAのカラムBの値に応じて、そのレコードの表示レイアウトを変更したいです。
例えば、レコードのキーが1,2,3,4,5で各レコードのカラムBの値がそれぞれA,B,C,B,Aであれば、
キー1,5のレコードはレイアウトA、キー2,4のレコードはレイアウトB、キー3のレコードはレイアウトCで
表示したいです。
分かりづらいですが、イメージを記載します。

キー値 その他の情報の表示
1 レイアウトAでレコード1の内容
2 レイアウトBでレコード2の内容
3 レイアウトCでレコード3の内容
4 レイアウトBでレコード4の内容
5 レイアウトAでレコード5の内容

レイアウトA,B,C,...をそれぞれレポートで作成し、
メインレポートに作成したサブレポートのソースオブジェクトをレコードごとに変えられればできるかと
思ったのですが、ソースオブジェクトはレコードごとには変えられないようです。

どのようにすればよいのでしょうか。


タイトルVBAで表示した外部画像ファイルが削除できなくなる
記事No42961   [関連記事]
投稿日: 2018/08/12(Sun) 05:07
投稿者nekohai
OS:Windows10
Access Version:Office 365


AccessにてCD管理をしています。

VBAで画像を別フォームにポップアップ表示し、ポップアップ画像をクリックすると閉じるようにしています。

また、画像を右クリックするとメニューが出て画像を削除できるようにしているのですが(Killコマンド使用)、ポップアップ表示すると画像が削除できなくなります。ポップアップ表示をしなければ問題なく消せます。消せなくなると、Windows上でも消せなくなり「Accessが使用中のため…」というようなエラーが出ます。
フォーム類を全て閉じても消せず、Accessを落とすとAccess上でもWindowsでも消せるようになります。

ポップアップ用フォームで画像が専有されているのだと思うのですが、メインのフォームでも画像の表示、消去を繰り返していても、消せなくなることは無いので不思議です。

ポップアップフォームのクローズ前の、

オブジェクト.Picture = ""
オブジェクト.Picture = Nothing

や、ファイルシステムオブジェクトによる

オブジェクト.DeleteFile "filename"

などもトライしてみましたが駄目でした。

以前のバージョンのOffice(2013だったと思うのですが…あるいは365でのメジャーアップデート後かも)では問題なく削除できていたので、セキュリティの強化があったのかもしれませんが、さっぱり見当がつきません。

どなたか原因、解決法などご教示いただければ幸いです。
下記参考までに関連していると思われるコードです。



Private Sub 画像_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

Dim myBar As Object

If Button = acRightButton Then
CB_Num = 0
DoCmd.CancelEvent ' 通常のショートカットメニューを表示させない
Set myBar = CommandBars("画像編集")
myBar.ShowPopup
ElseIf Button = acLeftButton Then
拡大画像_PU IMGDIR & "CD\" & Format(Me![Number], "000000.jpg")
End If

End Sub



Public Sub 拡大画像_PU(ImgPath As String)

Dim Size As Variant


If Dir(ImgPath) <> "" Then
Size = JpegSize(ImgPath)
DoCmd.OpenForm "拡大画像"
' DoCmd.MoveSize 8 * 567, 8 * 567
Form_拡大画像.InsideWidth = Size(0) * 15
Form_拡大画像.InsideHeight = Size(1) * 15
Form_拡大画像.[拡大画像].Width = Size(0) * 15
Form_拡大画像.[拡大画像].Height = Size(1) * 15
' Form_拡大画像.Repaint
Form_Center Form_拡大画像 ' ポップアップフォームを中央にする関数
Form_拡大画像.[拡大画像].Picture = ImgPath ' 画像をセット
End If

End Sub



Private Sub 拡大画像_Click()

Form_拡大画像.[拡大画像].Picture = ""
DoCmd.Close acForm, "拡大画像", acSaveNo

End Sub

タイトルRe^25: テーブル内容をテキストボックスに転記
記事No42960   [関連記事]
投稿日: 2018/08/09(Thu) 15:03
投稿者たかし
>移動ボタンでレコード移動ができるとなると、
>このコードを処理する前に、フォームが単票形式で開かれている、なんてことはないですか?

いいえ、イベントプロシージャで初めて開いています。
DoCmd.OpenForm "F通信文", acNormal, "", "", , acNormal

>このあとも、思いついたら書き込みますが、他の人の意見もお待ちください。

そういたします。あらためてお礼申し上げます。

タイトルRe^24: テーブル内容をテキストボックスに転記
記事No42959   [関連記事]
投稿日: 2018/08/09(Thu) 14:51
投稿者ナバ
> ナバ様、長い間お付き合いくださりありがとうございます。
> このスレも大分長くなってきました。この間私も、ウェブ上で思いつく限りのキーワードを使い検索してみましたが、この手の処理に関する記事は「皆無」でした。やはりこのコードはAccessでは実現不可能なのかも知れません。

ぴったりの事例が見つからないだけで、処理としてはよくあるパターンなのです。
「できない」とは到底思えないんですよ。

移動ボタンでレコード移動ができるとなると、
このコードを処理する前に、フォームが単票形式で開かれている、なんてことはないですか?


> 残る手立てとして、このスレッドを見ていただいている第三者の方に下駄を預けてみたいと存じますがいかがでしょうか?ナバさんさえよかったら、もう少しこのスレッドを開けておきたいと思います。ご意見をお聞かせください。

このあとも、思いついたら書き込みますが、他の人の意見もお待ちください。

タイトルRe^23: テーブル内容をテキストボックスに転記
記事No42958   [関連記事]
投稿日: 2018/08/09(Thu) 14:38
投稿者たかし
ナバ様、長い間お付き合いくださりありがとうございます。
このスレも大分長くなってきました。この間私も、ウェブ上で思いつく限りのキーワードを使い検索してみましたが、この手の処理に関する記事は「皆無」でした。やはりこのコードはAccessでは実現不可能なのかも知れません。残る手立てとして、このスレッドを見ていただいている第三者の方に下駄を預けてみたいと存じますがいかがでしょうか?ナバさんさえよかったら、もう少しこのスレッドを開けておきたいと思います。ご意見をお聞かせください。

タイトルRe^22: テーブル内容をテキストボックスに転記
記事No42957   [関連記事]
投稿日: 2018/08/09(Thu) 14:36
投稿者ナバ
> 他のレコードに@同できますか?

×「@同」
○「移動」
です。

ページの先頭へ 前ページへ戻る