Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen
zurück: Abfragekriterium "Alle Zahlen" weiter: Datumeingabe durch Text ersetzen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
NeophyteSL
Im Profil kannst Du frei den Rang ändern


Verfasst am:
12. März 2009, 18:23
Rufname:

Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen - Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen

Nach oben
       Version: Office 2007

Hallo!

Ich hoffe mal Ihr könnt mir helfen!
Ich bin mometan dabei eine Lizenzdatenbank mit Access 2007 zu erstellen, mit der man alle Softwarelizenzen inventarisieren und verwalten können soll. (siehe Anlage)

Soweit funktioniert die Datenbank schon recht gut, ich hab nur leider im Formular "Lizenz" das Problem, dass ich dort nicht einer Rechnungsnummer mehrere Lizenzen zuweisen kann.
Der Idealfall wäre, wenn man über ein Textfeld die Rechnungsnummer anlegen und mehrfach Lizenzen zuteilen könnte. Danach soll ein Scan der Rechnung mit der Datenbank verknüpft werden.

Ich will für den Primärschlüssel in der Tabelle "Rechnung" keinen Auto-Wert anlegen, mit dem dann für ein Feld mit dem Namen "Rechnungsnummer" Duplikate möglich sind, sondern jede einzelne Rechnungsnummer soll nur einmalig vorliegen und die zugehörigen Softwarelizenzen sollen damit verknüpft sein. Ansonsten müssten wir den Rechnungsscan mehrfach in die Datenbank verknüpfen, was zu aufwendig/umständlich ist.

Kurz und Knapp:
Das Textfeld mit der Beschreibung "Rechnung_ID_Rechung" im Formular "Lizenz" soll die gleiche Rechnungsnummer mehrfach in Datensätzen verwenden können.

Gruß
Neo

P.S.:
Der Anhang enthält einmal eine Datei für Access 2007 (*.accdb) und einmal eine Datei für ältere Access Versionen (*.mdb).



LizenzdatenbankBeispiel.zip
 Beschreibung:

Download
 Dateiname:  LizenzdatenbankBeispiel.zip
 Dateigröße:  455.2 KB
 Heruntergeladen:  178 mal

KlausMz
Moderator Access


Verfasst am:
13. März 2009, 00:51
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen - AW: Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen

Nach oben
       Version: Office 2007

KlausMz am 12. März 2009 um 19:09 hat folgendes geschrieben:
Hallo,
In Tabellen direkt sollten keine Nachschlagefelder verwendet werden. Ich habe sie alle entfernt. In Formularen dürfen diese verwendet werden, nur nicht in den Tabellen.
Näher Infos dazu siehe hier:
DBWiki: Access Anfänger: Die Nachteile von Nachschlagefeldern
Weiterhin habe ich für die Rechnung einen Autwert für die Beziehung eingefügt. Für die Rechnungsnummer gibt es ein zusätzliches Feld "Rechnungsnummer". Auch in diesem Feld sind keine Duplikate möglich. Deine Bedenken den Autowert betreffend sind nicht zutreffend. Für die Rechnungspositionen benötigst Du eine weitere Tabelle zur Herstellung einer n:m Beziehung zwischen Rechnung und Lizenz. Jetzt bist Du in der Lage einer Rechnung mehrere Lizenzen zuzuweisen.
Die Erfassung der Rechnung erfolgt mit Hauptformular (Rechnungsdaten) und Unterformular (Lizenzdaten)
Schaue Dir im Beziehungsfenster die Beziehungen an. Das neue Formular heist "frmRechnung".
Deine alten Formulare habe ich nicht geprüft, diese müssen wahrscheinlich überarbeitet werden.
Ich würde auch dazu raten, das OLE Feld für die gescannten Dokument durch ein ganz normales Textfeld zu ersetzen, in dem nur der Pfad zum Dokument gespeichert ist. Das Dokument wird dann mit einem ganz normalen Bildbtrachter außerhalb der DB angesehen. Das ist wesentlich deutlicher als in der DB selbst. OLE Felder vergrößern die DB unverhältnismäßig.

Und noch etwas: Eine DB sollte regelmäßig mit dem Accessdienstprogramm "Komprimieren/Reparieren" behandelt werden. Es werden erst dann überflüssige Objekte gelöscht. Schaue mal die Größe Deines Uploads (455kb) und meines Uploads (170kb) trotz mehr Objekten.

Geänderte DB anbei.

Hallo,

Nachtrag: 12.03.2009 23:44 Habe eine neue Version hochgeladen, da war ein Fehler drin.

Noch was ist mir aufgefallen:
Die Cancel=True in den Speicherbuttons sind wirkunkslos, das Clickereiegnis kann nicht abgebrochen werden, da der Parameter Cancel im Prozedurkopf nicht enthalten ist.
Die oberste Zeile in jedem Modul solltest Du mit "Option Explicit" ergänzen. Das zwingt zur Variablendeklaration. Also so:
Code:
Option Compare Database
Option Explicit
Mach das mal und dann kompiliere mal den Code. Dann wird auch das falsche Cancel angemeckert.
_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.



LizenzdatenbankBeispiel.zip
 Beschreibung:

Download
 Dateiname:  LizenzdatenbankBeispiel.zip
 Dateigröße:  172.6 KB
 Heruntergeladen:  90 mal

NeophyteSL
Im Profil kannst Du frei den Rang ändern


Verfasst am:
13. März 2009, 18:07
Rufname:

AW: Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen - AW: Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen

Nach oben
       Version: Office 2007

