Zum Inhalt springen

Formularproblem mit 2x1:n Beziehungen


wichtel

Empfohlene Beiträge

Hay

also ich habe folgendes problem:

Report-------------Festplatten------------Laufwerk

---------------------------------------------------------

RechnerID--------HDD_ID---------------LaufwerkID <--- Primärschlüssel

CPU---------------Bezeichnung----------Bezeichnung

Mainboard--------Volumen--------------Buchstabe

--------------------RechnerID------------RechnerID <--- Fremdschlüssel

RAM

usw.

report.rechnerID 1:n festplatten.rechnerid

report.rechnerid 1:n laufwerk.rechnerid

Wie ihr seht habe ich RechnerID aus "report" mit den anderen beiden RechnerID verknüpft.

1:n & referentielle Integrität

Ich habe das so verknüpft weil man dann in der Formularansicht bei jedem Rechner unterschiedlich viele HDDs und Laufwerke angeben kann.

Das Problem ist dass er mir dass so nicht gibt... wenn ich es unter Formular - Datenblatt haben möchte einspaltig geht auch net wirklich

wenn ich report mit nur einer tabelle verknüpfe dann funktioniert es....

kann mir wer helfen?

p.s. nur grundkenntnisse

Ergaenzung:

wenn ich

report.rechnerid 1:n mit festplatten.rechnerid

und

festplatten.hdd_id 1:n mit laufwerk.rechnerid

verknüpfe macht er es mir zwar so wie gewünscht aber es gibt probleme wenn ich daten in festplatte&laufwerk eintragen möchte....

fehlermeldung gleich nachdem ich den 1. eintrag gemacht habe und ich nu laufwerke eintragen möchte:

Die von ihnen vorgenommene änderungen an der tabelle konnten nicht vorgenommen werden, da der index, primärschlüssel oder beziehung mehrfach vorkommende werte enthalten würde. ändern sie die daten in den feldern, die gleiche daten enthalten, entfernen sie den index, oder definieren sie den index neu, damit doppelte einträge möglich sind, und versuchen sie es erneut

ich vergaß zu erwähnen, dass ich mit access xp arbeite

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von wichtel

Hay

also ich habe folgendes problem:

Report-------------Festplatten------------Laufwerk

---------------------------------------------------------

RechnerID--------HDD_ID---------------LaufwerkID <--- Primärschlüssel

CPU---------------Bezeichnung----------Bezeichnung

Mainboard--------Volumen--------------Buchstabe

--------------------RechnerID------------RechnerID <--- Fremdschlüssel

RAM

usw.

report.rechnerID 1:n festplatten.rechnerid

report.rechnerid 1:n laufwerk.rechnerid

Wie ihr seht habe ich RechnerID aus "report" mit den anderen beiden RechnerID verknüpft.

1:n & referentielle Integrität

Ich habe das so verknüpft weil man dann in der Formularansicht bei jedem Rechner unterschiedlich viele HDDs und Laufwerke angeben kann.

Das Problem ist dass er mir dass so nicht gibt... wenn ich es unter Formular - Datenblatt haben möchte einspaltig geht auch net wirklich

wenn ich report mit nur einer tabelle verknüpfe dann funktioniert es....

kann mir wer helfen?

p.s. nur grundkenntnisse

Ich glaube, daß du bei der zugehörigen SQL - Abfrage für den Report die Richtung des Join noch nicht angegeben hast. Einszustellen geht das ganze im Access (seit vielen Versionen :) )über rechte Maustaste auf der Verknüpfungslinie und dann : Alle Datensätze der Tabelle Rechner und nur die von den anderen zugehörigen ; einstellen. Das Ganze zweimal.

Original geschrieben von wichtel

Ergaenzung:

wenn ich

report.rechnerid 1:n mit festplatten.rechnerid

und

festplatten.hdd_id 1:n mit laufwerk.rechnerid

verknüpfe macht er es mir zwar so wie gewünscht aber es gibt probleme wenn ich daten in festplatte&laufwerk eintragen möchte....

fehlermeldung gleich nachdem ich den 1. eintrag gemacht habe und ich nu laufwerke eintragen möchte:

ich vergaß zu erwähnen, dass ich mit access xp arbeite

