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?
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
Danke für den Tipp. Ich habe beide Varianten ausprobiert und leider resultieren beide in der oben beschriebenen Fehlermeldung. Bin ziemlich ratlos.
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?
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
Hi,
frm_AgAbtNeu ist ohne Code, da kann also gar nichts passieren, auch kein Fehler. ;-)
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
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
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?
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
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).
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?
Hallo,
Zitat
... Allerdings bringe ich die Aktualisierung dieses Kombis nach einer Änderung nicht zum laufen. ...
Um welche Änderung handelt es sich dabei? Code mitposten.
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??
Hi,
sorry für die späte Antwort.
@MaggieMay:
Habe versucht dein Vorgehen zu replizieren.
Neues Formular erstellt (frm_AGAbtneu_neu), Steuerelemente kopiert, Herkunftsobjekt des Steuerelements im frm_AGneu geändert in frm_AGAbtneu_neu. Als Datensatzquelle tbl_AGAbteilung gesetzt.
Sobald ich jedoch das Me!cboAbtBundesland.Requery in das "Nach Aktualisierung - Ereignis" von cboAbtLand setze, kommen die Fehlermelungen wie oben beschrieben. Ich arbeite mit Access 2007, kann es an der Version liegen?
P.S.: was meinst du mit
Zitat...Ereigniseigenschaften aktiviert
Hallo,
lad die Db mit den Änderungen nochmal hoch und beschreib, wo (in welchem Form) was genau nicht geht, bzw. was erwartet wird.
Hallo,
im frm_AGneu befindet sich das Steuerelement für das UFo frm_AGAbtneu. Darin sind die abhängigen Kombis cboAbtLand und cboAbtBundesland. Diese - genauer gesagt das Requery des cboAbtBundesland im Ereignis "Nach Aktualisierung" des cboAbtLand - verursachen eine Fehlermeldung. Ergo: das Requery funktioniert nicht.
LG castor
Der Fehler ist auch in deinem neuen Upload reproduzierbar. Gehe ich nochmals so wie zuvor beschrieben vor und erstelle das UF neu, funktioniert es wieder. Ich habe A2010, vielleicht ist in deinem Access irgendwas verbogen, oder auch nur in deiner DB.
Hallo,
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).
Der DB-Aufbau sagt etwas anderes...
Warum hast Du nicht diese unsäglichen Mehrwertfelder herausgeworfen??
An den Benamsungen sind einige Verbesserungen empfohlen und der Tabellenaufbau sollte nochmal überdacht werden...
Zudem war die DB zerschossen (zumindest das Formular). Hierbei hilft in den meisten Fällen der Import aller Objekte in eine neue leere Db (was ich gemacht habe).
Hi Franz,
was genau meinst du mit "zerschossen"? Noch etwas anderes als den besagten Fehler?
Hallo,
naja, es kommt ja nicht selten vor, dass irgendwelche ominösen, d. h. unerklärlichen Fehler auftauchen. Speziell bei Kombifeldern hatte ich das öfters (sehr oft), wenn z. B. mit einer bestimmten A-Version ein Form erstellt und mit einer anderen dann weiter entwickelt wurde. Hierbei hatte nur die besagte Methode Abhilfe gebracht. Einen erkennbaren Fehler (im Code oder in den Eigenschaften oder sonst wo konnte man nicht finden. Ich schätze, dass es irgendwelche Inkompatibilitäten im VBA-Interpreter gibt.
Möglicherweise hätte hier auch schon /decompile Wirkung gezeigt, das habe ich aber nicht getestet.
Liebe Leute,
danke für die Mühen. Ich habe nun die DB in eine neue DB importiert und zusätzlich das Formular AGAbtneu neu gebaut. Das Resultat ist wie gehabt, also die besagte Fehlermeldung, sobald das Requery eingefügt wird. Ratlos!?!
@Franz: haben deine Punkte "Benamsung" und "Mehrwertfelder" etwas mit diesem Phänomen zu tun? Hab das noch nicht in Ordnung gebracht, weil 1) das für mich momentan nicht prioritär ist und 2) ich nicht weiß, wie ich Mehrfachauswahlen sonst hinbekomme.
Dazu:
Zitatwelchen Sinn macht es, dem Projekt mehrere ausführende Länder zuzuordnen?
Ein Projekt kann in mehreren Ländern umgesetz werden. Das ist der Sinn dabei.
Allen Anschein nach stimmt etwas mit meinem Access nicht - wenn selbst ihr ansonsten keine Fehler findet. Werde das mal auf einem anderen Rechner versuchen.
LG Castor
ZitatEin Projekt kann in mehreren Ländern umgesetz werden.
Das kann man aber doch den zugeordneten Organisationen entnehmen, oder?
Das muss dann doch nicht beim Projekt selbst noch einmal gespeichert werden.
Und die Abteilungen der Organisationen befinden sich dann noch einmal woanders?
Hallo,
sorry, ich habe vergessen, die DB anzuhängen. :o
Zitatund "Mehrwertfelder" etwas mit diesem Phänomen zu tun? Hab das noch nicht in Ordnung gebracht, weil 1) das für mich momentan nicht prioritär ist und 2) ich nicht weiß, wie ich Mehrfachauswahlen sonst hinbekomme.
Eine korrekte Tabellenstruktur IST prioritär und steht VOR jeglichem Formularaufbau
In Deiner DB ist das Bundesland mit einem Mehrwertfeld verbunden, obwohl irgendwann gesagt wurde, dass ein Projekt nur einem BL zugehörig ist.
Mehrwertfelder sind interne n-Tabellen, allerdings mit etwas gewöhnungsbedürftiger Behandlung.
Benamsung hat etwas mit Transparenz und Fehlervermeidung ("reservierte Wörter") zu tun, insbesondere, wenn man Hilfe durch "fremde Augen" erwartet und man selber nach einem halben Jahr noch den Durchblick haben will.
ZitatAllen Anschein nach stimmt etwas mit meinem Access nicht
Vermutlich ist der Fehler auf die Relation zu der internen n-Tabelle des Mehrwertfeldes zurückzuführen...
HI,
@MaggieMay:
ZitatDas kann man aber doch den zugeordneten Organisationen entnehmen, oder?
Eine Organisation mit Sitz in Land X kann ein Projekt beauftragen, dass in den Ländern Y und Z umgesetzt wird. Sitz der Organisation hat mit Umsetzungsland des Projekts nichts zu tun. Also nein, sofern ich deine Frage richtig verstehe.
ZitatUnd die Abteilungen der Organisationen befinden sich dann noch einmal woanders?
Eine Organisation mit Sitz in Land X kann Abteilungen in mehreren Ländern oder Bundesländern haben. Also Ja. Das hat wiederum nichts mit dem Umsetzungsland des Projekts zu tun.
@Franz:
Sollte deine angehängte DB funktionieren? Bei mir tut sie das nicht. Auch nicht, nachdem ich alle Mehrwertfelder gelöscht habe. Selbe Fehlermeldung wie immer.
Bisher bin ich leider keinen Schritt weitergekommen.
Sorry, aber ich halte das für falsch. Ein Projekt kann mehreren Auftraggebern (=Organisationen) zugeordnet werden und diese Organisationen können in verschiedenen Ländern oder Bundesländern liegen. Aber das Projekt selbst hat doch keine Landzuordnung, zumindest keine mehrfache, denn das wären doch dann mehrere Projekte mit u.U. weiteren unterschiedlichen Eckdaten. Aber egal, das hat ja mit dem eigentlichen Problem nichts zu tun.
Der Upload von Franz funktioniert bei mir, dann muss es wohl an deinem Access liegen.
Liebe Alle,
vielen Dank für eure Mühen nochmals. Nachdem leider alle Versuche erfolglos blieben, werde ich mich über mein Access hermachen - und berichten.
LG Castor
Habe die Lösung - unglaublich! Es lag an den Spracheinstellungen von Access und Windows. Nach Abgleich dieser Einstellungen funktioniert plötzlich wieder alles. Hier der Link der mir weitergeholfen hat:
http://www.office-loesung.de/ftopic305715_15_0_asc.php (http://www.office-loesung.de/ftopic305715_15_0_asc.php)
LG Castor
Hallo,
so unglaublich ist das nicht.. und schon lange bekannt..
Nur, wenn die A-Version halt nicht bekannt gemacht wird, geht man von deutschem Access und deutschen Windows-Einstellungen aus..
http://www.donkarl.com/?FAQ1.19
Du hast recht. Davon bin auch ich ausgegangen.
LG und Danke nochmal,
Castor