Neuigkeiten:

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

Mobiles Hauptmenü

Mit Wert aus Kombinationsfeld Datensatz in Formular wählen (ACCESS 2003)

Begonnen von neutrino, Januar 22, 2016, 21:59:35

⏪ vorheriges - nächstes ⏩

neutrino

Hallo Experten,
In meinem Formular "Umsatzübersicht" kann ich entweder alle Kunden meines Gebietes auflisten oder per Schaltfläche nach den Städten in meinem Gebiet selektieren. Derzeit ist dies wie folgt gelöst:
Eine Schaltfläche beinhaltet folgenden Code:
Private Sub Befehl49_Click()
Bezeichnungsfeld42.Caption = "Ort"
Me.RecordSource = "SF Auswertung Ort"
End Sub

Die Abfrage "SF Auswertung Ort" beinhaltet das Kriterium
Wie ("*" & [Bitte Ort oder Namensfragment eingeben:] & "*")
bezogen auf den Wert Ort.
Dies klappt gut, nur muß ich hier immer den Ort in das Abfragefenster eintippen.
Habe versucht, ein Kombinationsfeld in das Formular einzusetzen. Bin soweit gekommen, dass ich die die in der Tabelle vorhandenen Städte im Kombinationsfeld anwählen kann. Habe dabei die Option
"Einen Datensatz im Formular basierend auf den im Kombinationsfeld gewählten Wert suchen" verwendet.
Es gelingt mir aber nicht, damit den Ort im Formular zu setzen. Würde mich über Euren Tipp freuen !

Danke und Gruß
Neutrino

MzKlMu

Hallo,
zeige den zum Suchen erzeugten Code.

Sollte eigentlich gleich eine Selbstverständlichkeit sein.
Gruß Klaus

neutrino

Guten Morgen,
meinst Du den Code aus dem Kombinationsfeld ? Der lautet wie folgt:
Private Sub Kombinationsfeld138_AfterUpdate()
    ' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
    rs.FindFirst "[Ort] = '" & Me![Kombinationsfeld138] & "'"
    If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub

Ich kann im Kombinationsfeld auch den entsprechenden Ort anwählen, schaffe es aber nicht, den Datensatz damit umzuschalten.
Gruß
Neutrino

MzKlMu

Hallo,
bitte nenne folgende Eigenschaften des Kombis:

Gebundene Spalte
Datenherkunft (Select ....)
Spaltenzahl
Spaltenbreiten

PS:
Benenne die Steuerelemente sinnvoll, in 2 Wochen weißt Du nicht mehr was Kombinationsfeld138 war. Und mache es gleich, Du wirst es sonst bereuen.
Gruß Klaus

neutrino

Moin,
das alles sagt mir nichts, bin Laie... Die beschrieben Methode in meiner Eingangserklärung zeigt, wie es aktuell funktioniert. Hier gebe ich den Ort in das Suchfeld ein, damit werden dann die Datensätze gefiltert. Genau dies möchte ich mit dem im Kombinationsfeld selektierten Ort erreichen.
Gruß
neutrino


DF6GL

Hallo,

dann solltest Du Dich schleunigst in die Grundlagen von Access und z. T. auch in VBA einlesen...

Es nützt niemanden etwas, wenn Du die einfachsten Fragen nicht beantworten kannst, bzw. verstehst.

Ich wundert mich, wie Du überhaupt an den VBA-Code kommst.

Jedes Steuerelement hat Eigenschaften, die Du in der Entwurfsansicht nach Markieren des St.-El. unter Menü (Ribbon)Punkt  "Eigenschaften" ansehen kannst.

Dort gibt es für das  Kombifeld die vorher gefragten Eigenschaften und Angaben.  Die brauchst Du nun lediglich abschreiben (kopieren) und hier posten.




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

neutrino

