Access Daten abfragen

Liebe/-r Experte/-in,
Ich habe zwei Tabellen

  1. Tabelle
    Bauteile: name, nummer, wert, preis, usw.

ich will in einem formular in ein textfeld z.b.: die Bauteilnummer eintragen und wenn ich das textfeld verlasse soll der datensatz in dem entsprechenden textfeldern angezeigt werden.

ich habe hinbekommen das ich die nummer mit einem kombinationsfeld aufrufe und eine spalte in einem textfeld anzeige.
ich habe aber 4 bis 5 spalten also bräuchte ich 4-5 textfelder.
kann mir jemand helfen??
mfg
Markus

Hallo Markus,
also erstens hast Du die zweite Tabelle vergessene zu erwähnen, aber davon ungeachtet ist die Antwort recht einfach.
In dem bestehenden Formular wählst Du ein neues Kombifeld aus. Im nun sich öffnenden Kombinationsfeld-Assistent wähltst Du ‚Einen Datensatz basierend auf…‘ aus.
Im nächsten Dialog wählst Du ‚Nummer‘ aus (jenes Feld nach dem Du suchen willst)
weiter … weiter …
und schon ist alles wie gewünscht … denke ich.

lG Robert

Hallo Markus,

ich verstehe deine Anfrage nicht so genau. Willst du in dem Kombinationsfeld mehrere Spalten anzeigen und darauf zugreifen, das funktioniert mit der .column() Eigenschaft.
Ansonsten kannst du auch die db schicken und ich schau mir das an [email protected]

Hallo Markus,

mit etwas VBA ist das locker lösbar - schau mal im Internet unter DAO bzw. ADO Datenzugriff oder der Funktion (ggf. ohne VBA) DLookup(). Hier gibt die Hilfe von Acces auch eine brauchbare Lösung. Ein oder zwei Bücher wäre in dem Zusammenhang auch nicht schlecht - Ralf Albrecht und Natscha Nicol kann ich empfehlen (Einstieg) - suche zur Literatur auch mal in Amazon oder ähnlichem mit Bewertung.

LG Thomas

Liebe/-r Experte/-in,
Ich habe zwei Tabellen

  1. Tabelle
    Bauteile: name, nummer, wert, preis, usw.

Und wie sieht die zweite aus?

ich will in einem formular in ein textfeld z.b.: die
Bauteilnummer eintragen und wenn ich das textfeld verlasse
soll der datensatz in dem entsprechenden textfeldern angezeigt
werden.

ich habe hinbekommen das ich die nummer mit einem
kombinationsfeld aufrufe und eine spalte in einem textfeld
anzeige.
ich habe aber 4 bis 5 spalten also bräuchte ich 4-5
textfelder.

Das sieht für mich nach einem Formular aus, in dem Du suchen möchtest.
Erstelle also ein Formular mit der entsprechenden Datenquelle. Das kannst Du als Endlosformular oder in der Einzelansicht machen.
Im After_Update Ereignis des Kombifeldes setzt du dann den Filter entsprechend:

Me.Filter=„Feldname=“ & me.Kombifeld.value für numerische Werte oder
Me.Filter=„Feldname=’“ & me.Kombifeld.value & „’“ für alphanumerische Werte.
Me.FilterOn=True
Me.Requery

Gruß
Vincenz

Hallo Markus,
ich fürchte, ich habe deine Anfrage nicht ganz verstanden. Du gibst also in einem Formular bestimmte Attribute mittels Textfeld für einen Bauteil ein. Soweit so klar. Diese Attribute sollen nun im gleichen Formular (oder in einem anderen Formular? - würde für mich mehr Sinn machen)als Bezeichnungsfeld angezeigt werden, oder willst du in einer Combo-Box oder List-Box die Details zum Bauteil nur mitanzeigen?
Wenn du mir das Problem oder besser gesagt das Ziel genauer spezifizierst kann ich dir sicher weiterhelfen.

lg
Robert

Hallo,

  1. Tabelle
    Bauteile: name, nummer, wert, preis, usw.

Name „name“ unbedingt VERMEIDEN --> „Bezeichnung“

ich will in einem formular in ein textfeld z.b.: die
Bauteilnummer eintragen und wenn ich das textfeld verlasse
soll der datensatz in dem entsprechenden textfeldern angezeigt
werden.