Mein Tip in diesem Fall wäre, daß in der Mastertabelle noch kein Datensatz mit dem zugehörigen Rechner gespeichert ist. Also erst in Report einen Rechner anlegen (und speichern), dann Festplatten zuordnen (und speichern), dann Laufwerke zuordnen (und speichern).

Sind deine Primärschlüssel als Autowert eingestellt, bzw. steht festgeschrieben, daß diese nicht doppelt vergeben werden dürfen? Ansonsten meckern MS - ACCESS auch rum.

PS: Rein logisch macht aber eine Zuordnung der Laufwerke zu Festplatten keinen Sinn, oder missverstehen wir uns da?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ja.. es ist unlogisch aber mit der methode hat es einigermaßen funktioniert... würde aber lieber die 1. methode nehmen! :)

so wie du es mir zur ersten methode erklärt hast, will es nicht funktionieren :(

er gibt mir im assistenten immer automatisch die einspaltige methode und das datenblatt ist leer....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Formular Datenherkunft --> Abfrageansicht;

Dort stehen deine drei Tabellen drin, inklussive der Verbindungen zwischen den Tabellen. Auf diesen Verknüpfungen mit der rechten Maustaste und dann Verknüpfungseigenschaften.

Dort entsprechend einstellen : Alles von Tabelle Report, und nur (Also nicht Punkt 1.) Du erhältst dann in der Abfrageansicht entsprechend einen kleinen Pfeil. Und in der SQL - Ansicht der Abfrageansicht hast du aus einem Join entsprechend einen LEFT JOIN bzw. RIGHT JOIN (je nach Verknüpfungsrichtung deiner Tabellen) gemacht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich habe das gemacht indem ich auf die verknüpfungslinie in den beziehungen gegangen bin - rechtsklick - verknüpfungstyp

habe es mit option 2 & 3 getestet und kein erfolg...

solange ich nur HDD dazu packe, funktionierts sobald ich aber laufwerke noch dazu packe ist es das selbe problem wie vor ein paar minuten auch schon

diese fehlermeldung kommt immer noch :/ hat die was zu sagen bzw. gibt sie euch hilfreiche tipps?

Die von ihnen vorgenommene änderungen an der tabelle konnten nicht vorgenommen werden, da der index, primärschlüssel oder beziehung mehrfach vorkommende werte enthalten würde. ändern sie die daten in den feldern, die gleiche daten enthalten, entfernen sie den index, oder definieren sie den index neu, damit doppelte einträge möglich sind, und versuchen sie es erneut

Link zu diesem Kommentar
Auf anderen Seiten teilen

jain

ich mache 4wochen praktikum und dann am 23.03 präsentation was ich im betrieb so gemacht habe....

habe allerdings auch nur ne schulische ausbildungs zum technischen informatikassistenten.... bzw. schliesse diese ausbildung im sommer ab.

was ich genau präsentieren soll weiß ich noch net ich weiß nur dass mein chef diese datenbank bis freitag + einträge benötigt.

p.s. in access hängen wir nen bisschen hinterher....

ich bin im formular und in der entwurfsansicht aber was soll ich markieren um in den eigenschaften die daenherkunft zu finden?

habe da schon ziemlich viel rumgeglickt aber nirgends datenherkunft gefunden außer vor 2postings aber da eher aus zufall :bimei

Link zu diesem Kommentar
Auf anderen Seiten teilen

wow... danke!!! das freut mich :)

ahhhh jetzt........ habs... ! :)

SELECT report.Host, report.Location, report.Betriebssystem, report.Datum, report.Zeit, report.Computername, report.[CPU Typ], report.Motherboard, report.Arbeitsspeicher, report.Grafikkarte, report.Monitor, report.[Primäre IP Adresse], report.[Primäre MAC Adresse], report.[OS Service Pack], report.[internet Explorer], report.Funktion, report.USV, report.[uSV - Typ], report.Datensicherung, report.Sicherungstyp, report.Notizen, report.Software, Festplatten.Bezeichnung AS Festplatten_Bezeichnung, Festplatten.[Raid Level], Festplatten.Gesamtvolumen, laufwerk.Bezeichnung AS laufwerk_Bezeichnung, laufwerk.Laufwerksbuchstabe, Netzwerk.Bezeichnung AS Netzwerk_Bezeichnung, Netzwerk.Datenrate, Netzwerk.Funktion_Memo

