過去ログ

                                Page     592
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼選択したレコードだけ印刷するには?  水無月 04/4/9(金) 14:22
   ┣Re:選択したレコードだけ印刷するには?  イケガミ 04/4/9(金) 14:33
   ┗Re:選択したレコードだけ印刷するには?  クロ 04/4/9(金) 14:42
      ┗Re:選択したレコードだけ印刷するには?  水無月 04/4/9(金) 15:29
         ┣Re:選択したレコードだけ印刷するには?  クロ 04/4/9(金) 15:48
         ┗Re:選択したレコードだけ印刷するには?  イケガミ 04/4/9(金) 16:11
            ┗Re:選択したレコードだけ印刷するには?  水無月 04/4/9(金) 17:01

 ───────────────────────────────────────
 ■題名 : 選択したレコードだけ印刷するには?
 ■名前 : 水無月
 ■日付 : 04/4/9(金) 14:22
 -------------------------------------------------------------------------
   こんにちは。
選択したレコードのみをプレビューしたいのですが上手くいきません。
どうしたらよいでしょうか?

まず住所録テーブルがあり、その中には名前や住所などのフィールドとともにチェックボックスのフィールドもあります。
その住所録テーブルをもとに表形式のフォームを作成しました。
チェックボックスがオンになっているレコードのみを印刷する、という作業を行いたいのですが上手くできません。

フォーム上に「印刷」というコマンドボタンを作成し、それをクリックしたときのイベントとして下記を作ってみましたが、全く上手くいきません。

Private Sub 印刷_Click()
On Error GoTo Err_印刷_Click
  
  Dim stDocName As String
  Dim criteria As String
  stDocName = "レポート名"
  criteria = Me!チェックボックス.Value = −1
    
  DoCmd.OpenReport stDocName, acPreview, , criteria
 
Exit_印刷_Click:
  Exit Sub

Err_印刷_Click:
  MsgBox Err.Description
  Resume Exit_印刷_Click
  
End Sub

それとこのチェックは、次にフォームを開いたときには全てオフになるように、フォームを開くイベントに

Docmd.RunSQL "UPDATE 住所録 SET 住所録.チェックボックス = No;"

と設定しています。

以上で状況の説明としては理解していただけるでしょうか?
どなたかお教えください。
宜しくお願いします。

 ───────────────────────────────────────  ■題名 : Re:選択したレコードだけ印刷するには?  ■名前 : イケガミ  ■日付 : 04/4/9(金) 14:33  -------------------------------------------------------------------------
   > criteria = Me!チェックボックス.Value = −1

criteria = "チェックボックス=True"
のように変更してみてください。

 ───────────────────────────────────────  ■題名 : Re:選択したレコードだけ印刷するには?  ■名前 : クロ  ■日付 : 04/4/9(金) 14:42  -------------------------------------------------------------------------
   レポートのレコードソースの当該フィールドが
-1(チェックオン)だと指定します。

レコードソースの当該フィールド名が「chk」とした場合

criteria = "[chk] = −1"
もしくは
criteria = "[chk] =" & Me!チェックボックス

としてください。

 ───────────────────────────────────────  ■題名 : Re:選択したレコードだけ印刷するには?  ■名前 : 水無月  ■日付 : 04/4/9(金) 15:29  -------------------------------------------------------------------------
   お返事ありがとうございます。

ですがやっぱり上手くいきません。

例えば、レコード1、2、3があったとして、3、2、1の順序でチェックを入れると、3と2のみがプレビューされます。1は確定されてないようなんです。

あと、1のみにチェックを入れたあと、3にチェックを入れて、でもやっぱり3は中止するのにチェックをはずすという作業をします。その状態でプレビューさせると3も選択されてしまいます。カレントレコードも選択されてしまうようなんです。

以上のことを解決する方法はありませんか?
ご教授お願いいたします。

 ───────────────────────────────────────  ■題名 : Re:選択したレコードだけ印刷するには?  ■名前 : クロ  ■日付 : 04/4/9(金) 15:48  -------------------------------------------------------------------------
   簡単に言うとチェックを入れただけではレコードとして確定してません。

Me.RefreshをDocmd.OpenReportの前に入れてみてください。

 ───────────────────────────────────────  ■題名 : Re:選択したレコードだけ印刷するには?  ■名前 : イケガミ  ■日付 : 04/4/9(金) 16:11  -------------------------------------------------------------------------
   >1は確定されてないようなんです。

DoCmd.RunCommand acCmdSaveRecord 'レコードの保存
か、
Me.Requery
じゃないかな。

 ───────────────────────────────────────  ■題名 : Re:選択したレコードだけ印刷するには?  ■名前 : 水無月  ■日付 : 04/4/9(金) 17:01  -------------------------------------------------------------------------
   お返事ありがとうございます。

早速実行してみました。

上手くいきました!

ありがとうございます。

今後も何かありましたら宜しくお願いします。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 592