• ベストアンサー

ACCESSのPrintoutメソッドについて

ACCESS2000 コードのPrintoutメソッドですが、条件を指定しても「型が一致しません」とエラーが出ます。 DoCmd.PrintOut stDocName, , , "ID = " & [Forms]!報告書フォーム.Form!ID としています。 条件を指定することは不可能なんでしょうか?それとも記述の仕方に問題があるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

#1の回答を書いたものです。 申し訳ございません(^^;; 私が質問をあまり良く読んでおりませんでした。 PrintOutメソッドだったのですね。(OpenReportメソッドと勘違いしてました。) PrintOutメソッドは、上部のメニューからファイル - 印刷を選択して 現在画面に表示されているオブジェクトを印刷する動作と同じですので 「stDocName」のような変数で印刷するオブジェクト名を指定したり 条件式を付加したりする事はできません。 PrintOutメソッド、OpenReportメソッドなどの使い方に関しては この辺りが参考になるかと。 http://www.geocities.jp/cbc_vbnet/kisuhen/docmd.html

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

「ID」というのがテーブルのフィールドだと思われますが テーブルのデザインでは「テキスト型」になってませんかね? テキスト型であるならば、条件式を "ID = '" & [Forms]!報告書フォーム.Form!ID & "'" "ID = " & Chr(39) & [Forms]!報告書フォーム.Form!ID & Chr(39) などとしてみてください。 フィールドが数値型ならば、条件式は ID = 10 フィールドがテキスト型ならば、条件式は ID = '10' のような文字列で指定する必要があり、これが守られていないと「型が一致しません」のエラーが発生します。

Scotty_99
質問者

お礼

