Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Formular aus mehreren Tabellen

Begonnen von starbug08, Dezember 13, 2011, 14:58:45

⏪ vorheriges - nächstes ⏩

starbug08


Hallo,

ich habe eine Artikel Tabelle mit ArtikelNr. und Beschreibung. Desweiteren
habe ich Informationen zu den Tabellen in weitere Tabellen
ausgelagert und diese dann mit der ArtikelNr. verbunden ( 1:n).
Wie kann ich nun ein Formular erstellen in welches ich nur die
ArtikelNr eingebe und mir dann alle gewünschten Informationen
angezeigt werden, aber in Textfeldern und nicht als
Unterformular?

DF6GL

Hallo,

bist Du sicher, sowas zu wollen??


Erstell eine Abfrage über alle Tabellen, weise die der Datenherkunft eines Forms zu und ziehe alle gewünschten Felder aus der Feldliste in den Detailbereich des Forms...  (Oder erstell das Form mit dem Assistenten).

Das Suchen bleibt identisch zu einer HF/UFO-Konstruktion, z.B. mit Eingabe in ein ungebundenes Textfeld ("txtSuchen")  im Formularkopf:


Sub txtSuchen_Afterupdate()
Me.Filter ="ArtikelNr Like '*" & Me!TxtSuchen & "*'"   'falls die ArtikelNr den Datentyp TEXT besitzt.
Me.FilterOn=true
End Sub


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

starbug08

#2
Hallo,

so habe ich mir das auch irgendwie gedacht aber es gibt schon
Probleme bei der Abfrage und zwar folgende: Kleines Beispiel:
Ich habe in der Artikel Tabelle 70 Artikel. Dann hole ich mir im
Entwurfsfenster für Abfragen eine weitere Tabelle hinzu. Die beiden
Tabellen sind nun mit der ArtikelNr. 1:n verknüpft. Führe ich die Abfrage
durch bekomme ich als Ergebnis auch 70 Artikel mit weiteren Details angezeigt.
Sobald ich aber eine neue Tabelle hinufüge und diese auch mit der Artikel Nr
verbinde (wieder 1:n), dann erhalte ich als Ergebnis 101 Artikel mit Details,
manche Artikelnummern werden also doppelt angezeigt. Was muss ich da ändern?


Habe hier mal nen Screenshot der Tabellen






[Anhang gelöscht durch Administrator]

DF6GL

Hallo,

ZitatWas muss ich da ändern?



Diese Forderung aufgeben:

Zitat
Wie kann ich nun ein Formular erstellen in welches ich nur die
ArtikelNr eingebe und mir dann alle gewünschten Informationen
angezeigt werden, aber in Textfeldern und nicht als
Unterformular?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

starbug08


Hallo,

ZitatErstell eine Abfrage über alle Tabellen, weise die der Datenherkunft eines Forms zu und ziehe alle gewünschten Felder aus der Feldliste in den Detailbereich des Forms...  (Oder erstell das Form mit dem Assistenten).

Kannst du mir sagen wie das mache, also Datenherkunft eines Forms zuweisen? Mit dem Assistenten habe ich das schon gemacht würde aber auch gerne wissen wie man es anders lösen kann.

Ach und noch eine Frage: Ich könnte ja auch mehrere Abfragen und diese dann einem Feld in einem Registriersteuerelement zuweisen oder?

DF6GL

Hallo,


In die Form-Eigenschaft "Datenherkunft" den Namen der Tabelle, bzw. Abfrage schreiben oder wenn keine Abfrage existeiert, auf die rechts stehenden 3 Pünktchen klicken und die Abfrage im aufpoppende Abfrageentwurf zusammenstellen.

--(Das ist aber nur der Vorgang zur Erstellung der Abfrage für die Datenherkunft, wobei dann die von Dir beobachtete Situation auftaucht  und vor der ich Dich anfänglich versucht habe zu warnen)

--Nein. Man kann keinem (Formular-) Textfeld eine Abfrage zuordnen. Das geht nur in Listen-/Kombifeldern ( und bestimmten anderen) in deren Eigenschaft "Datensatzherkunft". Ein Register-St.-Element spielt dabei gar keine Rolle.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

Beaker s.a.

Hallo starbug,

Warum willst Du denn keine UFo?
Damit hast Du die wenigsten Probleme viele (zusammengehörige) Daten gleichzeitig anzuzeigen.

ZitatIch könnte ja auch mehrere Abfragen und diese dann einem Feld in einem Registriersteuerelement zuweisen oder?

Feld nicht, siehe Franz' Hinweise (alle).
Mit mehr oder weniger viel Code, geht es aber auch mit Registerkarten.
Etwa so:
Jeweils eine Abfrage mit der tblArtikel und einer n-Tabelle
pro Abfrage eine Registerkarte mit den Feldern der Abfrage
dann musst Du auf den Wechsel der Register (Register_Change) reagieren, und die RecordSource des Forms entsprechend auf die zugehörige Abfrage einstellen.
Halte das aber für ziemlichen Murks (hab's selber schon mal ausprobiert).

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)