Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Access Autowert formatieren mit 0 am Anfang

Mitglied: bumbum

bumbum (Level 1) - Jetzt verbinden

21.09.2009 um 13:10 Uhr, 13820 Aufrufe, 6 Kommentare

Hallo,
Ich möchte in Access einen Autowert so formatieren, dass der erste Wert 001 los geht, doch wenn ich das über eine SQL-Abfrage mache fängt er trotzdem mit 1 und nicht 001 an.
Kann mit da jemand helfen??

MfG bumbum
Mitglied: Biber
21.09.2009 um 14:03 Uhr
Moin bumbum,

mit Datenbanken kenn ich mich ja nicht so aus, aber..ein "AutoWert"/"Autoincrement"
  • ist immer in ADO/ADOX vom Typ adInteger ->COUNTER ist adinteger mit dem Zusatzattribut "AutoIncrement" auf TRUE
  • auch DAO/DDL-Datentyp COUNTER ist LONG (also == adInteger) mit dem Zusatzattribut "dbAutoIncrField" auf TRUE)
  • was aber beides auch wurscht ist, denn die Formatierung machst Du doch eh nur im Display, also in der Query.

Wie sieht die denn aus?

Grüße
Biber
Bitte warten ..
Mitglied: bumbum
21.09.2009 um 14:25 Uhr
moin biber,
ich kann mit dem was du mir da geschrieben hast garnichts anfangen....
also ich versuche es nochmal zu erklären! Ich habe ein Textfeld, in das ich eine Nummer eingeben, die von der Formatierung so aussieht 12345-012.
Sie setzt sich aus Zwei Autowerten zusammen, 12345 als Autowert und 012 also Autowert und diese werden dann in einer Abfrage zusammen geführt. Nach dem klicken auf den Speicher-Button wird dann kontrolliert, ob der Wert schon vergeben ist.
Wenn Ja kommt eine Fehlermeldung (Die Nummer "12345-012" ist schon vergeben, bitte verwenden sie die Nummer "12345-13")
also wird die 0 weg gelassen bei der zweiten Zahl weggelassen.
Die erste Zahl wird direkt aus dem Textfeld abgefragt und die zweite ergibt sich aus der kontrolle der der Tabelle/Abfrage +1
bitte helft mir, bin am verzweifeln :'-(

MfG bumbum
Bitte warten ..
Mitglied: AndreasHoster
21.09.2009 um 15:47 Uhr
Ich kann mit Deiner Frage auch nicht wirklich viel anfangen. Ich vermute Du vergewaltigst gerade ein paar Datenbankmittel anders als vorgesehen.

Prinzipiell mal zum Format eines Autowertes: Die Tabelle im Entwurfsmodus öffnen, auf das Feld mit dem Autowert gehen und dann bei den Eigenschaften im Feld Format 000 eingeben. Formatiert Zahlen so, daß 1 und 2 stellige Zahlen 2 oder 1 Null davor haben.

Aber:
Ein Autowert wird AUTOMATISCH beim Speichern vergeben, Du kannst einer Autowert-Spalte nicht manuell Werte zuweisen. Deswegen verstehe ich das mit dem Prüfen auf schonmal vergeben nicht. Beim Speichern bekommt die Autowert Spalte AUTOMATISCH einen neuen eindeutigen Wert.

Deswegen vermute ich, daß Du was anderes machst / machen willst / beschreibst als das, was ich aus Deinem Text rausgelesen habe.
Ansonsten kann man natürlich auch beim Auslesen mit einer SQL Abfrage führende Nullen hinzufügen:
01.
SELECT Format(Tabelle1.test,'000') FROM Tabelle1
Bitte warten ..
Mitglied: Biber
21.09.2009 um 18:59 Uhr
Moin bumbum,

ich versuch nochmal meine Verständnisprobleme zu beschreiben.

Verschiedene RDBMSe wie Oracle, DB2, MSSQL etc bieten leicht variiert diese AutoIncrement-Felder an.
Das funktioniert bei allen Datenbanken ähnlich mit vier Grundsätzen
  • der "AutoWert", wie er bei Access heißt, ist Long/Integer. Nicht Datum, nicht Währung, nicht Textfeld
  • der Autowert ist nicht nur "eindeutig" je Tabellle, sondern eben auch der Primary Key.
  • indirekte Schlussfolgerung aus dem 2. Grundsatz: Es kann nur maximal EIN Autowertfeld je Tabelle geben
  • es heißt "Autoirgendwas", weil es automatisch von der DB-Engine generiert/hochgezählt wird. Bestenfalls kannst Du den Startwert einmalig festlegen, dann bist Du raus und nur noch Zuschauer.

