0
私は今、vb6で自分のプログラムを動作させる方法を苦労しています。コマンドボタンの機能は、TLoginR.textにデータベース内のテキストが同じ場合、「ユーザー名が使用できません...」というメッセージボックスが表示されます。ここで問題は、私は新しいテキストを入力し、データベース内にない場合は、プロンプトがまだポップアップ。私は親切に助けを求める必要があります。登録までdoを使ったデータベース
コード:
Private Sub CRegR_Click()
Dim user as string
Dim pass as string
Dim prompt as string
RegR.Refresh
user = TLoginR.Text
pass = TPassR.Text
Do Until Regr.Recordset.EOF
If RegR.Recordset.Fields("Username").Value = user Then
prompt = MsgBox("Username not available, please try another one!", vbOKCancel)
If (prompt = 1) Then
TLoginR.Text = ""
TPassR.Text = ""
Register.show
Else
End If
Exit Sub
Else
RegR.Recordset.MoveNext
End If
Loop
RegR.Recordset.Fields("Username").value = user
RegR.Recordset.Fields("Password").value = pass
RegR.Recordset.Update
Register.Hide
Login.Show
End Sub
「RegR.Recordset」が1つのレコードしか取得していないことは確かですか?複数のレコードが取得されている可能性があり、入力しているテキストがレコードのいずれかにある場合があります。 –
はいTLoginR.text内のテキストに「username」のフィールドのレコードがないかどうかを確認したい場合は、存在する場合は「usernameが利用できません...」というメッセージが表示されますそうでなければ、そのレコードに新たに追加されます。 –
いくつかの基本的なトラブルシューティングを開始する必要があります。ループの前にuserのためにdebug.Printステートメントを追加し、それがあなたの考えであるかどうかを確認してください。あるいは、少なくともあなたのmsgboxにそれを加えて、ユーザが何を入力しようとしたかを伝えます。また、field.usernameをdebug.printしてください。プロンプト応答を確認するときは、最終的に1の代わりに定数vbOKを使用して可読性を確保してください – dbmitch