ich habe hinbekommen das ich die nummer mit einem
kombinationsfeld aufrufe und eine spalte in einem textfeld
anzeige.
ich habe aber 4 bis 5 spalten also bräuchte ich 4-5
textfelder.
kann mir jemand helfen??

klar…

Erstell zunächst ein normales Einzelform mit dem Assistenten. Aktiviere den Formularkopf und füge dort ein Kombifeld ein. (Mit dem Kombi ist eine komfortable Auswahl möglich).

Das Kombi („cmbSuchen“) erhält folgende Eigenschaften-Einstellungen:

Steuerelementinhalt: leer
Gebundene Spalte: 1
Spaltenanzahl: 2
Spaltenbreiten: 3cm;5cm
Harkunftstyp: Tabelle/Abfrage
Datensatzherkunft: select Nummer, Bezeichnung from tblTabelle1 order by Bezeichnung

und folgende Ereignisprozedur „Nach Aktualisierung“:

Sub cmbSuchen_ Afterupdate()
Me.Filter = „Nummer=’“ & Me!cmbSuchen & „’“ ’ falls Nummer Text ist.
'Me.Filter = „Nummer=“ & Me!cmbSuchen 'falls nummer Zahl, Long ist
Me.FilterOn=true
End Sub

Viele Grüße vom Bodensee
Franz , DF6GL

PS: Feedback erwünscht!

mfg
Markus

Hallo,

also wenn ich dich richtig verstehe, möchtest du folgendes:

Oben in einem Feld - nennen wir es mal „Suche/Suchfeld“ z.b. Nummer eingeben und dann soll unten der "Artikel samt seinen Daten erscheinen???!!

Dies könnte man dann über VBA programmieren - ist aber nicht mal eben so gemacht, aber dafür auch nicht hochgradig schwer :wink:

Habe auch iwo noch selbst ein Beispiel dazu - müsste ich aber suchen…

Gruß

Liebe/-r Experte/-in,
Ich habe zwei Tabellen

  1. Tabelle
    Bauteile: name, nummer, wert, preis, usw.

ich will in einem formular in ein textfeld z.b.: die
Bauteilnummer eintragen und wenn ich das textfeld verlasse
soll der datensatz in dem entsprechenden textfeldern angezeigt
werden.


kann mir jemand helfen??
mfg
Markus

hALLO mARCUS;

WARUM NIMMST DU NICHT DEN BAUTEILE/satz in einem unterformular auf. sobald du dann die bauteilenummer angibst, springt er in das unterformular und da können dann auch mehr als 5 testfelder erscheinen.

Hallo Markus,

sorry, daß ich mich jetzt erst melde. Bin leider nicht eher dazu gekommen.

Ich gehe mal davon aus, daß Du bisher noch nicht viel mit Access gemacht hast.

Da ich alles per VBA-Code in den Formularen oder Berichten direkt programmiere, kann ich Dir leider nicht so wirklich weiterhelfen.

Ich habe mich bei Access noch nie mit den Makros oder eingebauten Assistenten beschäftigt.

Aber vielleicht hilft Dir ja folgendes weiter:
Wenn Du Dir die Eigenschaften des Textelementes in der Entwurfsansicht anzeigen läßt, kannst Du in dem Reiter „Ereignisse“ aktivitäten festlegen, die bei den entsprechenden Ereignissen eintreten sollen.
Für Dich ist das Ereigniss „Nach Aktualisierung“ am interessantesten. Wähle diese aus und klick mal auf die 3 Punkte neben dem Feld. Hier solltest Du dann mal schauen, ob Du im Bereich Makros etwas passendes findest, was Dir weiter helfen könnte.

Gruß
Ingo

Hi,

hinterlege dem Kombinationsfeld eine Abfrage, die in der ersten Spalte eine Identifikation (z.B. Bauteilnummer oder Datensatznummer) und in der zweiten Spalte das anzuzeigende Feld stehen hat.

Stelle die Breite der ersten Spalte auf 0. Dann wird nur die 2. Spalte angezeigt.

Setzt das Ereignis „Beim Verlassen“ auf eine Routine, die Dir in alle anderen Kombinationsfelder (die genau so aufgebaut sind) als Wert den neuen ID-Wert einträgt.

Ich hoffe, geholfen zu hgaben.
Jochen