V64/Access uygulamasında bazen yanlış otomatik ekim alanıyla ilgili bir sorunla karşılaşıyorum.Oton sayısı tohumunu sıfırla
Bir autonumber alan kimliğine sahip MYTABLE (aynı zamanda birincil anahtar olan) bir tablo olduğunu söyleyelim. Şu anda en fazla ID değerinin 1000 olduğunu söyleyelim. Uygulama yeni bir kayıt eklediğinde (ID değeri açıkça sağlanmadı), bir nedenle, bir sonraki otomatik alan değeri 950 (ve 1001 olması gerektiği gibi değil).) - Yani birincil anahtar ihlali hatası oluşur.
Belirtilerimi açıklayan bir KB makalesi buldum: http://support.microsoft.com/kb/884185.
ALTER TABLE MYTABLE ALTER COLUMN ID COUNTER(1001,1)
Bunu deneyin, bu "geçersiz alan veri türü" Ben Access'te veritabanı açıp yaparsanız sorun onarılır
başarısız: Kısacası, onlar bir sorgu çalıştırmak için önermek Kompakt/tamir, ancak uygulamada bu tür sorunları düzeltmek için ihtiyacım var: Dünya çapında birkaç binlerce PC'ye yüklenir ve insanların Access ile kompakt/onarım yapmasını istemek bir seçenek değildir.
Uygulama içinde kompakt/onarım yapmak için DAO DBEngine.CompactDatabase
'u kullanıyorum ancak tohum sorununu gidermiyor ve bazı ek numaralar gerekiyor.
Birinin çözüm için bir fikri vardır umut, bütün
, sen ** 'ALTER tablo MyTable ALTER SÜTUN kimliği SAYAÇ (1001 çalıştıran ** önce tabloyu kapanıyor, 1) '? –
Kod bir Access MDC/ACCDB içinde ise, dil VB6 değil, VBA'dır. Lütfen açıkla. – Fionnuala
@Otaku: Evet, emin olun Bu sorgu, Access içinde yürütüldüğünde ve DAO üzerinden yürütüldüğünde başarısız olur. Tuhaf olan şudur: eğer Access'te autonumber alanını silersem ve daha sonra aynı alanı yaratırsam, sorgu çalışır. Otoner tipinin farklı tatları var gibi görünüyor, ama bu farkın ne olduğunu fark edemiyorum – Incidently