Neuigkeiten:

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

Mobiles Hauptmenü

Kombi im UFo aktualisieren

Begonnen von castor1, September 14, 2015, 12:00:14

⏪ vorheriges - nächstes ⏩

castor1

Hallo,

habe in einem UFo ein abhängiges Kombi mit folgender Datensatzherkunft:
SELECT [tbl_Bundesland].[ID_Bundesland], [tbl_Bundesland].[txt_Name], [tbl_Bundesland].[lng_Sort] FROM tbl_Bundesland WHERE ID_Land=Forms!frm_AGneu!frm_AGAbtneu_SE.Form!cboAbtLand ORDER BY [lng_Sort];
Das Kombi funktioniert auch. Allerdings bringe ich die Aktualisierung dieses Kombis nach einer Änderung nicht zum laufen.

Habe dazu z.B. folgendes bei "Nach Aktualisierung" von cboAbtLand versucht:Forms!Hauptformular!UFO-Steuerelement.Form!Kombi,
also Private Sub cboAbtLand_AfterUpdate()
Forms![frm_AGneu]![frm_AGAbtneu_SE].Form!cboAbtBundesland.Requery
End Sub


Access bringt jedoch folgende Fehlercodes:
Zuerst, wenn das UFo angesprochen wird, dass "Während der Kommunikation mit dem OLE-Server ein Problem aufgetreten ist".
Dann, wenn das Kombi angesprochen wird, dass "der Ausdruck Nach Aktualisierung einen Fehler verursacht hat".

Hat jemand eine Idee dazu?

DF6GL

#1
Hallo,

wenn sich beide Kombis  im (Unter-) Formular befinden, sollte es so reichen:


Private Sub cboAbtLand_AfterUpdate()
Me!cboAbtBundesland.Requery
End Sub


oder Du läßt gleich die Abfrage weg und schreibst:

Private Sub cboAbtLand_AfterUpdate()
Me!cboAbtBundesland.Rowsource = " SELECT ID_Bundesland, txt_Name, lng_Sort FROM tbl_Bundesland WHERE ID_Land=" & Me!cboAbtLand & "  ORDER BY lng_Sort"
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

castor1

Danke für den Tipp. Ich habe beide Varianten ausprobiert und leider resultieren beide in der oben beschriebenen Fehlermeldung. Bin ziemlich ratlos.

MaggieMay

Hi,

das lässt sich schwer aus der Ferne beurteilen, möglicherweise steckt etwas ganz anderes dahinter. Kannst du vielleicht eine Beispiel-DB hochladen, mit der man den Fehler nachstellen und erforschen kann?
Freundliche Grüße
MaggieMay

castor1

Hi auch,

anbei die problematischen Teile der DB. Im Startformular "frm_Projekte" muss zunächst eine "ID-Projektnummer" eingegeben werden, dann wird das UFo "frm_Auftraggeber" sichtbar.

Hier nun den Button "Neuen Auftraggeber anlegen" drücken, dann öffnet sich ein Formular "frm_AGneu". Darin muss zuerst ein Name für die Organisation angegeben werden (in txt_Name_Org), dann wird das UFo "frm_AGAbtneu" sichtbar.

Und hier funktionieren die Kombis "cboAbtLand" und "cboAbtBundesland" nicht. Sobald ich ein Requery für cboAbtBundesland unter "Nach Aktualisierung" bei cboAbtLand eingebe, fängt das ganze zu meckern an. Im HFo funktionieren diese Kombis ganz normal.

Danke im Vorhinein für eure Mühe und LG,
Castor

MaggieMay

Hi,

frm_AgAbtNeu ist ohne Code, da kann also gar nichts passieren, auch kein Fehler. ;-)
Freundliche Grüße
MaggieMay

castor1

Richtig. Daher habe ich auch geschrieben "sobald ich ein Requery einfüge...". In der upload-Version der DB habe ich das Requery gelöscht, damit der Rest funktioniert. Wesentlich wäre, dass die Kombis in frm_AGAbtneu funktionieren, d.h. sich das Kombi cboAbtBundesland aktualisiert.

Danke nochmal und LG,
castor

DF6GL

Hallo,


