2016-04-19 12 views
-1

Ich habe ein numerisches Feld aus der Tabelle, wo ich einen Standardwert "100" setzen muss, und danach sollten 5 weitere Nummern erlaubt werden.Zugriffsfeld - Standardwert + Grenzwertnummern

Zur Zeit habe ich:

  • Standardwert: 100

  • Eingabemaske: 00000000 ;; „“

Aber was das bedeutet ist, dass es Standardwert in dem Feld legt, aber nicht auf dem Feld des ersten linken Platz, obwohl ich Textausrichtung des Feldes gesetzt habe nach links. Wie kann ich dies einstellen, um den Standardwert im linken Anfang des Feldes zu haben - und 5 Nummern danach zu erlauben?

S.S .: Eingabemaske "100" 00000 ;; "" löst keine Probleme, weil 100 in diesem Fall nicht in der Tabelle gespeichert wird.

EDIT:

Wenn ich Eingabemaske verwenden „100“ 00000 ;;“,“ Ich kann nicht diese Datensätze über VBA dynamische SQL-Suche suchen, denn ‚100‘ nicht wird in der Tabelle gespeichert. Wenn Sie der Tabelle die gleiche Eingabemaske hinzufügen und die vollständige Zahl anzeigen, funktioniert Dynamic SQL nicht - weil Access die Eingabemaske nicht als Felddaten speichert.

+0

Was bedeutet dieses Feld? Ich denke, wenn Sie es in ein Textfeld ändern, wird die Eingabemaske ordnungsgemäß funktionieren, aber ob Sie sollten sollten, hängt davon ab, was Sie darin speichern. – MoondogsMaDawg

+0

Dieses Feld repräsentiert das Feld einer Tabelle. Ich verwende es, um Datensätze direkt in der Tabelle zu speichern. Ich weiß über Textfeld, ich habe ein anderes ungebundenes Textfeld mit den gleichen Einstellungen gesetzt, und Default-Wert wird am Anfang des Feldes, Problem ist nur mit diesem gebundenen Textfeld. – LuckyLuke82

+0

Wenn es gebunden ist, müssen Sie den Datentyp in der Tabelle ändern, nicht das Format des Textfelds. Es funktioniert nicht auf die gleiche Weise wie Ihre ungebundene Textbox. Ob es richtig ist, hängt davon ab, was das Feld darstellt. Zum Beispiel bestehen Postleitzahlen, Telefonnummern, SS # aus Zahlen, sollten aber als Textdatentypen in den Tabellen gespeichert werden. – MoondogsMaDawg

Antwort

0

Annahmen:

1) ist dieses Feld eine lange Ganzzahl mit einer Feldgröße von 8, und es kann nicht in ein Textfeld

2) das in Access 2016 auf Windows getestet wurde geändert werden 8.1 Pro

-

die Eingabemaske des Feld Stellen Sie Tabelle Eigenschaften: "100" ##### ;;“"

Legen Sie den Standardwert der -Tabelle des Feldes-Eigenschaften auf NULL fest. Tun Sie dies, indem Sie den Standardwert hervorheben und die Rücktaste drücken und dann eingeben. Die Eigenschaft sollte jetzt vollständig leer sein.

den Text align der Tabelle Set Eigenschaften Left

Nun ist die Tabelle zeigt, bis kein Wert ausgewählt, an welchem ​​Punkt wird es „100“ richtig linksbündig mit 5 Räumen als Platzhalter haben.

Auf der Form, stellen Sie die Texteingabemaske Eigenschaft auf: "100" ##### ;;“" und Ihrem Text align: Left.

Machen Sie die Form Standardwert NULL in der gleichen Weise.

Nochmals das Formular Textfeld mit zeigen Sie Ihren Standardwert, wenn ausgewählt, aber ansonsten leer erscheint.

Das ist das Beste, was ich tun kann.Da es sich um ein Zahlenfeld handelt, wird jeder Standardwert in der Tabelle (außer NULL) unabhängig von Ihrer Eingabemaske rechtsbündig angezeigt. Wenn Ihr Standardwert die Literalzeichen in Ihrer Eingabemaske verletzt, wird das Feld nur mit dem Standardwert angezeigt. Zum Beispiel:

Eingabemaske: "100" ##### ;;“"

Deafult Wert: 999999

Erschien als: 999999

-

Wenn Sie müssen Haben Sie "100" in dem Feld auf Ihrem Formular angezeigt, die einzige Option, die ich sehen kann, wäre ein Label hinter Ihrem Textfeld mit der gleichen Größe und gleichen Texteigenschaften hinzuzufügen.

Machen Sie Ihre Beschriftung Beschriftung "100" (und Text align to Left).

Setzen Sie dann die Textbox Hintergrundfarbe Eigenschaft auf Transparent.

Damit können Sie den Standardwert in der Beschriftung über das Textfeld angezeigt. Wenn die Textbox ausgewählt ist, wird die Beschriftung durch die weiße Hintergrundfarbe der Eingabe der Textbox blockiert, die den korrekten Wert anzeigt. Angenommen, Ihre Zeichensätze stimmen nicht überein, sollte der Textfeldwert sauber genug angezeigt werden, da "100" immer die ersten drei Zeichen sind.

+0

Cristopher, danke für deine Post, aber das geht nicht. Ich habe das nicht näher ausgeführt - von einem Formular aus speichere ich Datensätze direkt in Tabellen. Diese Nummern sind Seriennummern. von bestimmten Artikeln .... PROBLEM: Ich habe eine dynamische VBA-SQL-Suche, und wenn ich nach diesen Datensätzen suche, werden sie nicht gefunden. Ich untersuchte und meine Schlussfolgerung ist, dass "100" nicht als Wert in der Tabelle gespeichert wird, sondern genau wie die Eingabemaske, also Datensatz nicht gefunden wird - Wenn ich Datensatz ohne "100" suche, wird Datensatz gefunden. Es klingt seltsam, aber so verhält sich Access. Ich kann auch VBA-Code für die dynamische Suche bei Bedarf veröffentlichen. – LuckyLuke82

+0

@ LuckyLuke82 Bitte bearbeiten Sie Ihre ursprüngliche Frage mit dieser Info. -1 um deine Frage nicht richtig zu formulieren. Viel Glück! – MoondogsMaDawg

+0

Ok, ich habe das hinzugefügt. – LuckyLuke82