Hallo Wissende,
für die schnelle Antwort: Mit welchem SQL-Statement kann ich Dezimal in Binär umwandeln? Gegeben sei eine Tabelle mit hunderten Einträgen, in der im Feld [dec] eine Dezimalzahl steht (maximal 2^13) und im Feld [bin] soll mittels UPDATE ein linksbündiger Binärstring mit Länge 14 eingesetzt werden, also beispielsweise soll [dec]= 37 [bin] ="10100100000000" ergeben. Ich habe das Internet komplett durchgelesen und nur eine VBA-Funktion gefunden, die mir aber nicht hilft. Ich habe herausgefunden, dass ma mit einer Tabellendefinition über VBA auch einen Felddatentyp Binär erzeugen kann. Das klappt auch, aber wenn ich das Feld [bin] als Biär definiere sage "UPDATE tabelle SET [bin]= [dec]", führt das nicht ins Ziel. Wenn ich 37 übergebe, ist im Stringfeld ein % (weil 37 der ASCII-Code ist). Eine Konvertierungsfunktion, die hier hier ansetzen könnte, habe ich nicht gefunden.
FALLS DAS NICHT MÖGLICH IST, hier das zugrundeliegende Problem, vielleicht gibts ne andere Lösung.
Für eine Einsatzplanung gibt es Schichtmuster und dazugehörige Einsatztage (Zeitraum heute + 13 Tage.). Etwa so:
Schichtmuster Arbeitstage
Osternfrei 02.04.26
Osternfrei 07.04.26
Osternfrei 08.04.26
Osternfrei 09.04 26
Osternfrei 10.04.26
Osterhase 05.04.26
WoEnd 04.04.26
WoEnd 05.04.26
WoEnd 11.04.26
WoEnd 12.04.26
Ziel ist, mittels SQL für ein Schichtmuster einen String zu bekommen, dessen erster Wert heute, 2.4.26, ist (X=Arbeit, -=frei), also
Osternfrei X----XXXX--
Osterhase ---X-------
WoEnd --XX-----XX
und so weiter.
Ich hatte schon die Idee, bei den Schichtmustern zu berechnen, wieviel Tage der Arbeitstag von heute entfernt ist (o bis 13), dann 2 hoch diese Zahl zu nehmen, so konnte ich die Schichtmuster gruppieren und die Exponentialzahlen addieren. Ich kriege aber keine Lösung, aus dieser summierten Dezimalzahl den dazugehörigen Binärstring zu machen
Vielen Dank fürs Lesen und Antworten und schonmal frohe Ostern
Hans-Jürgen
Hehe, manchmal muss man vielleicht das Problem auch nur aufschreiben, um selbst auf ne Idee zu kommen... ihr seid da sozusagen meine Therapiegruppe...
Also den Workaround könnte man (vereinfacht und nicht mathematisch ausgedrückt) so machen:
BIN = IIF(DEC geprüft auf Teilerbedingung 2^0,'X','-') &
IIF(DEC geprüft auf Teilerbedingung 2^1,'X','-') &
IIF(DEC geprüft auf Teilerbedingung 2^2,'X','-') usw
Also man kriegts "hässlich" irgendwie hin. Bleibt die Frage: Gibt es auch eine elegante Lösung der Konvertierung?