Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Werte per Kombinationsfeld führen zur doppelten Datensätzen in einer Tabelle

Begonnen von beck11, April 07, 2016, 16:45:38

⏪ vorheriges - nächstes ⏩

beck11

Hallo Kollegen,

ich habe eine Frage an Euch und zwar habe ich ein Kombinationsfeld anhand der Abfrage entwickelt. Die Abfrage beruht auf den Werte aus einer anderen Tabelle.
Mein Kombinationsfeld habe ich in ein Formular gepackt, in meinem Formular habe ich mein Kombinationsfeld mit dem Ereignis: Nach Aktualisierung vorgesehen.

Alles funktioniert super, ich kann die Werte aus Kombinationsfeld auswählen und direkt in die Tabelle speichern.

Problem: Mein Kombinationsfeld zeigt die Werte, die ich selektiere und speichere, dadurch hat meine Tabelle auch die doppelten Datensätze.

Wie kann ich mein Kombinationsfeld so einstellen, dass ich ein Werte selektiere und speichere, und dieser Wert nicht mehr in diesem Kombinationsfeld erscheint.

Vielen Dank
Beck

MzKlMu

Hallo,
da gibt es keine Einstellung dazu. Du machst was falsch. Ein Kombi speichert immer nur einen Datensatz. Da braucht es auch kein Ereignis.
Kann es sein, dass Du ein gebundenes Formular hast und mit Insert zusätzlich  speicherst ?
Hat das Kombi einen Steuerelementinhalt ?
Was gibt es für Code "Nach Aktualisierung" ?
Gruß Klaus

beck11

Hallo Klaus:

Code für Kombinationsfeld sieht so aus:

Private Sub cmbLand_AfterUpdate()
    txtLand = cmbLand.Column(0)
    txtUmsatz = cmbLand.Column(1)
    txtStatus = cmbLand.Column(2)
End Sub

Ich nehme mittels der Abfrage die Daten aus einer anderen Tabelle  und die Abfrage benutze ich als Grundlage für Kombinationsfeld, so dass ich aus Kombinationsfeld einen Datensatz auswähle und dann in die andere Tabelle speichere.

Hast du eine Idee?

Vielen Dank
Beck

beck11

Hallo Klaus,

ich wollte die Situation ein wenig genauer beschreiben:
Ich habe 2 Tabellen: eine Tabelle enthält 2 Spalten: Land und Umsatz, und die zweite Tabelle soll auch 2 Spalten enthalten: Land und Umsatz (wo der Umsatz summiert wird: ungefähr so : USA = 120, USA =100). Ich mache dann die Abfrage anhand der ersten Tabelle, und summiere per SQL in der Abfrage den Umsatz, so dass ich dann in der Abfrage 2 Spalten habe: Land und Umsatz(summiert: USA = 220), diese Abfrage benutze ich dann für mein Kombinationsfeld, mit dessen Hilfe ich dann die Daten in die zweite Tabelle übertrage und speichere.

Oder hast du eine andere Idee, wie man dieses Problem oder Situation lösen kann.

Vielen Dank
Beck

Beaker s.a.

Hallo Beck,
Weise dem Kombi zu einem passenden Zeitpunkt (z.B. nach dem Speichern) eine neue RowSource zu (Luftcode):
SELECT T.Land, T.Total, T.Status
FROM Tabelle AS T
WHERE T.Land NOT IN
    (SELECT L.Land FROM Laender AS L)

(T und L können auch Abfragen sein)

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)

Beaker s.a.

ZitatWeise dem Kombi zu einem passenden Zeitpunkt (z.B. nach dem Speichern) eine neue RowSource zu
Quatsch! Die RowSource kannst Du natürlich fest im Kombi eintragen, musst zum passenden Zeitraum nur ein Requery anstossen.
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)

beck11

Hallo Ekkehard,

Vielen Dank für deinen Feedback, kannst du bitte deine Vorgehensweise in SQL-form anzeigen.

Vielen Dank
Beck

MzKlMu

Hallo,
das übertragen der summierten Werte in eine 2. Tabelle ist doch ersatzlos überflüssig. Du kannst doch zu jedem beliebigen Zeitpunkt ein Abfrage mit den Summen je Land erstellen.
Wozu die Werte in einem Listenfeld zur Auswahl darstellen und auch noch in er weiteren Tabelle zu speichern.

Ich fürchte, Du machst da Sachen, die man in einer DB nicht braucht.
Gruß Klaus

beck11

Danke Klaus,

wenn es keinen Sinn macht, so was im Access zu machen, dann werde ich umdenken.

Vielen Dank
Beck

MzKlMu

Hallo,
Zitatwenn es keinen Sinn macht, so was im Access zu machen,
das habe ich aber mit keinem Wort geschrieben, oder wo liest Du das . Natürlich ?kannst Du da Access verwenden.
Nur das Speichern in einer 2. Tabelle halte ich für überflüssig.
Gruß Klaus

beck11

Hallo Klaus,

"das übertragen der summierten Werte in eine 2. Tabelle ist doch ersatzlos überflüssig" diesen Punkt werde ich umdenken.

Wie würdest du dieses Problem lösen?

Vielen Dank
Beck

MzKlMu

Hallo,
habe ich doch auch geschrieben.
ZitatDu kannst doch zu jedem beliebigen Zeitpunkt ein Abfrage mit den Summen je Land erstellen.
da braucht es kein Listenfeld und keine 2. Tabelle.
Und das wäre die Abfrage die Du für das Listenfeld hast, warum sollen diese summierten Werte noch in eine extra Tabelle ?
Gruß Klaus

beck11

Hallo Klaus,

Du hast Recht, ich brauche keine 2 Tabelle, wo ich summierte Werte speichere.
All das kann ich mit der Abfrage erledigen.
Meine Frage ist nur: Kann ich die Werte aus Abfrage in einer anderen Tabelle speichern. ist es möglich? Ich weiß nicht, ob so was geht, deswegen frage ich.

Vielen Dank
beck

p.s: Deutsch ist nicht meine Muttersprache

MzKlMu

Hallo,
wozu eine weitere Tabelle, Du hast doch die Abfrage, die ist zu einer Tabelle gleichwertig. Eine Abfrage ist von der Verwendung her mit einer Tabelle gleich zu setzen.

ZitatDeutsch ist nicht meine Muttersprache
hatte ich mir schon gedacht. Ist auch kein Problem, Dein Deutsch ist ja durchaus brauchbar.  ;D ;D
Gruß Klaus