システムwiki

クエリに重複しています

Telesph 解決済 最終更新日:2021-06-14 17:16

重複を抑えるためにExcelが非常に簡単です.

Accessデータベース内のクエリ内の同じことをする方法.

たとえば、Eメールを知りたいのですが.
2013年以来、碑文日からの学生?

フィールド:LastName、FirstName、Eメール、碑文、碑文(#9/1/2013#と#5/1/2018#)

生徒が複数のコースを選択した可能性があるという事実のため、フィールドは繰り返されます.

ありがとう

返信リスト(回答:9)

1 #
Scottge 1

レコードセットを介してループする多くの例を見つける必要があります.簡単にこれは次のようになります.
データベースとしてのDIM DB、RECORDSETとしてのRS
Dim Strtoとして文字列として
db= currentdb()
を設定します set rs= db.openrecordset( "queryname")
strottto= "" "" "" Rs
.movefirst


STRO= STRTO&.フィールド( "アドレス")&";
.movenext
ループ


ループが完了したら、電子メールコマンドのTOパラメータにSTRTOを使用できます.

8 #
Scottge

あなたの問題はあなたのデータベースが正しく設計されていないことです.スプレッドシートとリレーショナルデータベースの違いを考慮せずにExcelスプレッドシートをアクセスデータベースに変換したと思われます.
アクセスデータベースに複数のtableが必要です.Eメールアドレスは学生の属性である学生ごとに1つのレコードを持つ学生のtableを持つ必要があります.あなたは学生の碑文のための別のtable、別のtableを持っているべきです
コースやコースの別のtableは登録されています.適切に設計されたデータベースで、クエリは次のようになります.
LastName、FirstName、Eメールを選択
学生から
IN(#9/1/13#と5/1/18#の間に閉鎖された碑文から彫刻学の選択)にある学生.
あなたは
に逃げることができるかもしれません Distinct LastName、FirstName、Eメールを選択する
碑文から
#9/1/13#と5/1/18#の間に照射された場所.
しかし、結果に碑文日を含めることはできません.

応答8# ->にスキップ
7 #
Telesph

私はプログラマーではないので、他の質問をしてもいいですか.

1)QUERYコマンドは、今日の5年前の電子メールのリストを取得する必要がある、

日付.#9/1/13#と5/1/18#の間には代わりに; 「今日の日付の最後の1日前の最後の1日前の初日」

2)SQLでは、空白のものを取り除くための電子メールフィールドにNULLではなく、使用する必要があります.

2)電子メールプログラムの「to」にリストをコピーするには、電子メールでハイパーリンク形式を取り除く必要があります.

またありがとう

応答7# ->にスキップ
5 #
Scottge

あなたが望むフォローアップのどんな量のいかなる量も尋ねることができます.
1)はい、これを行うことができます.私がコードする方法はそのようなものです:
DateValue(年(日付())-5,9,1)と#5/1/18#
2)必ず変更してください.
象徴された場所がNULLではなく、#9/1/13#と5/1/18#の間に照射されていません.
3)使用:
電子メールとしてのCSTR(Eメール)
SELECT句で

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

またありがとう

私は1997年以来何年に沿ってApplicationを構築しました.

コミュニティは何度も役立ちました.私は感謝しています

これがクエリのコピーです:

<

tbétudiants.nomfamille、tbétudiants.prenom、tbétudiants.Email
Tbétudiantsから
where(((Tbétudiants.idétudiant)IN(IdéTudiantの選択
TbinScriptions
#9/1/2013#とdate())の間のDateSinscriptionがどこにあるか))))))))))))))) tbétudiants.nomfamille、tbétudiants.prénom.

>

質問1)は、DE 2番目の部分を<-date()>で変更しましたが、あなたが私に送った最初の部分はが機能しません:<構文エラー>.私の意図は今日の日付の5年前です.だから<5年>
マイナス<今日の日付>は2013年を意味します.

2)質問ではなく、照会を確認すると、LastName(Nomfamille)とFirstName(Prénom)が表示されますが、一部の生徒にはEメールアドレスがありません.そのため、電子メールアドレス間にスペースがないように行を取り除く必要があります.
これは電子メールプログラムにコピーされます.

3)の質問のために、2)質問がありました: "Eの値を入力"

応答6# ->にスキップ
4 #
Scottge

返事をしてください.
1)すみません、私は脳のおならを持っていて、あなたに間違った機能を与えました.正しい関数は次のとおりです.
Dateserial(年(日付())-5,9,1)
2)だからWHERE句は
tbétudiants.Emailがnullではなく、...
3)あなたのSELECT句は次のとおりです.
tbétudiants.nomfamille、tbétudiants.prénom、
電子メールとしてのCSTR(Tbétudiants.Email)

応答4# ->にスキップ
3 #
Telesph

こんにちはScottgem、

2/3解決済み:DateSerialとNULLではありません.うまく機能します.

しかし、CSTR関数は、テキスト内の電子メールを変換しても、「Mailto:#...#」または「HTTP#...#...メールアドレスに添付してください.

応答3# ->にスキップ
2 #
Scottge

電子メールアドレスはその方法で保存されていますか?もしそうなら、あなたはそれらを解析する必要があるかもしれません.あなたは私に彼らがどのように見えるかの例を見せてもらえますか?

9 #
JasleS

あなたが望むものに応じて、明確または区別的なものを追加してください.詳細についてはこちらをご覧ください.
support.office.com/ja-jp/article...