検索

解決


ファンファン  2004-01-15 10:19:55  No: 111321  IP: [192.*.*.*]

VB.NET・ADO.NET・oracleを使用して顧客管理のシステムを作成しています。
VBのイベントプロシージャでSQLを作成し検索を行いデータを取得するのです
が1度目はうまく検索できるのですが検索のフォームに戻りもう一度検索をす
るのですが前の検索のデータが残ったまま2回目の検索結果が一回目の検索
結果に追加されるという状態になってしまいます。
なにか良いコードはないでしょうか?

編集 削除
岡田 之仁  2004-01-15 10:35:01  No: 111322  IP: [192.*.*.*]

実際のコードが無いので、なんとも・・・

1度目の結果を表示しているのは、何を使って表示
しているのですが?
それは、連結型のコントロールですか?
それとも、プログラムで取得したデータを1件づつ
コントロールに追加して表示させているのですか?

それと・・・.NET Framework は、1.1?
VB.NET は 2003 ですか?
ADO.NET のオラクル用のクラスを用いたコーディング
になっているんですよネ?

以上。

編集 削除
ファンファン  2004-01-15 10:51:37  No: 111323  IP: [192.*.*.*]

説明足らずですみません。
表示はデータグリッドを使用して一覧表形式で表示させています。
VB.NETは2002を使用しています。
ADO.NETはオラクルを使用したコーディングになっているつもりです。
コードは、
検索フォーム
 Try
            strSql = ""
            'ComboBoxの内容が不正でないかを判断する
            If CInt(kcode1.Text) > CInt(kcode2.Text) Then
                'メッセージボックスを表示
                MsgBox("指定した値は間違っています", MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "注意")
                kcode1.Focus()
                Exit Sub
            End If
            'ComboBoxの内容をtextで取得
            If Trim(kcode1.Text) <> "" And Trim(kcode2.Text) <> "" Then
                'SQL文をstrSqlに格納する
                strSql = "SELECT 顧客コード,顧客会社名,顧客郵便番号1,顧客住所1,顧客電話番号1"
                strSql &= " FROM 顧客管理マスタ WHERE"
                strSql &= " 顧客コード BETWEEN " & Trim(kcode1.Text) & " and " & Trim(kcode2.Text) & " and "
                '顧客会社名が空白でないかを判断する
                If kname.Text <> "" Then
                    strSql &= " 顧客会社名 Like '%" & Trim(kname.Text) & "%' and"
                End If
                '得意先か一般かを判断する
                If tokuiRB.Checked = True Then
                    strSql &= " 顧客状況コード = '1'"
                Else
                    strSql &= " 顧客状況コード = '2'"
                End If
            End If
            fkmasu.Olekokyaku.SelectCommand.CommandText = strSql
            fkmasu.Olekokyaku.Fill(fkmasu.Ds21, "顧客管理マスタ")
            '次のフォームを表示
            fkmasu.Show()
            Me.Hide()
        Catch err As Exception
            MsgBox("エラー", MsgBoxStyle.OKOnly, "注意")
        End Try
表示フォームから検索フォームに戻るコードは
        fmken.Show()
        Me.Hide()
しか書いていません。

編集 削除
ファンファン  2004-01-15 13:50:34  No: 111324  IP: [192.*.*.*]

検索結果表示フォームの検索フォームに戻るイベントでdatasetの内容をclear
することで解決しました。

編集 削除