Temel alan değeri boş değer değilse, bir Excel elektronik tablo DAO OpenRecordset yöntemi kullanılarak için bağlanırken, bazı değerler bir <a0>Excel</a0> sütununda NULL döndürülebilir. Bu genellikle sayısal oluşur ve metin veri türleri aynı Excel sütunun intermixed.
Bir Excel sütunun veri türünü belirleyen bir kez değil ISAM sürücüsü veri türü herhangi bir değer için boş değer için Excel sütun için varsayılan döndürür, bu sorunu Excel ISAM sürücüsü tarafından bir sınırlama nedeniyle oluşur. Excel ISAM sürücüsü, ilk birkaç satırına fiili değerlerini inceleyerek, bir Excel sütunun veri türünü belirler ve daha sonra örnekleme değerler büyük bir çoğunluğunda gösteren veri türünü seçer.
Excel'deki verileri metin olarak girdiğinizden emin olun. Yalnızca Excel sütun metne biçimlendirme bunu değil. Excel sütun biçimlendirmeden sonra varolan değerleri yeniden girmeniz gerekir. Excel'de, F5, seçili hücredeki varolan değerleri yeniden girmek için kullanabilirsiniz.
Set Db = OpenDatabase("C:\Temp\Book1.xls", _
False, True, "Excel 8.0; HDR=NO; IMEX=1;")
Not: ayar IMEX = 1 alma modunu kullanmak için sürücü bildirir. Bu durumda, kayıt defterinin ımportmixedtypes ayarlama = metin fark. Bu, metne dönüştürülecek, karışık veri zorlar. Bunun güvenilir bir çözüm için ayrıca TypeGuessRows, kayıt defteri ayarını değiştirmeniz gerekebilir = 8. ISAM sürücüsü varsayılan olarak ilk sekiz satırları arar ve bu örnekleme gelen veri türü belirler. Bu sekiz satır örnekleme IMEX ayarlama sonra tüm sayısal ise = 1 varsayılan veri türü metne dönüştürecek olan değil; sayısal kalır.
Dikkatli olmanız gerekir, IMEX = 1 indiscriminately kullanılmayacak. Bu Al, böylece sonuçları yapmak çalışırsanız, öngörülmeyen modu, ekler veya bu modda verileri güncelleştirir.
Olası IMEX ayarları:
0 is Export mode
1 is Import mode
2 is Linked mode (full update capabilities)
kayıt defteri anahtarının yukarıda açıklanan ayarlar bulunur:
Bu sorun çoğaltmak için <a0></a0>, ilk varsayılan tablo1 elektronik tabloyla birlikte bir Excel çalışma kitabı oluşturun. Sayfa1 ilk sütununda aşağıdaki değerler-, 123 456, bbb (789 aaa, girin. Bu çalışma kitabı, C:\Temp dizinine kaydetmek ve Book1.XLS olarak adlandırın.
Visual Basic'te, yeni bir standart exe DOSYASı) projesi oluşturun ve aşağıdaki adımları izleyin:
Microsoft DAO 3.5 nesne kitaplığına bir başvuru yapın. Visual Basic 6.0 içinde bu Microsoft DAO 3.51 Object Library olacaktır.
Bir KomutDüğmesi, yeni forma ekleyin.
Aşağıdaki kodu formun genel Declarations bölümünde yerleştirin:
Dim Db As Database
Dim Rs As Recordset
Private Sub Command1_Click()
Set Rs = Db.OpenRecordset("Sheet1$")
'This will print the spreadsheet Text values as Nulls.
Do While Not Rs.EOF
Debug.Print Rs(0)
Rs.MoveNext
Loop
End Sub
Private Sub Form_Load()
'HDR refers to the Excel header row.
Set Db = OpenDatabase("C:\Temp\Book1.xls", _
False, True, "Excel 8.0; HDR=NO;")
End Sub
Private Sub Form_Unload(Cancel As Integer)
Db.Close
Set Db = Nothing
End Sub
F5 tuşuna basarak projeyi çalıştırın ve hata ayıklama penceresinde metin değerleri boş yazdırılır unutmayın. Excel elektronik tablodaki değerlerin büyük metin varsa, daha sonra yukarıdaki kod sonuç geri alınması. Diğer bir deyişle, sayısal değerler olarak Boşlara döndürülmesini.
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:194124
(http://support.microsoft.com/kb/194124/en-us/
)
Bu makaleyi kullanmak için ne kadar kişisel çaba harcadınız?
Çok az
Az
Orta
Fazla
Çok fazla
Bu bilgiyi geliştirmemiz için nedenleri ve bu konuda neler yapabileceğimizi paylaşın
Teşekkürler! Görüşleriniz, destek içeriğimizi geliştirmemize yardımcı olmak için kullanılmaktadır. Diğer yardım seçenekleri için, lütfen Yardım ve Destek Giriş Sayfasını ziyaret edin.