- 締切済み
わからないので再び!Access2000です
ログイン画面で、ID、パスワードを入力後btnログインクリックするとメインフォームを開き、メインフォームにあるtxtログイン者名というテキストボックスにログイン者名をだしたいのですがどうすればいいのですか? テーブル名:ユーザーマスタ ユーザーマスタのフィールド名:ログインID、ユーザー名、パスワード フォーム名:ログイン、メインメニュー ログイン画面:txtユーザーID、txtパスワード、btnログイン メインメニュー:txtログイン者名 ものすごい初心者です!よろしくおねがいします!!
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- ShadowMoon
- ベストアンサー率59% (73/122)
下記確認願います。 (1)VBE画面(プログラムコードの表示画面)で、エラー発生時の各変数のところをポイントして、ちゃんとデータが表示されますか? (2)コンパイルエラーはありませんか? VBEのデバッグメニュー~***のコンパイルを行ってください。 (3)ユーザーマスタのフィールド名:ログインID、ユーザー名、パスワードのデータ型はすべて、テキスト型ですか? 以上よろしく御願いします。m(__)m
- ShadowMoon
- ベストアンサー率59% (73/122)
再びNo.2です。 あの~ひょっとして、ログインフォームからではなくて、 いきなりメインメニューを表示していませんか? ログインフォームを表示して、 ID、パスワードを入力して、btnログインをクリックしてください。
補足
もちろんログインフォームでIDとパスワードを入力してbtnログインをクリックしています!そのときにエラーがでるのです!いったいなぜでしょうか??
- ShadowMoon
- ベストアンサー率59% (73/122)
こんにちは。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=352135 のNo.6のaptivaさんの確認はやってみましたか? >MsgBox DLookup("ユーザー名", "ユーザーマスタ", "ログインID = '" & LoginID & "' AND パスワード = '" & LoginPassword & "'") >入れてみて、DLookup関数の戻り値を確認してみて下さい。 この時、ユーザー名は表示されますか? ひょっとすると DLookup関数が正常に動作しないのかもしれません。 (自分もこれをやりましたが、動作しましたけど、他のプログラムでは動作しない場合もありました。ひょっとしてバグ???) DLookup関数を使わずにADOを利用する方法もあります。下記にサンプルを示します。 メインメニューロード時のイベントで Private Sub Form_Load() Dim rst As New ADODB.Recordset Dim rstName As String Set rst = New ADODB.Recordset rstName = "Select * from ユーザーマスタ " _ & "Where ログインID = '" & LoginID & "' AND パスワード = '" & LoginPassword & "'" rst.Open rstName, CurrentProject.Connection, adOpenKeyset, adLockOptimistic Me!txtログイン者名1.Value = rst![ユーザー名] rst.Close Set rst = Nothing End Sub ご参考になれば幸いです。m(__)m
補足
こちらのほうもやってみましたがエラーがでました 「このフィールドに入力した値が不正です。」 この行にチェックが入ってました! Me!txtログイン者名1.Value = rst![ユーザー名] いったいなぜなんでしょうか??
- aptiva
- ベストアンサー率36% (193/529)
前の質問の http://www.okweb.ne.jp/kotaeru.php3?q=352135 私やmaruru01さんの、補足要求に答えていただいて、継続したほうが早く済みそうです。 それに、私はともかく一生懸命考えてくださった、maruru01さんに失礼だと思いますよ。
補足
みなさまのゆわれた通りにした結果どうしても表示されないので、もう一度質問したのです!考え方としてとても参考なっていますので失礼なことをしたつもりはありません!もしそう感じとれたのでしたら本当にもうしわけございません!
補足
(1)(2)のやりかたがわかりません!ド素人なもので…。(3)は確かめましたがすべてテキスト型です!