システムwiki

アクセスパラメータクエリ質問

ToddM_5 受付中 最終更新日:2021-05-02 02:22

こんにちはみんな、私は6つの異なるフィールド(会社番号、会社名、住所、都市、郵便番号)を持つパラメータクエリを持っています.会社名または会社番号のいずれかを入力して、6つのフィールドのすべてを返すようにユーザーに依頼するように照会します.
パラメータクエリに入力された会社名または会社番号のいずれかに基づくデータ.パラメータ基準をどのように設定しますか?

返信リスト(回答:9)

1 #
Scottge
パラメータプロンプトクエリを使用することはほとんどありません.それらは制限が多すぎます.代わりにフォームを使用してください.会社番号または名前を選択するためのコントロールと、クエリを実行するためのボタンがあります.入力されているコントロールに応じて、異なるクエリを実行します.
2 #
JohnW.V

ORロジックを使用するだけです:SQLビューは

PARAMETERS [Forms]![YourForm]![txtcompanyNo]テキスト、

[フォーム]![YourForm]![txtcompanyName]テキスト;

SELECT [会社番号]、[会社名]、[住所]、[市区町村]、[州]、[ZIP]

tableから

WHERE([company Number]=""&[Forms]![YourForm]![txtcompanyNo]& ""

AND [Forms]![YourForm]![txtcompanyName] IS NULL)

または

([会社名]=""&[フォーム]![YourForm]![txtcompanyName]& ""

AND [Forms]![YourForm]![txtcompanyNo] IS NULL);

3 #
KenSher 1

シンプルなパラメータプロンプトを使用する:
選択*
[yountable]から
ここで([会社名]= [会社名の入力、または空白のままにしてください.]
そして[会社番号の入力または空白のままにする:]はNULLです)
または([会社番号]= [会社番号の入力または空白のままにする:]
[会社名を入力するか、空白のままにする:]はNULLです.
しかし、他の人が指摘したように、パラメータとしてダイアログ形式でバインドされていないコントロールを参照することをはるかに優れています.その後、1つのパラメータ値のみが入力されていることを検証できます.これは、単純なパラメータプロンプトではできません.
DatabaseBasics.zipを参照してください. https://onedrive.live.com/?cid=44cc60d7fea42912&id=44cc60d7fea42912年169.
以前のversionのアクセスを使用している場合、ボタンなどのフォームオブジェクトの色が誤って表示され、それに応じてフォームデザインを修正する必要があることに注意してください.
リンクを開くのが難しい場合は、そのテキストをコピーし(リンクの場所ではなく)、それをブラウザのアドレスバーに貼り付けます.
この小さなデモファイルでは、データベースからデータを取得するセクションに移動した場合、フォームの右側の部分は、オプションのパラメータとして2つのバインドされていないコントロールの使用を示しています.私の場合のクエリは、上記とは少し異なります.
あなたの場合のように、1つまたは他のコントロールではなく、結果をさらに制限するために、あるコントロールまたは両方のコントロールに入力できます.

応答3# ->にスキップ
4 #
ToddM
ありがとう、調べてみます.
応答3# ->にスキップ
5 #
ToddM

コマンドボタンから電子メールを送信するためのアクセスを使用するデータベースがありますか、またはフォームを使用して電子メールの更新プログラムのフォームを更新するときにアクセスしてください.

応答5# ->にスキップ
6 #
KenSher

同じ公開データベースフォルダにあるInvoicePDF.zipを参照してください.
https://onedrive.live.com/?cid=44cc60d7fea42912&id=44cc60d7fea42912年169.
この小さなデモファイルは、主に、レポート(請求書)をPDFファイルとして出力する方法を説明することを目的としていますが、レポートをEメールへの添付ファイルとして送信する機能を含みます.私の場合、電子メールアドレスは現在のレコードから撮影されます.
しかし、ボディテキストはイベント手順ではほとんどハードコーディングされています.ただし、ボディテキストのフォームの現在のレコードからデータを使用するのは簡単な作業です.コードは次のとおりです プライベートサブCMDEMAIL_CLICK()
Dim Strtoとして文字列として
Dim StrSubject

Stringとしてのムッサゲートテキスト
me.dirty= false
strot= me.email
strsubject= "請求書番号"&me.invoicenumber
strmessageText= Me.Customer.Column(1)&":"&_
vbnewline&vbnewline&_
「最新の請求書が添付されています」 &_
vbnewline&vbnewline&_
「カスタマーアカウント部、ウィジェットサプライカンパニー」
docmd.sendObject objectType:= acsendreport、_
ObjectName:= "RPTINVOICE"、_
OutputFormat:= acformatpdf、_
to:= stro、_
件名:= strsubject、_
MessageText:= strmessageText、_
EditMessage:= true
終了サブ

応答6# ->にスキップ
7 #
ToddM

助けを得ていただきありがとうございます.また、メッセージ内のテキストが弾丸などを持つことを望んでいたら、テキストはHTMLでハードコーディングされる必要がありますか?もしそうなら、それはどのようにコードを変更しますか
HTMLの場合はメッセージをアクセスするには?

プライベートサブCMDEMAIL_CLICK()
Dim Strtoとして文字列として
Dim StrSubject

Stringとしてのムッサゲートテキスト
me.dirty= false
strot= me.email
strsubject= "請求書番号"&me.invoicenumber
strmessageText= Me.Customer.Column(1)&":"&_
vbnewline&vbnewline&_
「最新の請求書が添付されています」 &_
vbnewline&vbnewline&_
「カスタマーアカウント部、ウィジェットサプライカンパニー」
docmd.sendObject objectType:= acsendreport、_
ObjectName:= "RPTINVOICE"、_
OutputFormat:= acformatpdf、_
to:= stro、_
件名:= strsubject、_
MessageText:= strmessageText、_
EditMessage:= true
終了SUB

応答6# ->にスキップ
8 #
ToddM

助けを得ていただきありがとうございます.また、メッセージ内のテキストが弾丸などを持つことを望んでいたら、テキストはHTMLでハードコーディングされる必要がありますか?もしそうなら、それはどのようにコードを変更しますか
HTMLの場合はメッセージをアクセスするには?

プライベートサブCMDEMAIL_CLICK()
Dim Strtoとして文字列として
Dim StrSubject

Stringとしてのムッサゲートテキスト
me.dirty= false
strot= me.email
strsubject= "請求書番号"&me.invoicenumber
strmessageText= Me.Customer.Column(1)&":"&_
vbnewline&vbnewline&_
「最新の請求書が添付されています」 &_
vbnewline&vbnewline&_
「カスタマーアカウント部、ウィジェットサプライカンパニー」
docmd.sendObject objectType:= acsendreport、_
ObjectName:= "RPTINVOICE"、_
OutputFormat:= acformatpdf、_
to:= stro、_
件名:= strsubject、_
MessageText:= strmessageText、_
EditMessage:= true
終了SUB

応答8# ->にスキップ
9 #
Scottge

電子メール本文のフォーマットが必要な場合は、ダニエルが別のスレッドでアドバイスしたように、OfficeオートメーションとHTMLを使用する必要があります.

SendObjectコマンドは、電子メールを送信する簡単な方法です.添付ファイルが必要ない場合は、オブジェクトタイプにacNoObject(これは定数だと思います)を使用します