システムwiki

エラーメッセージ

waleed4 受付中 最終更新日:2021-05-02 02:48

こんにちは

2つのtableを持つデータベースを持っていますが、PatiretTBと呼ばれる最初のtableは(PatientName、PipentyIDを主キーとして、重複していること、辛抱、PatiteTel)と2番目のtableを持っています.
TRESSTIONTBと呼ばれます.患者情報を操作するためのいくつかのフォームを作成しました.フォームの1つは、患者名、Pentytid、PentityID、PatenteTelを搭載したNewfrmと呼ばれ、新しい患者のデータを入力します.エラー時にフィールドイベントにコードを書きました
自分のエラーメッセージを表示するには.システムエラーメッセージを表示したくありません.これはコード

です

プライベートサブFORM_ERROR(整数としてのDATAERR、整数としての応答)

ケースの選択データ

ケース3022

MSGBOX _

「入力した患者IDはすでに存在します.」&_

「別の値を入力してください」、_

VBEXCKNACTION、_

「既に存在する」

me.patientid.setfocus

応答= acdataerRContinue

ケース

応答= acdataerrdisplay

終了

終了SUB

誤って既存のPatipleIDを誤って入力したときは、添付の図1にアクセスエラーメッセージを表示します.このメッセージは、私がフォームコードでコーディングされているメッセージとしてではありません.忍耐強いのフィールドをクリアしてこのフォームを閉じると別のメッセージが表示されます
添付の図面と形式では閉じられないように.

私はeditfrmと呼ばれる患者の詳細を編集するための別の形式を持っています.PentiotIDを変更しようとしていて誤って既存のエラーメッセージを入力してください.添付図3に別のエラーメッセージを表示し、デバッグを依頼してください.デバッグをクリックすると、表示されているエラーが表示されます
添付の図5.最後に、私は添付のfig5を示すように私の書面によるメッセージを得ます.アクセスエラーメッセージを無効にして、私自身のメッセージのみが表示されます.

返信リスト(回答:5)

1 #
AnnaBon

こんにちは、

アクセスエラーメッセージを受信していることを理解しています.この問題には事前のトラブルシューティング手順が必要です.詳細な援助については、Microsoft開発者ネットワークチームに連絡することをお勧めします.彼らのフォーラムページに同じ質問を親切に投稿してください
さらなる支援のために.到達するには、このをクリックしてください リンク.

他の懸念がある場合は、お気軽にお問い合わせください.

ありがとうございました.

2 #
TomvanS
Applicationのコピーを、必要不可欠なものまで削除し、PIIなしで、無料のonedriveアカウントなどの公共の場所に投稿してください.あなたの問題は修正することができますが、これで議論するにはあまりにも多くの細かい点があります
フォーラム.手元にあるコードがあれば、それは簡単なはずです.
応答2# ->にスキップ
4 #
waleed4

こんにちは

ご回答ありがとうございます.これは私のファイルのリンクです.

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

`投稿をありがとう.私はいくつかの観察と提案があります.
1.私は、患者数の目的が何であるかはわかりません.私は必ずしもPatientNumberにフィールドとして反対しているわけではありませんが、私はそれをPKとして使うのと反対しています.むしろ、隠されて使用されている忍耐強い自動数を追加し、あなたのユーザーが必要な場合
患者番号、それは追加のフィールドになるでしょう.
2.tableデザインに必要な必須フィールドを設定していることを確認してください.空白の患者名を持つ患者レコードが意味がない場合は、必須フィールドになるはずです.
3.優れたアクセスプログラマーになることの大部分は、イベントを知っているとき、そしてそれらが使用されるべきであるときです.たとえば、このform_beforeUpdateイベントプロシージャを追加しました.必要なフィールドすべてがすべて入力されていることを確認するための正しいイベントです. プライベートサブFORM_BEFOREUPDATE(整数としてキャンセル)
薄暗いSTRMSG文字列として
'必要なフィールドがすべて埋められていることを確認してください.
ISNULL(ME.PATIENTINAME)がSTRMSG= STRMSG&「患者名は必須フィールドです.」
ISNULL(ME.PATIENTINDID)の場合STRMSG= STRMSG&「患者番号は必須フィールドです」
len(strmsg)>0の場合
MsgBox Strmsg、vbokonlyまたはvbexclamation、 "必須フィールドチェック"
cancel= true '保存を停止するので、ユーザーはすべての必須フィールドに記入できます.

の場合は終了

4.MSGBOX「入力した患者番号はすでに存在しています.別の値を入力してください."
((注)フィールド名「PAITERYID」ではなく、フィールドラベルを使用しています)これは本当にユーザーフレンドリーなメッセージではありません.貧しいユーザーは何をするべきか? 「1」を入力したら、「2」を試してみてください.それから "3"?
いくつかのシナリオでは、「DMAX + 1」テクニックを使用することは理にかなっています.
これにより、私はユーザーフレンドリーなメッセージだけ、システム生成されていません.
5.クエリ名に気付いたばかりです.すべてのオブジェクト名として、スペースや他の面白い文字なしで単一の単語を使用する必要があります.試してみてください:
qrypatients_byname
QryPatients
6.すべてのコードモジュールは上部にこれら2行を持つ必要があります.
オプションデータベースを比較する
オプション
ツール>オプション>変数宣言を必要とする

応答3# ->にスキップ
5 #
waleed4

ご返信とご提案ありがとうございます.私は私のデータベースを書き直し、あなたの観察と提案に従います.私はアクセスするのが初めてで、これらの観察と提案は私にとって非常に役に立ちます.