Microsoft Access 掲示板

SELECT TOPでデータの有無を確認する

4 コメント
views
4 フォロー

Sub test()

Dim adoCn As Object

    strFileName = "データ.accdb" 'データベースのファイル名

    Set adoCn = CreateObject("ADODB.Connection") 'ADODBコネクションオブジェクトを作成
    adoCn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\tasukaru\Desktop\通販\出品データ\" & strFileName & ";" 'Accessファイルに接続

    Set adoRs = CreateObject("ADODB.Recordset") 'ADOレコードセットオブジェクトを作成

    strSQL = "SELECT TOP 1 * FROM マスター where JAN = '1000000151749'"

    Call ScontDB(i, strSQL, adoCn) 'マスターのテーブルで、対象レコードの有無を確認する

    adoCn.Close
    Set adoCn = Nothing

End Sub

に対するFunctionの部分ですが、
最初のデータを取り出したいわけではなく、
データの有無を確認して、次に出す命令を分岐さるのが目的です。

ADOレコードセットオブジェクトを作成を作って、
どこかにデータを取り出せば、処理的には可能なのですが
データの有無だけを確認するにはどうしたら良いのでしょうか?

5流クン
作成: 2019/06/22 (土) 21:05:17
通報 ...
2
hatena 2019/06/23 (日) 09:49:41 修正

外部データベースのテーブルが対象ですね。

ADODBに参照設定をしておいて、

 Dim strFileName As String
  Dim cn As ADODB.Connection
  Dim rs As ADODB.Recordset
  Dim strSQL As String

  strFileName = "データ.accdb" 'データベースのファイル名
 Set cn = New ADODB.Connection
  Cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\tasukaru\Desktop\通販\出品データ\" & strFileName & ";" '
 Set rs = New ADODB.Recordset
 strSQL = "SELECT 1 * FROM マスター where JAN = '1000000151749'"
 
 rs.Open strSQL , cn
  If rs.EOF Then
      MsgBox "該当データ無し"
  Else
      MsgBox "該当データ有り"
  End If

 rs.Close: Set rs = Nothing
 cn.Close: Set cn = Nothing

4
5流クン 2019/06/23 (日) 16:47:55 39554@9ec8c

If rs.EOF Thenでしたか

ありがとうございました