---> Deshalb: einen "AutoWert" kannst Du nicht verbiegen zu einem wie-auch-immer-gerechtfertigten zusammengesetzen "automatisch generierten Kunstschlüssel" aus zwei Nummernkreisen (Präfix +"-"+ lfdNr-als-Text).

Das musst Du per VBA lösen.
Mimik: Wenn für Präfix "12345" ein neuer Satz hinzukommt, dann musst Du prüfen 'was ist jetzt die höchste vergebene lfdNr für Gruppe/Kategorie "12345"?'

Und wenn bei dieser Max()-Query rauskommt "12345-011", dann muss du eben 2001 draufaddieren auf die "11" , dann hast du 2012 --> davon die rechten 3 Stellen verwenden --"012" und aus dem bekannten Prefix und "-" und "012" Deinen neuen Kunstschlüssel zusammenbraten.

Der ist dann sicherlich auch eindeutig und als PK geeignet.... aber ein AutoWert-Feld hast und brauchst und kannst Du nicht.

Grüße
Biber
Bitte warten ..
Mitglied: 76109
21.09.2009 um 19:29 Uhr
Hallo zusammen!

AutoWert1 = 12345
AutoWert2 = 12

Könnte man so zusammenbraten:
Text = AutoWert1 & "-" & Right("00" & AutoWert2 + 1, 3) = "12345-013"

Gruß Dieter
Bitte warten ..
Mitglied: bumbum
22.09.2009 um 07:18 Uhr
Vielen Dank für eure Antworten sie waren sehr hilfreich.
ich habe es hin bekommen. juhu

LG bumbum
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Access 2010 Autowert anpassen
gelöst Frage von lordofremixesMicrosoft Office10 Kommentare

Hallo zusammen, ich habe in einer Accessdatenbank mit zugehörigem Formular ein Feld ID, welches vom Datentyp Autowert ist und ...

Weiterbildung
Wo soll ich anfangen?
gelöst Frage von OVONELWeiterbildung7 Kommentare

Hallo alle zusammen! Im September schließe ich meine Ausbildung zum Fachinformatiker - Systemintegration meine schulischen Noten sind soweit in ...

Peripheriegeräte
Diskettenlaufwerk formatieren
Frage von beamenwaerschoenPeripheriegeräte7 Kommentare

Hallo, Ich hatte über Jahre mein eingebautes Floppy-Laufwerk im BIOS deaktiviert, weil nicht benötigt. Nun brauche ich es wieder, ...

Batch & Shell
Feld in Datum formatieren - bat
Frage von jochengBatch & Shell8 Kommentare

Hallo Leute ich bin neu hier und auf der Suche nach Hilfe. Ich habe folgendes Problem mit einer CSV ...

Neue Wissensbeiträge
Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 5 StundenSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 10 StundenWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Microsoft Office

MS Office 2019 ohne OneNote - OneNote App speichert nur in Cloud

Information von Deepsys vor 21 StundenMicrosoft Office2 Kommentare

Microsoft zeigt deutlich wohin alles bei Ihnen geht, OneNote 2019 wird es nicht mehr geben, und die Windows 10 ...

Humor (lol)

Warum man sein Gast-WLAN nicht beliebig nennen sollte

Erfahrungsbericht von Henere vor 1 TagHumor (lol)5 Kommentare

Servus, mal was aus dem Alltag. Zu Hause. Eigentlich wollte ich nur einen weiteren WLAN-AP ins Netz bringen, damit ...

Heiß diskutierte Inhalte
Windows Netzwerk
LAN nur 10MB pro s trotz gb lan
Frage von tsunamiWindows Netzwerk21 Kommentare

Hallo zusammen, ich brauche mal wieder einen Anstoß in die richtige Richtung. Ich habe einen Windows 10 pc mit ...

Festplatten, SSD, Raid
Server SSD: NVMe PCIe 3.0 RAID?
Frage von bouneeFestplatten, SSD, Raid15 Kommentare

Hallo liebe Admins, mir stellt sich gerade die Frage, ob ein neuer Server mit SSD NVMe PCIe 3.0 Sinn ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Windows 10
Windows 10 Startmenü-Einstellungen Systemweit festlegen
Frage von flotautWindows 1013 Kommentare

Guten Morgen liebe Admins, wir möchten bei uns am Lehrstuhl demnächst auf Windows 10 umsteigen. Wir installieren unsere PC's ...