wirf zunächst die Nachschlagefelder  aus der Tabelle hinaus, zumal die auch noch als Mehrwertfelder definiert sind. (Das macht ja nun wirklich keinen Sinn). Richte dann Kombis im Formular ein nach z. B. dieser Beschreibung:

http://www.donkarl.com/?FAQ4.36
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

MaggieMay

ZitatDaher habe ich auch geschrieben
OK, das hatte ich übersehen. Aber zunächst tun sich mir da noch ein paar Fragen auf:
- welchen Sinn macht es, dem Projekt mehrere ausführende Länder zuzuordnen?
- und welchen Sinn macht es, aufgrund der fehlenden Abhängigkeit, hierzu beliebige Bundesländer auswählen zu können?

Freundliche Grüße
MaggieMay

castor1

Hi,

@ DF6GL
ich bin mir nicht sicher, ob ich dich verstehe. Die widerspenstigen Kombis sind im frm_AGAbtneu, und das hat die Tabelle tbl_AGAbteilung als Datensatzquelle. In dieser Tabelle gibt es keine Nachschlagefelder.

@ MaggieMay
Zitat- welchen Sinn macht es, dem Projekt mehrere ausführende Länder zuzuordnen?
Das wird nicht gemacht. Es wird die Organisation (z.B. ein Unternehmen) einem Land und einem Bundesland zugeordnet (frm_AGneu) und es wird eine dazugehörige Abteilung einem Land und einem Bundesland zugeordnet (frm_AGAbtneu).

Zitat- und welchen Sinn macht es, aufgrund der fehlenden Abhängigkeit, hierzu beliebige Bundesländer auswählen zu können?
Was meinst du damit? Im cboAbtBundelsand sollen jene Einträge angezeigt werden, die einem bestimmten - im cboAbtLand ausgewählten - Land zugeordnet sind. Daher steht in der Datensatzherkunft des cboAbtBundesland auch SELECT [tbl_Bundesland].[ID_Bundesland], [tbl_Bundesland].[txt_Name], [tbl_Bundesland].[lng_Sort] FROM tbl_Bundesland WHERE ID_Land=Forms!frm_AGneu!frm_AGAbtneu_SE.Form!cboAbtLand ORDER BY [lng_Sort];

Das funktioniert auch. Aber eben nur solange kein Requery für cboAbtBundelsand eingetragen wird.

Ich hoffe noch auf ein paar erklärende Worte, als absoluter Access-Anfänger.

LG Castor



MaggieMay

#10
Meine Fragen (ebenso wie Franz' Kommentar bzgl. Mehrwertfelder) bezogen sich auf die Projekt-Tabelle.

Das Unterformular "frm_AGAbtNeu" scheint einen Defekt zu haben, erstelle es neu, dann sollte es wieder funktionieren.

Und was die tbl_Projekte betrifft, darin sind etliche Nachschlagefelder falsch angelegt. Der Datentyp ist Zahl, aber die gebundene Spalte ist der Text (2).
Freundliche Grüße
MaggieMay

castor1

Danke für den Hinweis!
Ich habe das Formular neu gebaut, die Kombis zunächst mit Assistenten, dann händisch eingerichtet. Das Resultat ist das selbe wie zuvor.
Die Nachschlagefelder habe ich geändert - danke für den Hinweis.
Das Problem ist jedoch nachwievor ungelöst. Habt ihr sonst noch Ideen?

el_gomero

Hallo,

Zitat
... Allerdings bringe ich die Aktualisierung dieses Kombis nach einer Änderung nicht zum laufen. ...
Um welche Änderung handelt es sich dabei? Code mitposten.
Gruß
Jürgen


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

MaggieMay

ZitatDas Problem ist jedoch nachwievor ungelöst.
Ich hatte das so gemacht:
- neues leeres Formular
- Steuerelemente aus "frm_AGAbtNeu" nach "frm_AGAbtNeu_neu" kopiert
- Ereignisprozeduren übernommen und Ereigniseigenschaften aktiviert
- Herkunftsobjekt in "frm_AGneu" geändert
und es hat einwandfrei funktioniert.

Hast du evtl. den letzten Schritt vergessen??
Freundliche Grüße
MaggieMay

MaggieMay

Freundliche Grüße
MaggieMay