The mshflexgrid kayıt sayısını doğru olsa da, yalnızca ilk 2048 kayıtlar görüntülenir. 2048'Den fazla görüntülemek gerekiyorsa, recordset'i açın ve ADO GetString yöntemini ve MSHFlexGrid <a1>Klip</a1> özelliğini kullanarak kılavuz doldurmak gerekir.
Aşağıdaki kod Ek BILGILERI bölümünde Command1_Click olay kodu yerine bu davranışa geçici bir çözüm bulmak için kullanılabilir:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rsVar As Variant
Dim i As Integer
cn.Open "Testing" '<-- Your DSN
rs.Open "select * from Cies", cn, adOpenStatic, adLockOptimistic
rs.MoveLast
rs.MoveFirst
' Assuming that rs is your ADO recordset
MSHFlexGrid1.Rows = rs.RecordCount + 1
rsVar = rs.GetString(adClipString, rs.RecordCount)
MSHFlexGrid1.Cols = rs.Fields.Count
' Set column names in the grid
For i = 0 To rs.Fields.Count - 1
MSHFlexGrid1.TextMatrix(0, i) = rs.Fields(i).Name
Next
MSHFlexGrid1.Row = 1
MSHFlexGrid1.Col = 0
' Set range of cells in the grid
MSHFlexGrid1.RowSel = MSHFlexGrid1.Rows - 1
MSHFlexGrid1.ColSel = MSHFlexGrid1.Cols - 1
MSHFlexGrid1.Clip = rsVar
' Reset the grid's selected range of cells
MSHFlexGrid1.RowSel = MSHFlexGrid1.Row
MSHFlexGrid1.ColSel = MSHFlexGrid1.Col
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
Name Data Type (SQL Server) Data Type(Access)
------------------------------------------------------------------
PartID Integer Integer
PartName VarChar (10) Text (10)
Ilgili ekleme tablonuzdaki 3000 10000 satır. Kolaylık olması açısından, bir döngü oluşturun ve sayacı 3000 10000'i için aynı kaydı ekleyin.
Tablonuzu "test." kaydedin...
Not: Tüm diğer sınama yapmak için uç seçebilirsiniz.
Yeni bir proje standart exe DOSYASı, Visual Basic'te başlatın. Varsayılan olarak, Form1 oluşturulur.
Proje menüsünde "Components"'i seçin ve aşağıdaki bileşenleri seçin:
Microsoft ADO veri denetimi 6.0 (OLE DB).
Microsoft, sıradüzensel FlexGrid denetim 6.0.
Proje menüsünde başvuru'i seçin ve "Microsoft ActiveX Data Objects 2.0 kitaplığı."
Aşağıdaki nesneler, form üzerinde yerleştirin:
Control Name Caption
-------------------------------------------------------------------
CommandButton Command1 Using ADO Recordset
CommandButton Command2 Using ADODC
CommandButton Command3 Free MSHFlexGrid
MSHFlexGrid MSHFlexGrid1 Testing MSHFlexGrid Display
ADODC Adodc1
(Varsa), DSN veya yerel OLEDB Sağlayıcısı ADODC bağlayın. RecordSource özelliğinde yazma: SELECT * Kimden sınama.
Aşağıdaki kod Form1 genel bildirimi bölümünde yerleştirin:
Option Explicit
Private Sub Command1_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "Testing" '<-- Your DSN
rs.Open "select * from Test", cn, adOpenStatic, adLockOptimistic
rs.MoveLast
' Check the number records in your ADO recordset
' The RecordCount property of the ADO recordset reflects the
' actual number of records
Debug.Print "ADO recordset record-count: " & vbTab & _
rs.RecordCount
Form1.Caption = "Loading grid... please wait..."
Set MSHFlexGrid1.Recordset = rs
' Check the number of rows that the Hierarchical FlexGrid
' contains The RecordCount property of the Hierarchical
' FlexGrid also reflects the actual number of records
Debug.Print "MSHFlexGrid1 Recordset record-count: " & vbTab & _
MSHFlexGrid1.Recordset.RecordCount
Form1.Caption = "MSHFlexGrid Display Sample"
' Free resources
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
Private Sub Command2_Click()
Form1.Caption = "Loading data... please wait..."
' Set the Grid's source to be ADODC
Set MSHFlexGrid1.DataSource = Adodc1
' Check the number of records in ADODC recordset
Debug.Print "ADO data control record-count: " & vbTab & _
Adodc1.Recordset.RecordCount
Form1.Caption = "MSHFlexGrid Display Sample"
End Sub
Private Sub Command3_Click()
MSHFlexGrid1.Clear
Form1.Caption = "Grid is clear now..."
End Sub
Kod çalıştırma ve yalnızca 2048 kayıtları MSHFlexGrid görüntülendiğini unutmayın F5 tuşuna basın.
Not: OLEDB Sağlayıcısı için ODBC kullanarak veya yerel OLEDB sağlayıcısını kullanarak veri kaynağına bağlanırken, sıradüzensel FlexGrid davranışı üzerinde hiçbir etkisi vardır.
Ö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:194653
(http://support.microsoft.com/kb/194653/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.