Question

Je travaille à faire des transferts de données mobiles les données d'une base de données à l'autre et je voudrais faire cela sans l'aide de beaucoup de mémoire sur l'ordinateur que je suis en cours d'exécution de ce programme de transfert de données sur. Actuellement, le programme est couru chaque minute, mais je veux changer cela pour que je l'extraction de données toutes les heures. En fin de compte, je souhaite modifier la requête suivante de sorte que je ne suis pas la plus juste l'accaparement de valeur, mais que je l'accaparement des données qui est de la dernière heure:

SELECT Data.[Date / Time],
       DATA.[Hot Strip Mill Total],
       Data.[Basic Oxygen Furnace Total],
       Data.[Electro-Arc Furnace Total],
       Data.[J-9 Shop Total],
       Data.[Levy Maintence Building Total],
       Data.[Ford Body Shop Total],
       Data.[Ford Chiller Building Total],
       Data.[Ford Dearborn W Plant Total],
       Data.[Ford Dearborn E Plant Total], 
       Data.[Ford Dearborn Balcony Total], 
       Data.[Ford Final Assembly Total],
       Data.[Ford Frame Plant Total], 
       Data.[Ford Dearborn N Plant Total],
       Data.[Ford Tool and Die Total], 
       Data.[Ford Paint Plant Total],
       Data.[Ford Glass Plant Total], 
       DATA.[Hot Strip Mill Rate], 
       Data.[Basic Oxygen Furnace Rate], 
       Data.[Electro-Arc Furnace Rate],
       Data.[J-9 Shop Rate],
       Data.[Levy Maintence Building Rate],
       Data.[Ford Body Shop Rate],
       Data.[Ford Chiller Building Rate],
       Data.[Ford Dearborn W Plant Rate],
       Data.[Ford Dearborn E Plant Rate],
       Data.[Ford Dearborn Balcony Rate],
       Data.[Ford Final Assembly Rate],
       Data.[Ford Frame Plant Rate],
       Data.[Ford Dearborn N Plant Rate],
       Data.[Ford Tool and Die Rate],
       Data.[Ford Paint Plant Rate],
       Data.[Ford Glass Plant Rate]
       FROM DATA  
       WHERE Format(Data.[Date / Time], 'mm/dd/yyyy hh:nn:ss') >=
           (select Format(max(Data.[Date / Time]),'mm/dd/yyyy hh:nn:ss') from Data);

Comme dans, il est maintenant 10:51:00 AM, mon programme est maintenant en cours d'exécution, il renvoyaient des données de plus de 09:51:00 jusqu'à présent, même à 11:51:00 AM, les données de retour de plus de 10: 51:00 jusqu'à 11:51:00 du matin. Je ne suis pas famililar avec accès mais je suis assez capable avec des requêtes. Celui-ci me a perdu. toute personne peut-elle aider comprendre comment y parvenir? Merci

Était-ce utile?

La solution

Depuis 1 jour = 1, donc 1 heure = 1/24. Alors -Juste pour le plaisir - vous pouvez même exprimer votre condition

WHERE Data.[Date / Time] >= (Now()-1/24)

Autres conseils

Si le type de données de vos données. [Date / heure] est Date / Heure, vous n'avez pas besoin d'appliquer Format () lorsque vous utilisez les valeurs dans une comparaison basée sur la date.

WHERE Data.[Date / Time] >= DateAdd("h",-1, Now())

Cette approche pourrait être beaucoup plus rapide que d'utiliser Format () avec chaque ligne de la table, en particulier si le champ [Date / heure] est indexé.

Je ne suis pas sûr de ce que vous vouliez dire par cette phrase:

" De même à 11:51:00 AM, les données de retour de plus de 10:51:00 jusqu'à 11:51:00 du matin. "

Si cela signifie à 11:51:00 AM table de données peut inclure des lignes qui ont [Date / heure] valeurs plus tard que 11:51:00 AM, vous pouvez ajouter une autre condition à la clause WHERE pour les exclure.

WHERE Data.[Date / Time] >= DateAdd("h",-1, Now()) AND Data.[Date / Time] < Now()
WHERE Format(Data.[Date / Time], 'mm/dd/yyyy hh:nn:ss') >= DateAdd("h",-2, Now())
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top