Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Access, Nummerierung für Datensätze mit gleichem FS

Frage Microsoft Microsoft Office

Mitglied: Valume91

Valume91 (Level 1) - Jetzt verbinden

26.08.2009, aktualisiert 11:55 Uhr, 5171 Aufrufe, 3 Kommentare

Wie kann ich alle Datensätze in einer Tabelle, die den gleichen Wert in einem Feld haben, durchnummerieren lassen?

Guten Morgen liebes Forum

Ich stehe vor einem ziemlichen Problem:

Ich habe eine Tabelle "Seriennummer". In dieser Tabelle existiert ein Feld "Verwqf".
Dieses erhält Fremdschlüssel. Nun sollen alle Datensätze mit dem gleichen Wert im Feld "Verwqf" durchnummeriert werden.
Also zum Beispiel:

Verwqf: Zähler:

23 1
23 2
23 3
23 4
12 1
12 2
12 3
8 1
7 1
7 2
7 3

Sobald ein neuer Datensatz mit z.B. Verwqf 23 erfasst wird erhält er den Zähler 5. Wird er gelöscht und wieder erstellt wird dem neuen auch die 5 vergeben, und nicht die 6.
Ist dies Möglich?

Mit freundlichen Grüßen Valume
Mitglied: AndreasHoster
26.08.2009 um 13:31 Uhr
Prinzipiell: Ja
Ich hoffe, VBA ist kein Fremdwort für Dich.

Für die vorhandenen Datensätze:
In VBA die Tabelle, sortiert nach Verwgf, öffnen, Datensatz für Datensatz durchgehen und jeweils eine um 1 höhere Nummer ins Feld Zähler eintragen, bei Änderung von Verwgf wieder bei 1 anfangen.

Für neue Datensätze wirds etwas problematischer, da müsste man erstmal klären, was passiert wenn jemand nicht den letzten Datensatz, sondern einen davor löscht. Sollen die Lücken dann auch gefüllt werden?
Desweiteren, wie kommen die Datensätze da rein? Über ein Formular, über direkten Tabellenzugriff, per ODBC?

Und falls mehrere User gleichzeit dran arbeiten wirds richtig kompliziert, weil dann die Emittlung und Eintragung zwingend in einer Transaktion stattfinden muß und man die Tabelle sperren muß, damit nicht mehrere das gleichzeitig machen.

Was spricht eigentlich gegen einen Autowert und man hat halt Lücken bei Löschungen?
Bitte warten ..
Mitglied: Valume91
26.08.2009 um 14:46 Uhr
Hi Andreas

Danke erstmal für die schnelle Antwort!
Ich hoffe, VBA ist kein Fremdwort für Dich.
Ist es nicht. Jedoch bin ich nicht sehr bewannt darin.

In VBA die Tabelle, sortiert nach Verwgf, öffnen, Datensatz
für Datensatz durchgehen und jeweils eine um 1 höhere Nummer
ins Feld Zähler eintragen, bei Änderung von Verwgf wieder
bei 1 anfangen.
Gut bei den bestehenden kann ich dies bereits machen. Nur soll das ja auch bei neuen geschehen.
Sollen die Lücken dann auch gefüllt werden?
Nein.
Desweiteren, wie kommen die Datensätze da rein?
Über ein Formular, das sich im Design Master befindet. Die Daten bzw. die Tabelle befindet sich jedoch im backend, das sollte jedoch keine Rolle spielen.
Und falls mehrere User gleichzeit dran arbeiten...
Tun sie nicht.
Was spricht eigentlich gegen einen Autowert?
Der Kunde ;)

Ich hoffe ich hoffe ich konnte dir die nötigen Informationen geben, und du kannst mir weiterhelfen.

Mit freundlichen Grüßen Valume
Bitte warten ..
Mitglied: AndreasHoster
26.08.2009 um 16:55 Uhr
OK, wenn die Daten über ein Formular reinkommen, dann könnte man ins Formular-Ereignis Vor Aktualisierung eine Routine einbauen, die den momentan höchsten Zähler des entsprechenden Verwgf Wertes ermittelt, die mit 1 addiert und in das Formular ins entsprechende Feld einträgt.

Sollte auch als Ausdruck gehen, müsste wohl nicht unbedingt VBA sein.
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (6)

Frage von geocast zum Thema Windows Netzwerk ...

Microsoft Office
gelöst Access 2007 (2)

Frage von Everest zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...