Ok, j'ai une table qui a DeviceName, OutageType, OutageDate, DownDate, TotalDown.
ColA a les entrées multiples basées sur quand outaged produit (si la panne était en baisse ou se lève). le ColB a le type de panne pour le dispositif spécifique dans le ColC de kola (encore vers le haut ou vers le bas) est la date où l'occurred ColD de panne (dans ColB) est la date le dispositif (en kola) est allée le down ColE est tout le temps (dans le format décimal) l'où le dispositif était (c'est un champ pré-calculé inséré d'un autre manuscrit) mais seulement attaché aux champs/aux rangées aux lesquels la table du Br/> The de devicetype='up'< ressemble : le abcd-s-2-01, vers le bas, le te>, nulle, Null abcd-s-2-01, vers le haut de, le >, le e>, le ime> abcd-s-2-01, vers le bas, le te>, nulle, Null abcd-s-2-01, vers le haut de, le >, le e>.ime>
Basically un type de panne de vers le bas contient seulement le nom d'appareil, le type de panne et quand cette panne s'est produite. Un type de panne d'haut contient le nom, le type, date de panne, le dispositif de date est descendu, et est tout le temps où c'était le down
Here de ce que j'ai besoin. Je dois créer une nouvelle table qui contient : les besoins ci-dessus du TotalDown
The du DeviceName DeviceType DownDate UpDate (c'est la date l'où le devicetype='Up pour le dispositif énuméré ci-dessus en kola) d'être pour seulement ces dispositifs qui sont « en baisse ». Le but de la table est de montrer quel dispositif est descendu et quand, et alors quand il est venu support et tout le temps cela a pris pour venir rendement de table du The de support. devrait ressembler à : le abcd-s-2-01, vers le bas, le >, le , mise à jour de *where du e> est l'outagedate quand l'ennui de type=up.
The que j'ai figure dehors comment obtenir la mise à jour et le TotalTime. Je peux rechercher les 3 premières colonnes de l'autre table parce que ceux sont énumérés sur une rangée. J'ai des problèmes essayer de rechercher l'outageDate et le TotalTime quand Type=Up et l'insérer dans mon nouveau table.
I essayé courant deux rapports de strSQL (un où outagetype=down et l'autre où outagetype=up) et compare DeviceName mais la deuxième question de SQL (où type=up) ne produit pas les mêmes données de devicename. Par exemple : le
SQL1 produit : devicename, outagetype, downdate abcd-s-2-1, vers le bas, 17h00 2010-06-01 : 37 abcd-s-2-1, vers le bas, 19h00 2010-06-01 : 15 xyz-s-2-1, vers le bas, 18h00 2010-06-01 : 01 xyz-s-2-1, vers le bas, 7h05 2010-06-05 : 49 xyz-s-2-1, vers le bas, 12h15 2010-06-10 : 56
SQL2 produit : devicename, outagetype, downdate, outagedate, totaltime abcd-s-2-1, VERS LE HAUT DE, 17h00 2010-06-01 : 37, 17h15 2010-06-01 : 00, 0.23 abcd-s-2-1, VERS LE HAUT DE, 19h00 2010-06-01 : 15, 19h30 2010-06-01 : 18, 0.51 xyz-s-2-1, VERS LE HAUT DE, 18h00 2010-06-01 : 01, 19h00 2010-06-01 : 00, 1.00 xyz-s-2-1, VERS LE HAUT DE, 7h05 2010-06-05 : 49, 9h35 2010-06-05 : 25, 2.50 xyz-s-2-1, VERS LE HAUT DE, 12h15 2010-06-10 : 56, 11h10 2010-06-11 : 10, 22.90 xyz-s-2-1, VERS LE HAUT DE, 10h22 2010-06-06 : 00, 1h11 2010-06-07 : 41, 20.85
as que vous pouvez voir, SQL2 a une entrée supplémentaire qui n'est pas dans des résultats de la question SQL1. Quand je fais un recordset pour comparer les deux noms d'appareil (objRS.Fields =objRS1.Fields (name)) Je n'obtiens des valeurs nulles partout ou rien becaue quand SQL2 le <> SQL1 il salit vers le haut le reste du code simple du recordset Loop.
The que j'ai est : le objRS = SQL1 objRS1=SQL2 Do jusqu'à ce que l'objRS d'objRS.EOF if (nom) = objRS1 l'up_date du then = l'else up_date = null
This fonctionne l'unitl j'obtiennent au point où il y a des résultats supplémentaires de SQL2 qui ne comparent pas à SQL1 (ou vice versa).
Is là une manière pas aussi compliquée de réaliser ceci dans VB ? J'avais essayé de le faire pendant deux jours et je frappe un block.
If que vous avez besoin de plus de clarté me laissez know.
class= de
|