Hallo,
dafür, dass ich wenig von Programmierung verstehe, habe ich dennoch eine sehr leistungsfähige Datenbank, die über min 10 Jahre immer besser wurde und absolut zuverlässig läuft. Vieles kam hierzu aus solchen Foren, früher Spotlight.

Eigenschaften Kombifeld siehe Anhang

Gruß
neutrino

DF6GL

Hallo,

naja, dann habe ich Dir wohl in Spotlight zu seiner Zeit das Gleiche geraten    8) ;)

Dein Code sollte eigentlich funktionieren, sofern der Formular-Recordset  nicht durch eine Abfrage (Recordsource)  vor gefiltert ist.

Versuch mal alternativ:

Private Sub Kombinationsfeld138_AfterUpdate()
  Me.Recordsource = "Select * from tblDeineTabelle Where [Ort] = '" & Me![Kombinationsfeld138].Column(0) & "'"
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

neutrino

Hallo Franz,
ja stimmt, glaube ich kann mich an Dich erinnern, ist aber schon länger her. Das schöne ist doch, dass man mit Hilfe von Foren und etwas Ehrgeiz auch als Laie tolle Lösungen finden kann.
Dein Tipp hat funktioniert Daaanke!
Jetzt habe ich nur noch 2 kleine Problemchen.
1.) Im Kombifeld erscheinen nun manche Orte doppelt und dreifach, obwohl gleich geschrieben. Oder sollte man lieber eine separate Tabelle mit den Ortsnamen anlegen ?
2.) Wie kann ich erreichen, dass ich auch alle Orte angezeigt bekommen kann. Einen Datensatz mit * anlegen ?

Danke und Gruß
Neutrino

DF6GL

Hallo,

es kommt halt ganz drauf an, was insgesamt denn gemacht werden soll. Ich nehme an, dass es sich bei "SF Auswertung Gesamt" um eine Abfrage handelt, die für einen Bericht verwendet werden soll.

Eine separate Tabelle nur für "Orte" ist m. E. nicht nötig.

Das Ausblenden von Duplikaten wird mit z. B. "Distinct" in der Select-Liste erreicht:

Select Distinct Ort from [SF Auswertung Gesamt] order by Ort

oder auch mittels Gruppierung der DS:

Select  Ort from [SF Auswertung Gesamt] Group By Ort

Wenn ein "Alle" - Eintrag (Sternchen)  im Kombifeld für die Filterung  aller DS gebraucht wird, könnte das so gelöst werden:

Datensatzherkunft des Kombis:

Select "*" as Ort from [SF Auswertung Gesamt] order by Ort
Union
Select Distinct Ort from [SF Auswertung Gesamt] order by Ort



und Anpassen des Codes:

Private Sub Kombinationsfeld138_AfterUpdate()
  Me.Recordsource = "Select * from tblDeineTabelle Where [Ort] [color=red]Like[/color] '" & Me![Kombinationsfeld138].Column(0) & "'"
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

neutrino


neutrino

Hallo Franz,
bekomme den Distinct Befehl nicht hin, damit keine doppelten Ortsnamen angezeigt werden. Derzeit lautet meine Ereignisprozedur des Kombifeldes:

Private Sub Kombinationsfeld138_AfterUpdate()
  Me.RecordSource = "Select * from [SF Auswertung Gesamt] Where [Ort] Like '" & Me![Kombinationsfeld138].Column(0) & "'"
End Sub


Wie genau wird nun dieser Distinct Befehl eingefügt ?

Nachtrag:
Die Datensatzherkunft habe ich wie angegeben geändert in

Select "*" as Ort from [SF Auswertung Gesamt] order by Ort
Union
Select Distinct Ort from [SF Auswertung Gesamt] order by Ort


Das Sternchen funktioniert, aber es werden im Pulldownmenü nach wie vor alle Städte mehrfach angezeigt.

Nochmals Danke und Gruß
Neutrino

neutrino

ERLEDIGT, hatte mich im Code vertippt.

Alles bestens DANKE !!!!!