Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Zahlenformat fest definieren

Begonnen von malibum, Februar 20, 2017, 10:21:00

⏪ vorheriges - nächstes ⏩

malibum

Hallo zusammen,

in meiner Tabelle für die Datenbank existiert eine Spalte mit einem fest vorgegebenem 14-stelligen Zahlenformat (00000000000000). Dieses Format habe ich bereits in Excel definiert, auch bei dem Tabellenimport nach Access wurde dieses Format übernommen und zeigt auch die korrekte Zahl an. Die für dieses Format vorgesehene Zahl fängt am Anfang immer mit einer Null an, ohne dieses Format löscht Excel immer diese erste Null da er diese wahrscheinlich nicht als Zahl akzeptiert bzw. erkennt.

Nun habe ich in Access eine Suchfunktion eingebaut, bei der die Zahl eingeben werden kann und der entsprechende Datensatz dazu angezeigt wird. Hier habe ich jedoch das Problem mit der ersten Null. Gebe ich die komplette Zahl ein findet Access keinen Datensatz dazu, entferne ich jedoch die erste Null findet er den Datensatz. Wie kann ich Access nun quasi dazu zwingen, dass er diese erste Null akzeptiert und somit bei kompletter Nummerneingabe der entsprechende Datensatz erscheint?  ???

Bin für jede Info dankbar!  :)

Viele Grüße
Malibum

MzKlMu

Hallo,
eine 13stellige Zahl kann ich mir bei Access gerade gar nicht vorstellen.
Was hast Du da denn da für einen Datentyp eingestellt ?
Gruß Klaus

malibum

Hallo,

als Datentyp habe ich Double eingestellt.

Wie gesagt das Problem besteht nur in der Suchfunktion, die Anzeige der Zahl ist ansonsten korrekt  ;)

MzKlMu

Hallo,
das Format ist doch bedeutungslos.
Und die führende 0 kriegst Du bei einer Zahl nicht in die Tabelle.
Und gefunden wird ja richtig, egal ob Du die 0 eingibst oder nicht.

Du musst die Suchfunktion entsprechend anpassen.

Zeige bitte mal den Code der Suchfunktion.

Gruß Klaus

malibum

Hallo,

als "Code" habe ich nur ein Kriterium für das entsprechende Feld in der Abfrage hinterlegt:

ZitatWie "*" & [Formulare]![frmNavi]![Navigationsunterformular]![Text39] & "*"

Anschließend wird durch einen Klick auf den Suchbutton das Unterformular aktualisiert:

ZitatPrivate Sub Befehl2_Click()
Me![ufrmNummer].Requery
End Sub



MzKlMu

Hallo,
willst Du nur die komplette Zahl suchen oder auch Teile davon ?

Was hat die Zahl überhaupt für eine Bedeutung, wird mit der gerechnet ?
Gruß Klaus

Lachtaube

@Klaus,

OT: Mit dem Dezimal-Format (19,0) lässt sich auch ein 64-Bit Integerbereich abdecken, was besonders bei Importen aus anderen Datenbanksystemen, die 64-Bit Integer verwenden, nützlich sein kann.

Ab Version 2016 gibt es auch Big-Integer Unterstützung in Access.
Grüße von der (⌒▽⌒)

MzKlMu

Hallo,
@Lachtaube
habe ich inzwischen auch gemerkt, ich war da gedanklich bei einer Long Zahl.
Daher bin ich ja auch auf den Datentyp nicht mehr eingegangen.
Gruß Klaus

malibum

Hallo,

am besten wäre es wenn man nur die komplette Zahl findet. Mit der Zahl wird nicht gerechnet. Die Zahl stellt eine Produktnummer dar.  ;)

bahasu

Hi,

wenn damit nicht gerechnet wird, bietet es sich an, die "Zahl" als TEXT zu deklarieren.
Dort bleiben führende Nullen bestehen.

Harald
Servus

MzKlMu

Hallo,
dann suche doch auch nach dem kompletten Text.
= ZDouble([Formulare]![frmNavi]![Navigationsunterformular]![Text39])Ob ZDouble benötigt wird, musst Du mal probieren.

Ansonsten, nimm den Datentyp Text für die Produktnummer, Double halte ich da für eher fehl am Platz. Dann wird auch die führende 0 gespeichert.

Gruß Klaus

malibum

Hallo,

super vielen Dank! Habe es nun als Text deklariert und nun klappt alles  :D