PDA

Vollständige Version anzeigen : Aktualisierungsabfrage


peppi
15.02.2001, 09:49
Hallo,
nachdem ich seit Wochen dieses Forum auf meiner täglichen Besuchsliste habe (soll nur ausdrücken, daß ich dieses Forum fabelhaft finde), habe ich nun eine - wahrscheinlich blöde - Frage an die Experten:
Kann ich mittels Akualisierungsabfrage ein Double-Feld mit führenden Nullen "füttern".
Problemstellung:
Habe eine Tabelle mit einem Feld "Jahr", in dem die Jahreszahl vierstellig vorhanden ist. Habe ein Double-Feld (vormals Autowert) mit Zahlen von 1 bis ungefähr 350. Jetzt möchte ich die beiden Felder zusammenfügen, es muss aber eine 8-stellige Zahl dabei herauskommen (wegen der Sortierung). Deshalb möchte ich vorher das Double-Feld mit führenden Nullen ergänzen, was sich (zumindest für mich) als schwierig erweist, da die vorhandenen Zahlen mal 1-, 2- oder 3-stellig sind.
Für ganz viele Vorschläge danke ich schon jetzt - Ihr werdet mir sicherlich schlaflose Nächte ersparen.

Karl-Heinz
15.02.2001, 14:16
Hallo,
ich hatte ein ähnliches Problem,
habe da eine Funktion die du dann in einer Anfüge-Abfrage nutzen Kannst.
Public Function Test(dblZahl As Double, intLaenge As Integer) As String

Dim strFiller As String


Test = Format(dblZahl, "0")

If intLaenge > Len(Test) Then
strFiller = String((intLaenge - Len(Test)), "0")
End If

Test = strFiller & Test
End Function

hoffentlich klappt es

Karl-Heinz

holgii
15.02.2001, 16:29
Hallo peppi!

Der Ausdruck:
zdouble([jahr] & format([alterAutowert]);"0000"))

macht aus "jahr: 2001" und "alterAutowert: 295" die Zahl 20010295 !

Falls Du das Ganze jedoch umgekehrt brauchst, wirds mit einem "Zahl"-Feld als Ziel für die zusammengefassten Felder nicht funktionieren, denn der Ausdruck:

zdouble(format([alterAutowert]);"0000") & [jahr])

macht daraus 2952001 (nur 7 Stellen)

Grund: Im "Zahl"-Feld wird keine Vorlaufnull abgespeichert.

Lösungsmöglichkeit:
Zielfeld hat Textformat und Du benutzt folgenden Ausdruck für die Aktualisierung:

format([alterAutowert]);"0000") & [jahr])

Dann sähe es so aus: 02952001

Viele Grüße
holgii