Neuigkeiten:

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

Mobiles Hauptmenü

Inhalt eines Feldes in eine anderes Feld übergeben

Begonnen von localman, August 31, 2016, 12:29:56

⏪ vorheriges - nächstes ⏩

localman

Hallo liebes Forum,
ich habe folgendes Problem:
in einem Formular "Bestellungen" habe ich ein Listenfeld. In dieses Listenfeld soll beim Click() der Inhalt eines Textfeldes aus einem Formular "Getränke" incl. eines Leerzeichens übergeben werden. Da ich nicht unbedingt ein Profi in Sachen Access 2013 oder VBA bin, hoffe ich auf Hilfe von Euch. Vielen Dank
Gruß
localman

el_gomero

Hallo localman,

was beinhaltet denn das Listenfeld? Evtl steht da schon die Info drin, die benötigt wird? Und wozu soll der Wert wohin übergeben werden? Meist lassen sich solche Anforderungen ohne Code ausführen.

Am besten du beschreibst, was die Aktion in dem Formular machen soll.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

localman

Hallo Jürgen,
vielen Dank für die schnelle Antwort.
Ich habe die Aufgabe eine Kasse zu programmieren.
Die beschriebene Aktion hat folgenden Hintergrund.
In einem Endlosformular werden z.B. alle Getränke aufgeführt die in der Tabelle Artikelstamm stehen.
Beim Click() auf ein Getränk soll dieses als Information in ein Textfeld oder Listenfeld übertragen werden damit der Bediener die Kontrolle hat, was er bis jetzt bestellt hat. Als Ereignis habe ich bei Click() schon erreicht, dass die Daten in der Tabelle Bestellung gespeichert werden.
Im Anhang sende ich Dir einen Screenshot des Formulars und den bisher von mir produzierten Codes.
Vielleicht ist es jetzt leichter zu verstehen was ich möchte.
Gruß
localman

MzKlMu

Hallo,
hast Du für jede der Zutaten eine eigene Tabelle ?

Mir scheint der grundsätzliche Aufbau der Tabellen schon verbesserungsbedürftig.

Zeige mal ein Bild des Beziehungsfensters.

PS:
Bilder helfen in der Regel eher weniger (vom Beziehungsbild abgesehen) und Code kopiert man immer als Text (mit Codetags) hier ins Forum. Von Bildern kann man für Verbesserungsvorschläge keinen Text kopieren.
Gruß Klaus

localman

Hallo Klaus,
vielen Dank für die Tipps.
Es gibt für die Zutaten nur eine Tabelle. in dieser Tabelle gibt es die Spalte Warengruppe. In dieser steht z.B. "Getränke"
Über die Eigenschaften des Formulars "Datensatzquelle" fülle ich mit einer Abfrage in der als Kriterium z.B. "Getränke" steht das Formular.
Gruß
localman

MzKlMu

#5
Hallo,
eine Bestellung betrifft einen Kunden und diese Bestellung kann mehrere Artikel enthalten.
Das ist richtig ?
Wenn ja, so fehlt noch eine Tabelle zur Aufnahme der Bestellungen.
Die Dateneingabe erfolgt mit einem Hauptformular (Bestellungen) und einem über die Schlüsselfelder verknüpftem Unterformular zur Erfassung der Bestellpositionen (Tabelle fehlt noch).
Die Artikel wählt man mit einem Kombifeld in dem Unterformular das man über die Warengruppe vorfiltert.

Wenn hier mit gebundenen Formularen gearbeitet wird, so ist dazu kein Buchstabe Code notwendig.

Zeige doch bitte mal ein Bild des Beziehungsfensters. Wobei ich hoffe, dass Du Beziehungen angelegt hast. Die sind das A+O und unerlässlisch. Beziehungen anlegen kommt gleich nach dem Anlegen der Tabellen.

Im Anhang noch ein einfaches Beispiel.
Es fehlen nur die Artikelgruppen.
Gruß Klaus

localman

Hallo Klaus,
ich denke ich habe mein Problem falsch beschrieben. Sorry.
Das Formular "Bestellung" ist einfach eine Kassenoberfläche. in diesem Formular werden alle Getränke, Speisen etc. des Resaurants (Speisekarte) angezeigt. Die Bedienung welche jetzt eine Bestellung des Gastes per Mausklick oder Touchscreen auswählt soll in einem separten Textfeld sehen, was sie schon ausgewählt hat. Nach jeden Eintrag in dieses Textfeld sollte wenn möglich eine neue Zeile erzeugt werden (CrLf).
Der Inhalt dieses Textfeldes wird dann in der Küche oder Bar ausgedruckt.
Der Name des Formulares ist unglücklich gewählt. Es handelt sich nicht um eine klassische Bestellvorgang mit Kundenbeziehungen etc.
Mein Problem ist lediglich den Inhalt des angeklickten Steuerelements aus dem Formular (z.B. Getränke) in das Textfeld des Formulars "Bestellung" zu übergeben.
Wenn Du mir eine Hilfe möglichst für VBA geben könntest bin ich schon im voraus dankbar.

Gruß
localman

Beaker s.a.

Hallo localman,
ZitatWenn Du mir eine Hilfe möglichst für VBA geben könntest bin ich schon im voraus dankbar.
Leider sieht man nicht von was nach wo geschrieben werden soll. Aber im Prinzip
Private Sub DeinQuellFeld_AfterUpdate()
    Me!DeinZielfeld.Value = Me!DeinQuellfeld.Value
'wenn es fortlaufend in das Zielfeld soll:
    Me!DeinZielfeld.Value = Me!DeinZielfeld.Value & vbcrlf & Me!DeinQuellfeld.Value
End Sub

Das explicite Speichern kannst du dir sparen, wenn das Zielfeld an das Tabellenfeld
(Rechnungstext, vermute ich) gebunden ist.
Wie oben gesagt, kann man den gewünschten/geplanten Ablauf der Anwendung
nicht wirklich erkennen. Man sieht keine Möglichkeit irgend einen Artikel auszuwählen,
nur ein Textfeld pro Ufo, das nach manueller Eingabe verlangt.
Wenn du uns, wie von Klaus schon gewünscht, einen Screenshot des Beziehungsfensters
zur Verfügung stellst, glaube ich, dass man da mit relativ wenig Aufwand eine komfortable
(schnelle) Eingabemaske zurechtstricken kann. Ich denke da z.B. an Listenfelder auf den UFo.

hth
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)

localman

Hallo Ekkehard,

zum besseren Verständnis im Anhang zwei PDF. Aus diesen kann man ersehen wie das Formular aussieht und welche Daten von wo nach wo hin sollen.
Danke an das Forum für die doch schnelle Hilfe.
Gruß
localman

Beaker s.a.

#9
Hallo,
Dann so:
Private Sub DeinQuellFeld_Click()
    Me.Parent!DeinZielfeld.Value = Me.Parent!DeinZielfeld.Value & vbcrlf & Me!DeinQuellfeld.Value
End Sub


gruss ekkehard

Edit:
Ganz vergessen. Macht allerdings alles keinen Sinn; - wie willst du die
Bestellung denn später weiterverabeiten? Muss doch irgendwann ein
Kassenbeleg erstellt werden. Gibst du dann alle Positionen noch mal
neu ein?
Und noch das Ereignis richtig gestellt.
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)

MzKlMu

Gruß Klaus