0
VBAを使用してアクセスするテーブルからレコードを取得しようとしています。今のところ私はこの単純な関数を持っています:クエリエディタでクエリを実行できますが、vbaで実行できないのはなぜですか?
Private Function GNCN() As String
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim cm As ADODB.Command
Dim strSQL As String
Dim intYD As Integer
Set cn = CurrentProject.Connection
'cn.CursorLocation = adUseClient
rs.CursorLocation = adUseClient
rs.LockType = adLockReadOnly
intYD = 16
strSQL = "SELECT DCN FROM tblDCD WHERE (DCN like '" & intYD & "*')"
Set rs = cn.Execute(strSQL)
Debug.Print rs.RecordCount
Set rs = Nothing
Set cm = Nothing
Set cn = Nothing
End Function
これを実行すると、返されたレコードはありません。
は、私はSQLクエリ取るしかし場合:
SELECT DCN FROM tblDCD WHERE (DCN like '16*')
とアクセスクエリー・ビルダーの中にこれを実行すると、私の周り912のレコードが返され得るので、私は、私はレコードを取得することができるよ知っていて、そのクエリ自体正しいと思われる。
の表は、単純な(DCN欄に)のような文字列値で構成されたデータである:...合計で38000の周り
"13000"
"17001"
"16003"
私はそれらをすべてここを印刷shaln'tよう
誰もがなぜこれがクエリビルダー経由では動作しますが、VBAでは動作しないのか分かりますか?
ありがとうございました