Hallo Klaus!

Vielen Dank für deine Hilfe und für deine Bemühungen!

Ich hätte nur gerne das Formular ohne Unterformular und aus der Sicht der Lizenzen.

Es muss doch irgendwie möglich sein über Text od. Kombinationsfeld in einem Formular entweder eine neue Rechnungsnummer anzulegen oder eine bereits bestehende Rechnungsnummer auszuwählen, oder?!

Ich weiß halt nur nicht, wie ich das einbinden kann, dass ich einem Primärschlüssel für die Tabelle Rechnung mehrere Lizenzen zuweisen kann.
Hab momentan einen Autowert als Primärschlüssel und ein zusätzliches Feld mit dem Namen Rechnungsnummer, bin damit aber nicht so glücklich.

Hab meine DB mal aktualisiert.

Gruß
Neo



LizenzdatenbankBeispiel2.zip
 Beschreibung:

Download
 Dateiname:  LizenzdatenbankBeispiel2.zip
 Dateigröße:  362.34 KB
 Heruntergeladen:  144 mal

KlausMz
Moderator Access


Verfasst am:
13. März 2009, 18:44
Rufname:
Wohnort: Irgendwo in der Pfalz


AW: Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen - AW: Lizenzdatenbank / Primärschlüssel mehrere Werte zuweisen

Nach oben
       Version: Office 2007

Hallo,
Deine Beziehungen sind schlicht und ergreifend falsch. Das Feld mit der Rechnungsnummer hat in der Lizenztabelle nichts zu suchen. So wie Du das jetzt hast, kannst Du zu einer Rechnung immer nur eine Lizenz zuweisen und das wäre ja falsch. Du brauchst defintiv die Zwischentabelle und das mit dem Unterformular erleichtert die Erfassung der Rechnung.
Das aus Sicht der Lizenzen darzustellen macht keinen Sinn, denn eine Lizenz kann immer nur eine Rechnung haben, aber eine Rechnung mehrere Lizenzen.
Aber trotzdem lässt sich das natürlich auch mit der Zusatztabelle in der gewünschten Form darstellen, das ist ja der Vorteil der Zwischentabelle. Ich baue Dir das später mal ein, wenn Du willst.
In meinem Rechnungsformular kannst Du eine vorhanden Rechnung auswählen und die dazugehörenden Lizenzen anzeigen, oder neue Rechnungen anlegen und die Lizenzen dazu auswählen.

PS: Warum hast Du die Nachschlagefelder in den Tabellen nicht entfernt?

Ich habe überhaupt Zweifel am Datenmodell, was soll z.B. der Lieferant in der Rechnung? Oder erfasst Du da vom Lieferanten eingehende Rechnungen?

_________________
Gruß
Klaus . . . . . Feedback wäre wünschenswert.
Ich möchte bitte keine unaufgeforderten PN. Fragen bitte im Forum.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Werte aus Tabelle als Ausschluss-Kriterium 2 raupe007 1519 23. Jan 2006, 16:15
HoPa Werte aus Tabelle als Ausschluss-Kriterium
Keine neuen Beiträge Access Tabellen & Abfragen: Kreuztabellenabfrage Werte 2 Zoran 3025 22. Dez 2005, 18:27
Willi Wipp Kreuztabellenabfrage Werte
Keine neuen Beiträge Access Tabellen & Abfragen: Werte von Feld1 in Feld2 kopieren 2 cixz 896 30. Sep 2005, 11:50
Gast Werte von Feld1 in Feld2 kopieren
Keine neuen Beiträge Access Tabellen & Abfragen: Max. Werte über mehrere Datensätze ermitteln 1 Gast 1200 22. Aug 2005, 14:56
lothi Max. Werte über mehrere Datensätze ermitteln
Keine neuen Beiträge Access Tabellen & Abfragen: Werte Zählen, aber bestimmte nicht dazu addieren 1 MrMarley 897 14. Jun 2005, 02:21
tobes Werte Zählen, aber bestimmte nicht dazu addieren
Keine neuen Beiträge Access Tabellen & Abfragen: Access 2002 - Primärschlüssel mit Gültgkeitsregel/Meldung ? 6 Icelight 1004 06. Jun 2005, 10:35
Willi Wipp Access 2002 - Primärschlüssel mit Gültgkeitsregel/Meldung ?
Keine neuen Beiträge Access Tabellen & Abfragen: Numerische Werte in als Text definiertem Feld 4 Terminator 811 25. Apr 2005, 07:50
stpimi Numerische Werte in als Text definiertem Feld
Keine neuen Beiträge Access Tabellen & Abfragen: Sie wollten den Null-Wert einer Variablen zuweisen, die ... 0 cmaier 4270 09. Feb 2005, 09:45
cmaier Sie wollten den Null-Wert einer Variablen zuweisen, die ...
Keine neuen Beiträge Access Tabellen & Abfragen: Lagerstellplätze automatisch zuweisen in Datenbank 1 Sastian 1404 01. Feb 2005, 09:20
stpimi Lagerstellplätze automatisch zuweisen in Datenbank
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage die werte anfügt 2 Zoran 495 26. Jan 2005, 14:24
Zoran Abfrage die werte anfügt
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage Top2 Werte 2 Zoran 1209 25. Jan 2005, 18:03
Zoran Abfrage Top2 Werte
Keine neuen Beiträge Access Tabellen & Abfragen: Primärschlüssel! 2 zelem 488 17. Dez 2004, 11:37
Gast Primärschlüssel!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web