FROM ((report INNER JOIN Festplatten ON report.RechnerID = Festplatten.RechnerID) INNER JOIN laufwerk ON report.RechnerID = laufwerk.RechnerID) INNER JOIN Netzwerk ON report.RechnerID = Netzwerk.RechnerID;

da is nun noch ne 3. tabelle mit netzwerkkarte :rolleyes:

dann dürfte ich es soweit haben...

edit:

obwohl ich inner join in den beziehungen eingestellt habe, ist das im sql text nicht so 0_o

*rumtüftel*

Link zu diesem Kommentar
Auf anderen Seiten teilen

mir ist gerade aufgefallen, dass er diese fehlermeldung (text im zitat) auch sagt wenn ich keine tabellen miteinander verknüpfe, ein formular ohne assistent erstelle,nur die festplattentabelle erstelle und da mehr als 1 datensatz eintrage... :/ :eek: :eek: :beagolisc

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von wichtel

mir ist gerade aufgefallen, dass er diese fehlermeldung (text im zitat) auch sagt wenn ich keine tabellen miteinander verknüpfe, ein formular ohne assistent erstelle,nur die festplattentabelle erstelle und da mehr als 1 datensatz eintrage... :/ :eek: :eek: :beagolisc

Den Satz muß ich nicht verstehen?

Mach mal bei deinem SQL aus den 3mal "INNER" ein 3mal "LEFT" bei der FROM - Anweisung.

Wenns klappt, gibt es die Erklärung!:D

Link zu diesem Kommentar
Auf anderen Seiten teilen

zu früh gefreut :P

:( :( :(

ich habe jetzt die INNER in LEFT geändert.... dann halt ausrufezeichen... dann is er zurück in die formularansicht und da war dann alles grau

wenn ich ein dokument in der datenblatt ansicht erstellen möchte habe ich auch nach dem sql edit ein grauen background und das war es auch schon.....

es soll doch einfach nur so aussehen als hätte ich eine 1:n beziehung mit dem assistenten gemacht bloss mit 3 anstelle von einem unterformular..... :( :beagolisc

edit:

der von dir nciht verstandene text:

Die von ihnen vorgenommene änderungen an der tabelle konnten nicht vorgenommen werden, da der index, primärschlüssel oder beziehung mehrfach vorkommende werte enthalten würde. ändern sie die daten in den feldern, die gleiche daten enthalten, entfernen sie den index, oder definieren sie den index neu, damit doppelte einträge möglich sind, und versuchen sie es erneut

das sagt er mir selbst dann an wenn ich die hdd tabelle in formularansicht erstelle und ich dann mehr als 1-3datensätze eingebe....

Link zu diesem Kommentar
Auf anderen Seiten teilen

sooo

ich habe das zu hause nun auch mal getestet und das selbe problem....

ich habe die kleine db ma auf mein webspace geladen. die könnt ihr euch ja anschauen falls ihr wollt...

in formular "geht nicht" habe ich es so versucht wie bisher beschrieben und das ergebniss = grauer background

in formular "beispiel" habe ich es mal mit 2tabellen gemacht um zu zeigen wie es aussehen soll. die tabelle "laufwerke" & "netzwerkkarten" ebenfalls in so einem unterformular sein, wie es die tabelle "hdd" ist.

hat wer ne idee woran das nu liegn kann?

bin nu essn dann wieter tüfteln

edit:

achso ja.. *GGG*

die datenbank:

http://www.wichtelig.de/1/db1.mdb

:bimei :D :bimei

Link zu diesem Kommentar
Auf anderen Seiten teilen

wow =)

also einspaltig geht es schonma ich möchte es aber, wie gesagt, so wie im beispielformular haben.

dann kann ich auch nichts eintragen. der sagt dann irgendetwas mit... .... ah genau macht nur nen geräusch und eintragen kann ich nix :D

so mache mich nu rdy 4 arbeit

Link zu diesem Kommentar
Auf anderen Seiten teilen

Stell mal alle deine Primärschlüssel auf Autowert.

(In der Entwurfsansicht der Tabellen)

Die Fehlermeldungen beim Erzeugen neuer Datensätze kommen daher, das du für den neuen Datensatz einen schon existierenden Primärschlüsselwert benutzt.

Hat der Primärschlüssel den Typ Autowert, wird das automatisch verhindert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...