2013-03-10 19 views
5

MS Access DB'imde VB'de iki kayıt döndürmesi gereken bir sorgu çalıştırıyorum. SQL'de çalıştırdığımda iki kayıt alıyorum ama VBA'dan çalıştırdığımda iki tane aldım.1 kayıt geri alma sayısı nedir?

SELECT * 
FROM tblWebMeetingData 
WHERE [Last Name] LIKE 'Marx'; 

Ve şöyle VBA bu çağırdığınızda:

SQL = "SELECT * FROM tblWebMeetingData WHERE [Last Name] LIKE 'Marx';" 
Set rst = CurrentDb.OpenRecordset(SQL) 
MsgBox ("Number of records: " & rst.RecordCount) 

Ben kayıtların sayısı için bir kayıt olsun İşte iki kayıtlarını alır SQL görünümünde kodudur. Kayıt sayımı, bir SQL deyiminden veya tablodan döndürülen tüm kayıtları saymayı varsaymıyor mu? Ne yapıyorum burada yanlış yapıyorum?

Teşekkür

+0

İki farklı veritabanını sorgulamak mümkün mü? –

cevap

14

DAO seferde en basit sorguları (performans optimizasyonu) ama hepsi için belirlenen tüm sonuç almak değil. Tam bir geri alma ve geçerli bir kayıt sayısını zorlamak için, kayıt kümesini açtıktan ve rst.RecordCOunt'u geri almadan önce rst.MoveLast'u kullanın.

+0

sıralanmış - şimdi iki kaydı da döndürüyor - iyi cevap – Katana24