tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル重複チェック
記事No13369
投稿日: 2009/01/26(Mon) 13:57
投稿者nao
ご教授願います。
VB初心者です。
VB6.0を使用しています。

データを追加した際に、コードに重複があれば
MsgBoxに”重複しています”と表示させたいのですが
どこへどう記述していいのかわからず、質問させて頂いております。
重複してないかどうかはどう記述していけば宜しいのでしょうか?

Private Sub cmdUp_Click()

On Error Resume Next
Dim Ret As Integer
    Ret = MsgBox("コード " & txt(0).Text & " を追加します。", vbYesNo + vbInformation, "追加")
If Ret = vbYes Then
    ss = "Insert Into TBL  VALUES( '" & txt(0).Text & "' ,  '" & txt(7).Text & "','' ) "
    Unload Form1
    
End If

よろしくお願いします。

[ツリー表示へ]
タイトルRe: 重複チェック
記事No13370
投稿日: 2009/01/26(Mon) 15:01
投稿者
> 重複してないかどうかはどう記述していけば宜しいのでしょうか?

Insertする前にSelectかければ、重複してる時にレコードが返ってくると思いますよ。

[ツリー表示へ]
タイトルRe^2: 重複チェック
記事No13371
投稿日: 2009/01/26(Mon) 16:36
投稿者nao
> > 重複してないかどうかはどう記述していけば宜しいのでしょうか?
>
> Insertする前にSelectかければ、重複してる時にレコードが返ってくると思いますよ。

琴さん、有難うございます。

Dim chk As ADODB.Recordset を加え
ss = "select * from TBL where コード = '" & txt(0).Text & "' "
    chk = New ADODB.Recordset
    chk.Open ss
If chk.RecordCount = 0 Then
Ret = MsgBox(・・・
と書き加えたのですが『プロパティの使い方が不正です』と出てしまいました。
記述の仕方をご教授いただけますでしょうか。
よろしくお願いいたします。

[ツリー表示へ]
タイトルRe^3: 重複チェック
記事No13373
投稿日: 2009/01/26(Mon) 19:04
投稿者
>     chk = New ADODB.Recordset

Setが抜けてるからかな?

[ツリー表示へ]
タイトルRe^4: 重複チェック
記事No13378
投稿日: 2009/01/27(Tue) 11:41
投稿者nao
> >     chk = New ADODB.Recordset
>
> Setが抜けてるからかな?

琴さん:
できました〜〜^^
エラーはでなくなりました。

が、重複チェックしてくれてません・・・(泣)
重複ならElse以下を実行してもらいたいのに、明らかに重複なのに
そのままINSERTもされてない常態です。
何か解決方法ありますでしょうか?

[ツリー表示へ]
タイトルRe^5: 重複チェック
記事No13379
投稿日: 2009/01/27(Tue) 12:40
投稿者おー
> が、重複チェックしてくれてません・・・(泣)
> 重複ならElse以下を実行してもらいたいのに、明らかに重複なのに
> そのままINSERTもされてない常態です。
> 何か解決方法ありますでしょうか?

横からすみません。
ためしに、chk.RecordCountの値をデバッグウィンドウで確認してみてはいかがでしょうか。
(RecordCountが正しくない場合があるようです。ado recordcountでたくさんヒットしますよ。)

一応参考までに
If chk.BOF = True And chk.EOF = True Then
msgbox.....
で重複チェックできると思います。

[ツリー表示へ]
タイトルありがとうございます
記事No13380
投稿日: 2009/01/27(Tue) 17:20
投稿者nao
おーさん
琴さん

有難うございました。
無事に解決いたしました。

また宜しくお願いいたします。

[ツリー表示へ]