回答ありがとうございました。早速やってみました。両方ともやってみましたが、うまくいきませんでした。「型が一致しません」というエラーが出てしまいます。でも、Printoutメソッドでは条件式が使えるということですね。その辺で調べてみる必要がありそうですね。とても参考になりました。また、なにかわかったら教えてください。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Access2003 条件を指定してフォームを開く

    アクセス初心者です。 初歩的な質問で本当に申し訳ないんですが、教えてください! 下記コードに条件を追加してフォームを開きたいのですが、どのようなコードを追記すればよろしいでしょうか? 今までは「SAPコード」が一致するものを表示していましたが、それにプラス「品番」も一致するもので条件を変更したいです。 ※今回の対象フォーム名:SCALE  メインフォーム名:発注実績 Else ' [SCALE] フォームを開き、現在のSAPコードのSCALEを表示します。 strDocName = "SCALE" strLinkCriteria = "[SAPコード] = Forms![発注実績]![SAPコード]" DoCmd.OpenForm strDocName, , , strLinkCriteria DoCmd.MoveSize (1440 * 0.78), (1440 * 1.8) End If 下記コードに条件式を追記すればいいと思いますが、ちょっと上手くいきませんでした。。。 strLinkCriteria = "[SAPコード] = Forms![発注実績]![SAPコード]" よろしくお願いします!!

  • アクセスのイベント記述について。

    あるフォーム(患者IDで検索した結果を表示した表形式のフォーム)でコマンド30をクリックしたら、別の入力画面が開くように設定したのですが、患者IDのみ一致したフォームが開くようにはなったのですが、これプラス、依頼日も一致したフォームが開くようにしたいです。以下の記述に変更を加えるとしたら、どのようにしたらよいのでしょうか?よろしくお願いいたします。 Private Sub コマンド30_Click() On Error GoTo Err_コマンド30_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(81) & ChrW(58) & ChrW(26908) & ChrW(20307) & ChrW(21029) & ChrW(20837) & ChrW(21147) & ChrW(-238) stLinkCriteria = "[患者ID]=" & Me![患者ID] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド30_Click: Exit Sub Err_コマンド30_Click: MsgBox Err.Description Resume Exit_コマンド30_Click End Sub

  • ACCESS 別フォームから別フォームの処理を

    ACCESSでメインフォームから別フォームを 【メインフォーム】 DoCmd.OpenForm "FM_商品検索", , , , , acWindowNormal 【商品検索フォーム】 検索画面でJANコードを選んだらJANコードをセットして、商品マスタの読込等の処理をしたい Forms!F_仕入!F_仕入sub.Form!JANコード = Me.JANコード ↑これは動く Forms!F_仕入!F_仕入sub.JANコード_BeforeUpdate ↑これがエラーになります 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。」 でエラーになります。 Forms!F_仕入!F_仕入sub.JANコード_BeforeUpdate Public Sub JANコード_BeforeUpdate(Cancel As Integer) 何がおかしいのでしょうか? 宜しくお願いします

  • ACCESSフォームフィルタで抽出したデータのみをレポートで表示する方法

    フォームフィルターでデータを抽出した後,抽出されたデータのみをレポート上に表示させるコマンドボタンをフォーム上に作っています。 下記のコードを作成しましたが,これだと抽出前の全部のデータが表示されてしまいます。 どうしたら良いでしょうか。 Private Sub ラベルプレビュー_Click() Dim stDocName As String DoCmd.Echo False, stDocName = "rpt宛名ラベル" DoCmd.OpenReport stDocName, acViewDesign DoCmd.SelectObject acReport, stDocName, False ' Reports(stDocName).RecordSource = Me.RecordSource DoCmd.OpenReport stDocName, acViewPreview End Sub

  • GoToRecordでサブフォームを指定したい

    Fフォームの中にSF詳細という名前のサブフォームを埋め込んでいます。 このサブフォームに対して、 指定したレコードに移動したいのですが DoCmd.GoToRecord acDataForm, Form_SF詳細, acGoTo, 3 DoCmd.GoToRecord acDataForm, Forms("Fフォーム").Controls("SF詳細").Form, acGoTo, 3 DoCmd.GoToRecord acDataForm, "SF詳細", acGoTo, 3 全部エラーになり、うまくいきません。 正しい記述の仕方を教えてください。

  • Access 複数条件のフィルタ

    フォーム[F_MENU]に非連結のテキストボックス検索用A~Cで3つあります。 検索用A 検索用B 検索用C AかつBかつCという全件一致でフィルターをかけてフォーム[詳細]を開きたいのですが DoCmd.OpenForm "F_詳細", , , "A = '" & Forms!F_MENU!検索用A & "'" And "B = '" & Forms!F_MENU!検索用B & "'" And "C = '" & Forms!F_MENU!検索用C & "'" とやると、実行時エラー'13':型が一致しません。 と出てしまいます。 Aだけ、Bだけ、Cだけ、それぞれひとつずつ書けば、エラーなく結果が得られます。 DoCmd.OpenForm "F_詳細", , , "A = '" & Forms!F_MENU!検索用A & "'" DoCmd.OpenForm "F_詳細", , , "B = '" & Forms!F_MENU!検索用B & "'" DoCmd.OpenForm "F_詳細", , , "C = '" & Forms!F_MENU!検索用C & "'" おそらくANDの使い方が誤っていると思うのですが、添削お願いいたします。 全てのテキストボックス及び元テーブルのデータ型はテキスト型です。 条件は3つとも完全一致のみで、検索用ABC、F_詳細のABCそれぞれのカラムにNULL値はありません。 よろしくお願いします。

  • ★アクセス2002★一部の単語で抽出する記述

    winXP 顧客名簿フォームに非連結のテキストボックスを2つ作成し(テキスト1,2)、コマンドボタンに下記の様に記述し、[カナ]と[都道府県]ごとに抽出できるようにしました。 Case 1 DoCmd.ApplyFilter , "[カナ] = Forms!顧客名簿フォーム!テキスト1" Case 2 DoCmd.ApplyFilter , "[都道府県] = Forms!顧客名簿フォーム!テキスト2" この場合、完全一致で抽出できるのですが、[テキスト1]に"ア"と入力して、"ア"で始まる顧客を抽出したいのですが、うまくいきません。過去に同じような質問があったので参考にして記述したのですがエラーになってしまったので、よいアドバイスをお願いします。

  • アクセスのイベント記述について追加質問です。(その2)。

    大変恐縮なのですが、先ほど締め切ったばかりの質問に追加質問です。あるフォーム(患者IDで検索した結果を表示した表形式のフォーム)でコマンド30をクリックしたら、別の入力画面が開くように設定して、患者IDと依頼日が一致したフォームが開くようにはなったのですが、これプラス、検体名も一致したフォームが開くようにしたいです。以下の記述に変更を加えるとしたら、どのようにしたらよいのでしょうか?何度もすみませんが、よろしくお願いいたします。 Private Sub コマンド30_Click() On Error GoTo Err_コマンド30_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(81) & ChrW(58) & ChrW(26908) & ChrW(20307) & ChrW(21029) & ChrW(20837) & ChrW(21147) & ChrW(-238) stLinkCriteria = "[患者ID]=" & Me![患者ID] stLinkCriteria = stLinkCriteria & " AND [依頼日]=#" & Me![依頼日] & "#" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_コマンド30_Click: Exit Sub Err_コマンド30_Click: MsgBox Err.Description Resume Exit_コマンド30_Click End Sub

  • Access-フォームのCaption変更

    お願い致します。 Access97のフォームのクラスモジュールでCaptionの変更を行うコードを書いたのですが、いまいちうまくいきません。 ご指導お願い致します。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓ *********************************************** Private sub Form_Load() DoCmd.OpenForm "F_OPEN" Forms!F_OPEN!Msg.Caption="お待ちください" ************************************************ このForms!F_OPEN!Msg.Caption="お待ちください" のところで、エラーメッセージ 「'Item'メソッドは失敗しました:'Forms'オブジェクト」がでてしまうのです。 お願い致します。

  • accessのVBAで変数名でフィールド指定は?

    VBAの記述として フィールド名を指定するときに通常であれば forms![顧客一覧]![ID]やforms![顧客一覧]![age]と記述しますが この[ID]という部分についてあるフォームから IDという文字があるときはIDフィールド、 ageという文字があるときはageフィールドに記述というのはできるのでしょうか?

専門家に質問してみよう