Neuigkeiten:

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

Mobiles Hauptmenü

Abfrage in Formular ausgeben

Begonnen von cd_com, November 26, 2011, 22:50:00

⏪ vorheriges - nächstes ⏩

cd_com

Hallo Leute.
Hab ewig nix mehr mit Access gemacht...und das ist mein Problem.
Habe eine Tabeller mit gemischten Daten, Text und Zahlen..
Hierfür hab ich eine Abfrage gebastelt, welche auch funktioniert->Anzeige in Tabellenform.

Nun hab ich vor Jahren mal was ähnliches gemacht, da starte ich ein Formular welches auf eine Abfrage zugreifft, also gebe ich die entsprechende Suchbegriffe ein und in dem Formular erscheinen die restlichen Daten zum abgefragten Begriff/Zahl.

Soweit so gut. Das bring ich nichtmehr hin. Abrage funktioniert, nur wenn ich mir ein Formulag baue, wird wohl der Begriff/Zahl abgefragt, welcher auch nach eingabe richtig gefunden wird, leider sind die restlichen Datendazu nicht richtig, es werden immer die Daten aus der ersten Tabellenzeile angezeigt...verzweifle langsam, was mach ich falsch?

Die Abfrage funktioniert. Beim Formular erstellen wähle ich Listenfeld und die entsprechende Abfrage aus, für die restlichen Daten die Felder aus der Tabelle...nur klappt das nicht
Mist, das konnte ich mal.

Wer kann mit meinen Angaben was anfangen und mir helfen...bitttebitte.

Gruß Jens

MzKlMu

Hallo,
ZitatBeim Formular erstellen wähle ich Listenfeld und die entsprechende Abfrage aus, für die restlichen Daten die Felder aus der Tabelle...nur klappt das nicht
Die Datenherkunft des Formulars muss die Abfrage sein und nicht die Tabelle.
Was willst Du mit dem Listenfeld?
Gruß Klaus

cd_com

Hallo und danke für Deine schnelle Antwort.

Wie bring ich die Abfrage mit dem Formular in einklang?

Hast Du evtl ein Tip für mich.

Gruß Jens

MzKlMu

Hallo,
das Formular hat doch eine Datenherkunft und dort wird die Abfrage ausgewählt.
Gruß Klaus

cd_com

Hallo.

Das hab ich schon verstanden, nur möchte ich einzelne Felder mit dem Inhalt der Abrage im Formular haben um diese schön zu positionieren.

Also, ich habe eine Tabelle mit Gerätedate: Seriennummer, Gerät, Kundenname, Adresse....... Die Abfrage sucht das Gerät nach seriennummer. Das funktioniert soweit, Anzeige in Tabellenform mit entsprechenden Geätedaten.
Nun hatte ich vor, das ganze mit einem Formular zu machen, um mir die Gerätedaten in einzelnen Feldern anzuzeigen. Hintergrund dieser Anzeige, ist die weiterverarbeitung der angezeigten Daten.

Also, ich öffne ein leeres Formular im Entwurfsmodus. Dann hole ich mir ein Listenfeld und plaziere dieses. Im aufgehenden Listenfeld Assistenten bleibt "Das Listenfeld soll die Werte einer Tabelle oder abfrage entnehmen" markiert->Weiter Abfrage markiert und Abfrage ausgewählt->Weiter Seriennummer ins rechte Feld gebracht (nur Seriennummer, da ich sonst eine fixierte Tabellenspalte erhalte)->Weiter sortiert wird nix->Weiter Spaltenbreite lass ich mal stehen->Weiter Markierung "Zur späteren Verwendung zwischenspeichern" lass ich mal stehen->Weiter Beschriftung im Listenfeld soll Seriennummer sein->Fertig stellen...so, jetzt hab ich ein Formular das mir die Abfrage öffnet und eine Seriennummer, die abgefragt wurde, anzeigt.
Wie bekomme ich jetzt weitere Felder in mein Formular, die den Rest der Daten beinhalten, Kunde, Kundenadresse usw.

Nehme ich im Entwurfsmodus aus der Feldliste die Felder, bekomme ich immer die erste Zeile meiner Tabelle eingeblendet...also nicht aus der Abfrage

Wie bekomme ich einzel, im Entwurfsmodus frei plazierbare, Felder mit meinen Restdatenaus der Abfrage ins Formular.

Gruß Jens

DF6GL

#5
Hallo,

vermutlich verkomplizierst Du das Ganze unnötig.


Wenn Du die Felder der Abfrage (Warum Abfrage? Um später Datensätze zu suchen, benutzt man keine Abfrage mit Parameterfeldern) als separate Textfelder im Formular erhalten willst, dann starte den Formularassistenten, biete ihm die Tabelle (oder die Abfrage ohne Parameter!) an und definiere den Typ des Formulares (Einzelform oder Endlosform--> tabellarisch) . In nullkommanix hast Du ein Form , mit dem Du alle Datensätze anzeigen und deren Feldinhalten ändern und auch löschen, bzw. hinzufügen kannst.


Im Formentwurf steht es Dir dann frei, die Felder nach Belieben zu Positionieren (unter Berücksichtigung der Eigenheiten der verschiedenen Bereiche, d. h. Felder mit Inhalt aus den einzelnen Datensätzen zeigen   nur im Detailbereich ohne weiteres Zutun die Werte richtig an)

Ein (Access-)Listenfeld ist ein "eigenständiges" Daten(satz)-Anzeigefeld (hat eine eigene Daten(satz)herkunft, kann nicht editiert werden) und ist in diesem Zusammenhang vermutlich nicht sinnvoll.

Wie man eine Suchfunktionalität einbaut, kannst Du in einer Beispieldatei bei DBWIKI (siehe u. st. Link) unter Beispieldatenbanken/Suchen nachsehen.


Allerdings möchte ich noch darauf hinweisen, dass vor der Erstellung von Formularen der Tabelleaufbau kritisch in Bezug auf Normalisierungsregeln  untersucht werden sollte.

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

MzKlMu

Hallo,
wenn das Formular an die Abfrage gebunden ist, enthält die Feldliste die Felder der Abfrage und nicht die der Tabelle.
Da siehst Du keinen Unterschied. Die Feldnamen sind ja gleich.

Und noch ein Hinweis, die Abfrage darf nicht gefiltert sein, sondern muss alle Geräte anzeigen.
Gruß Klaus

cd_com

@MzKlMu

Danke für die Hilfe, aber wie binde ich ein Feld an die Abfrage, und wie kann ich die Filterung der Abfrage ausstellen?

Gruß J

MzKlMu

Hallo,
ZitatDanke für die Hilfe, aber wie binde ich ein Feld an die Abfrage,
Das Formular muss an die Abfrage gebunden sein, nicht das Feld. Wenn das Formular an die Abfrage gebunden ist, stehen in der Feldliste nur Felder der Abfrage.
Warum machst Du nicht mal wie von Franz vorgeschalgen ein Formular mit dem Assi und wählst die Abfrage bzw. die Tabelle direkt.
Das Listenfeld hat ja mit der Datenherkunft des Formulars nichts zu tun.

Zitatwie kann ich die Filterung der Abfrage ausstellen
Die Abfrage darf keine Kriterium enthlaten.
Ob Du dann überhaupt eine Abfrage brauchst, ist auch noch nicht raus.

PS:
Das sind hier absolute Basics zu Access, die man unbedingt wissen sollte. Es ist schwer und aufwändig das in allen Einzelheiten zu beschreiben.
Gruß Klaus