csvからリストボックスに読ませていて、新規追加のときにある項目が重複していたら、
Open File For Input As #1
Do Until EOF(1)
Input #1, G, V, W, Z, S, X
If txt1.Text = G Then
Flag = True
Exit Do
End If
Loop
Close #1
A = Flag
というコードから重複しているデータがあるかどうか検索をかけていたのですが、これをmdbから読み出すときに同様に新規追加時、txt1.Textと同じ数値が無いか検索をかけてフラグを立てたいのですがどのようにしたら良いのでしょうか?
処理にもよりますが、SQL投げたほうが
手っ取り早いような気がします。
SQL投げる・・・?
VBでSQLは使ったことないのでうまくわからないのですがどのようにしたらSQLを書くことができるのですか?
ADOの場合、大雑把にいえば、こんなかんじ。
strSQL = "SELECT Count(*) AS Cnt " & _
" FROM テーブル名 WHERE フィールド名 = " & Text1.Text
adoCnn.Open strConnectionString ' 接続文字列
adoRst.Open strSQL,adoCnn
If adoRst("Cnt").Value > 0 Then
MsgBox "すでに存在"
End If
詳しくは、ADODBのConnectionオブジェクト、RecordSetオブジェクトについて
ヘルプで見てください。
strSQLやadoRst、adoCnnはDimなどで定義された変数なのでしょうか?
ヘルプで調べたのですが出てこなかったので・・・。
僕の調べ方がおかしかったのかな?
命名と書き込み内容から判断がつくものと思い割愛しましたが、
順にString型、ADODB.RecordSet型、ADODB.Connection型です。
すいません。気づきませんで・・・。
SQLに行ったほうがやりやすいということがわかったので、自分なりに作ってみようと思います。
どうもありがとうございました。
ツイート | ![]() |