2017-08-11 3 views
1

J'ai une page avec plusieurs centaines ou milliers d'articles. La taille de la page Web est définie manuellement par l'utilisateur, en choisissant le nombre d'éléments qu'il souhaite voir (les options sont 25,50,100,200). Selon cela, les éléments apparaîtront sur plusieurs pages.Définissez PageSize, PageNumber et passez d'une page à l'autre

Pour vérifier chaque article, j'ai un SQL. Je veux vérifier que les éléments qui sont actuellement à l'écran, soit 26 articles à 50 sur 100.

J'ai essayé suivante:

ItemsOnPage = mybrowser.webelement(...).GetROProperty("innertext") 
Set aRecordSet= objconnection.Execute(Query) 
    aRecordSet.PageSize = ItemsOnPage 
    print aRecordSet.PageNumber 

aRecordSet.PageNumber séjours -1, dependless sur PAGESIZE ainsi que si je ne définis pas PageSize.

En outre, besoin de mettre PageNumber en fonction de la page en cours sur le Web:

wCurrentPage = mybrowser.webElement(...).GetROProperty("innertext") 

J'ai essayé les options suivantes:

aRecordSet.AbsolutePage = wCurrentPage 
aRecordSet.AbsolutePosition = 2+(ItemsOnPage *(wCurrentPage-1)) 

Ces commandes erreurs renvoyées: l'opération n'est pas autorisée lorsque l'objet est ouvert . Et

aRecordSet.CursorLocation = 1+(ItemsOnPage *(wCurrentPage-1)) 

a renvoyé "Le jeu d'enregistrements actuel ne prend pas en charge les signets."

Comment cela peut-il être réalisé?

UPD: La requête pour obtenir des données est:

SELECT * FROM tblCustomerMetricData 
WHERE RunDate = '"&webGetDate&"' AND 
CustomerID in 
(SELECT CustomerID from [tblCustomers] 
where RegionID in (SELECT RegionID FROM [tblRegion] 
WHERE RegionName = '"&webRegionName&"')) OR CustomerID in (SELECT CustomerID from [tblCustomers] 
where CustomerName = '"&webCustomerName&"')) 

Tout en commençant par « web » considéré comme obtenir des valeurs variables de la page Web sous forme d'ensembles d'utilisateurs. Requête exécutée par UFT.

+0

Quelle est votre requête? Avez-vous inclus le code complet ou est-ce qu'il manque quelque chose qui pourrait s'avérer important? – BoffinbraiN

+0

Ajout d'une question à la question – Salek

Répondre

0

Je n'ai pas pu configurer mon jeu d'enregistrements - je ne sais pas si c'était parce que je ne pouvais pas ou parce que le fournisseur ne prenait pas en charge. je me suis déplacé avec cette solution:

pagesnumber = mybrowser(...).Webedit(...).GetROProperty("innertext") 'get pages on web 
for p = 1 to pagesnumber-1 
for r = 0 to webtable.rowcount 
for c = 0 to webtable.columncount(1) 

(comparing by cell by row here) 

next 'loop columncount 
Recordset.MoveNext 
next 'loop rowcount 
next 'loop pagesnumber 

Ainsi, je ne avez pas besoin de mettre les pages ou RecordNumber pour Recordset.

0

Il existe différentes façons de configurer les jeux d'enregistrements à utiliser. Nous faisons de la pagination sur notre site web côté client ADO et cela fonctionne parfaitement. Essayez d'ajouter ce qui suit une fois que vous avez établi votre connexion de base de données:

objconnection.CursorLocation = adUseClient 

Si adUseClient n'est pas défini, mis à 3.

Here are the docs for CursorLocation.