Jag hämtar ut XML-data via ADO-OpenSchema-Columns som jag sedan skulle vilja sortera vissa delar i utan att påverka själva innehållet. Elementnamnet z:row vill jag sortera stigande på dess attribut TABLE_NAME och ORDINAL_POSITION Jag tycker att detta borde gå ganska enkelt att göra men jag har inte lyckats. Om du har datat i ADO har ett recordset egenskapen SORT som du kan använda dig av innan du exporterar ditt xml-data och på så sätt kanske du kan få till det. Jag trodde också att det skull fungera men jag får följande fel då: Fast det kan bero på att du kör ditt recordset och connection som serversided recordset. Prova att ändra det till clientsided istället. Så skriver du set rst = con.execute(), ändra istället till rst.open sql, con, 3, 3 Du är en klippa Pelle!!!Sortera en del av datan utan att påverka resten
XML-datan ser ut så här (men jag har tagit bort lite kod)
<xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
<s:Schema id="RowsetSchema">
....här står microsoft schema-kod
</s:Schema>
<rs:data>
...här ligger alla kolumner med elementnamnet z:row och det är dessa som jag vill sortera
<z:row TABLE_NAME="X" COLUMN_NAME="Test1" ORDINAL_POSITION="1" COLUMN_HASDEFAULT="False" COLUMN_FLAGS="122" IS_NULLABLE="True" DATA_TYPE="5" NUMERIC_PRECISION="15"/>
<z:row TABLE_NAME="X" COLUMN_NAME="Test2" ORDINAL_POSITION="0" COLUMN_HASDEFAULT="False" COLUMN_FLAGS="122" IS_NULLABLE="True" DATA_TYPE="2" NUMERIC_PRECISION="5" DESCRIPTION="mitt heltal"/>
...osv
</rs:data>
</xml>Sv: Sortera en del av datan utan att påverka resten
Sv: Sortera en del av datan utan att påverka resten
ADODB.Recordset (0x800A0CB3)
Aktuell provider stöder inte det nödvändiga gränssnittet för sortering och filtrering.Sv: Sortera en del av datan utan att påverka resten
Sv: Sortera en del av datan utan att påverka resten
Jepp du hade rätt, man måste köra recordsetet clientsided istället för serversided.
oConnection.CursorLocation = adUseClient
Set oRecordset = oConnection.OpenSchema(adSchemaColumns)
oRecordset.Sort = "TABLE_NAME, ORDINAL_POSITION"