Access2003で条件を指定してフォームを開く方法

このQ&Aのポイント
  • Access2003でフォームを特定の条件で開く方法について教えてください。
  • 現在のSAPコードと品番の両方が一致する場合にフォームを開く条件式が必要です。
  • 既存のコードに条件式を追加することで目的のフォームを開くことができます。
回答を見る
  • ベストアンサー

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コード]" よろしくお願いします!!

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

以下ではどうですか。 strLinkCriteria = "[SAPコード] = Forms![発注実績]![SAPコード]" & " And [品番] = Forms![発注実績]![品番]" & ""

andyno1
質問者

お礼

早速のご回答ありがとうございました!! 完璧に上手くいきました~

関連するQ&A

  • フォームから別フォームを開くには?

    こんにちは。 Access2010を使っています。 開いているフォームから別のフォームを開きたいのですが、その後ろ側のみにワイルドカード(「*」マーク)を入れたいのですが、上手くいきません。 いろいろやってみましたが、「メモリ不足です」となってしまい、上手くいきません。下記コードにどのようにしてワイルドカードを入れたらよいでしょうか? DoCmd.OpenForm "開きたいフォーム名", acNormal, "", "[キー名]=[Forms]![開いているフォーム名]![キー名]", , acNormal ご教授よろしくお願い致します。

  • 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値はありません。 よろしくお願いします。

  • MSアクセス 条件に合うデータのみを抽出してフォームを開けたい

    アクセスの初心者です。ご指導よろしくお願いします。 フォームで条件に合うデータのみを抽出してフォームを開けたいと四苦八苦しています。 現在は汎用フォームを使い、パスIDとパスワードを入れて照合するとDoCmd.OpenForm "フォーム名", , , " [社員No] = 1" で[社員No]「1」のデータのみ抽出した別フォームが開くようになっています。 希望としては、照合した人が照合した人が持つ[社員No]のデータのみが開くようにしたいと考えています。 パス管理のテーブルは ID、 社員No、社員名、パスID、パスワードになっています。   DoCmd.OpenForm "フォーム名", , , " [社員ID] = 1" の「=1」のところが[パスID][パスワード]と一致する社員Noに置き換える方法を教えてください。 わかりにくい質問で申し訳ないですが、よろしくお願いします。

  • MSアクセス 条件に合うデータのみの抽出してフォームを開けたい

    アクセスの初心者です。ご指導よろしくお願いします。 フォームで条件に合うデータのみを抽出してフォームを開けたいと四苦八苦しています。 現在は汎用フォームを使い、パスIDとパスワードを入れて照合するとDoCmd.OpenForm "フォーム名", , , " [社員No] = 1" で[社員No]「1」のデータのみが開くようになっています。 希望としては、照合した人が照合した人が持つ[社員No]のデータのみが開くようにしたいと考えています。 パス管理のテーブルは ID、 社員No、社員名、パスID、パスワードになっています。   DoCmd.OpenForm "フォーム名", , , " [社員ID] = 1" の「=1」のところが[パスID][パスワード]と一致する社員Noに置き換える方法を教えてください。 わかりにくい質問で申し訳ないですが、よろしくお願いします。

  • [Access2000] フォーム間で値の受け渡し

    フォームから、DoCmd.OpenFormを使って、 別のフォームを子画面として開くようにしています。 そのときフォーム間で、Functionの引数と戻り値のような感覚で 値の受け渡しをしたいと思っています。 値をわたす方は、OpenFormの引数のいちばん最後にある OpenArgsを使うことでうまく解決できたのですが、 値を返す方のやり方がイマイチわかりません。   DoCmd.OpenForm "フォーム名",,,,OpenArgs     (カンマの数が間違ってるかも…とりあえずテキトーです) という記述方法の他に、   DoCmd.OpenForm("フォーム名",,,,OpenArgs) という記述もできるようなんですが、そのようにすると 「=」をつけろ、というようなエラーがその場で出ます。 MsgBoxでも同じようなことが起こりますが、 MsgBoxだと「vbOk」やら「vbCancel」やらを返してくれるので OpenFormでも似たようなことができるのかな…と思うのですが。

  • 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) 何がおかしいのでしょうか? 宜しくお願いします

  • フォームが開かない

    「F説明」と言うフォームは存在しているし、ナビゲーションウインドウで、ダブルクリックすると、 フォームは開くのに、なぜかVBAで DoCmd.OpenForm Forms("F説明"), acNormal とすると "実行時エラー2498 指定した式は、 いずれか の引数とデータ型が対応していません。” となります。 このvbaコードは、"F説明"の部分を変数にして使いまわしたいので、ダブルコーテーションで囲える文法にしたいのですが、どこが間違っているのか教えていただけますか。

  • Accessクエリの抽出条件にフォームから挿入する方法

    Accessフォームのテキストボックスに入力されたデータを、クエリの抽出条件に挿入したいのですが、その際部分一致で検索したいため、抽出条件にLike "*[Forms]![フォーム名]![テキストボックス名]*"と記述したのですがうまく行きません。 どのように記述すれば部分一致で検索できるのかお教えください。

  • SelectObjectされているフォーム

    vbaで DoCmd.MoveSize 0, 0, 567 * 35, 567 * 30 を実行した際に、 どのオブジェクトに対して行われたかを取得する方法はありますか? SelectObjectされているフォームを Debug.Printで取得するコードを教えてください。

  • ACCESSのPrintoutメソッドについて

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

専門家に質問してみよう