テーブルのレコード数を取得しようとしていますが、countが17より大きい場合は、新しいテーブルを作成します。VBAを使用したAccessテーブルのレコード数
Dim rst As DAO.Recordset
strSQL = "Select * from SKUS"
Set rst = db.OpenRecordset(strSQL)
If rst.RecordCount > 17 Then
Set tdf = db.CreateTableDef("161-0363")
Set fld = tdf.CreateField("SKUS", dbText, 30)
tdf.Fields.Append fld
Set fld = tdf.CreateField("Count", dbInteger)
tdf.Fields.Append fld
db.TableDefs.Append tdf
End If
このコードは、新しいテーブルを作成しませんが、私はこれにif文を変更すると、それが動作:
...
If rst.RecordCount > 0 Then
Set tdf = db.CreateTableDef("161-0363")
...
そうでRecordCountは1を返して、私は思います。なぜこうなった?テーブルに18列あることは確かです。
誰も私を助けることができますか?
ああはそれを得ました!私がMoveLastを追加したとき、それは働いた。ありがとう! – Shubham
私はLinkedテーブルを使用していましたが、一旦.MoveLastを追加するとうまくいきました。 以前は.MoveLastを持っていなかったし、すべてのローカルテーブルで動作していましたが、リンクテーブルでは動作しませんでした。 私のテーブルには決して300を超えてはいけません。私はより多くのクエリを行う必要があることがわかりますvbaしかし、これは今のところ動作します。ありがとうございました。 – RazorSky