Und noch eine Frage,
gegeben: eine Tabelle mit Messwerten und einem Zeitpunkt-Wert, also "16.1.2008 12:13:00" etc. So und jetzt komme ich mit einem völlig neuen Zeitpunkt (also nicht aus der Tabelle) und suche den am nächsten befindlichen Record.
Als Array könnte man "interpolate Array.vi" nehmen um daraus den nächsten zu ermitteln.
In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach.
Oder ich pfeife auf die DB, kaufe mehr Memory und mache das als Array.
Bitte einen Denkanstoss
Gottfried
Spontan fällt mir auch nichts besseres als das
' schrieb:In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach.
ein. Eine Abfrage ob was in der Nähe liegt wüsste ich momentan auch nicht.
Gruß Markus
' schrieb:Und noch eine Frage,
gegeben: eine Tabelle mit Messwerten und einem Zeitpunkt-Wert, also "16.1.2008 12:13:00" etc. So und jetzt komme ich mit einem völlig neuen Zeitpunkt (also nicht aus der Tabelle) und suche den am nächsten befindlichen Record.
Als Array könnte man "interpolate Array.vi" nehmen um daraus den nächsten zu ermitteln.
In der Datenbank fällt mir nichts anderes ein als eine Spalte einzuführen mit abs[Abstand zum jetzigen (neuen) Zeitpunkt] und dann danach zu sortieren und den kleinsten zu nehmen - ist vom Aufwand sicher .... schwach.
Oder ich pfeife auf die DB, kaufe mehr Memory und mache das als Array.
Bitte einen Denkanstoss
Gottfried
Alle Messwerte seit "Dein_Zeitstempel": (ich geh jetzt einfach mal davon aus, dass deine Spalte mit dem Timestamp "time_stamp" heist ...)
Code:
SELECT * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC
du willst nur 100 Messwerte haben?
Code:
SELECT TOP 100 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC
du willst nur EINE Zeile:
Code:
SELECT TOP 1 * FROM tbl_messwerte WHERE time_stamp > Dein_Zeitstempel ORDER BY time_stamp ASC
geht alles mit SQL

...
' schrieb:Genial
Danke
Weil du noch einen anderen Thread dazu offen hast in dem es darum geht die Zeitstempel zu aktualisieren (in Pseudo-Code...):
Code:
UPDATE tbl_deinTabellenName SET deineZeitStempelSpalte = deineZeitStempelSpalte + ZeitUmDieGeändertWerdenSoll WHERE deineZeitstempelSpalte IS BETWEEN Startzeit AND Endzeit
--> manipuliert den Wert deiner Timestamp-Spalte um den Wert den du vorgibst bei allen Zeilen bei denen der aktuelle Wert zwischen Startzeit und Endzeit liegt ...
wobei du jetzt noch das Datums-Format für Access rausfinden musst, ich glaub das war irgendwas mit # und / und dann musst du noch rausfinden, was man addieren/subtrahieren kann (ob das Sekunden sind oder Bruchteile von Stunden oder so) da müsst ich nun selbst nachschaun und da bin ich grad zu faul

Sorry - so geht das leider nicht.
Nimm eine Tabelle und in (sagen wir) der ersten Spalte unregelmäßige Zeitpunkte als String - so, die muss ich umformatieren. Mit anderen Worten ich muss die Zeitpunkte einzeln (die ich nicht kenne) lesen, umformatieren und schreiben. Keine Info "wann" der nächst Zeitstring ist.... In der Tabelle gehe ich zur nächsten Zeile bis ich "unten" bin, aber in SQL...
Inzwischen habe ich - sorry völlig unelgant - mit einem Read Spreadsheet 350.000 Zeilen gelesen und bearbeitet ... na ja... keine Ruhmestat
Gottfried