hallo,
an dieser stelle bräuchte ich mal wieder eure hilfe
ich hab eine mdb erstellt, anschliessend eine mde daraus gemacht (damit die codes nicht geändert werden können) das ganze ins netzwerk gestellt und abschliessend die mde aufgeteilt in frontend & backend.
in der mdb habe ich dann änderungen vorgenommen (u.a. berichte angepasst); tabellenfelder blieben dabei alle erhalten, keine neuen tabellenfelder, keine namensänderung der tabellenfelder.
nun habe ich zum testlauf die daten aus dem backend in die mdb importiert.
es werden in den Formularen und den damit verknüpften unterformularen aber nicht mehr alle datensätze gezeigt :-(
die beziehungen der tabellen sind so wir immer; der primärschlüssel der übergeordneten Tabelle steht im entsprechendem Feld der verknüpften Tabelle.
könnt ihr mir helfen das problem zu lösen?
das wäre genial!
Hallo,
wenn Änderungen der MDB gemacht werden, muss wieder eine neue MDE gemacht werden.
Zum konkreten Problem würde ich vermuten, dass du nicht alle Daten importiert hast oder beim Import etwas anderes schiefgegangen ist.
Zitat von: Radi1311 am Februar 25, 2020, 11:55:19ich hab eine mdb erstellt, anschliessend eine mde daraus gemacht (damit die codes nicht geändert werden können) das ganze ins netzwerk gestellt und abschliessend die mde aufgeteilt in frontend & backend.
Dieser Prozess ist so nicht ganz sinnvoll.
Du solltest die MDB von vornherein in Frontend/Backend aufteilen.
Aus der Frontend-MDB erstellst du eine MDE, bevor du sie an die Benutzer verteilst. Für das Backend ist das nicht erforderlich. Eine MDE verhindert nur dass VBA-Code und der Entwurf von Formularen und Berichten geändert wird. Auf die Tabellen (nichts anderes sollte im Backend sein) hat die MDE keinerlei Auswirkungen.
Mein Empfehlung für das weitere Vorgehen:
- Importiere alle Tabellen (inkl. Beziehungen!) in eine neue MDB.
- Schmeiß die Tabellen aus deiner Entwicklungs-MDB raus und verknüpfe diese als Frontend zu dem im vorigen Schritt erstellen Backend.
- Werden jetzt alle Daten erwartungsgemäß angezeigt?
-> Wenn ja, Problem gelöst. Wenn nein, hast du Fehler in deinen aktuellen Änderungen (Stichwort: Outer Join bei Abfragen).
Du kannst optional deine bestehende Backend-MDE durch die wie oben beschrieben erzeugte MDB ersetzen. Es schadet aber nicht, wenn das Backend eine MDE ist, bringt aber auch rein gar nichts.
zunächst danke für eure rasche antwort :-)
@MzKlMu:
ich hab aus der geänderte mdb eine neue mde erzeugt und dann die daten aus dem backend importiert; das hat nicht geklappt :-(
es fehlen noch immer einigen daten in den Formularen :-(
es werden nur die angezeigt, die in der mde eingetragen wurden; nicht aber die, die schon vorher drin waren
@PhilS
das:
"•Importiere alle Tabellen (inkl. Beziehungen!) in eine neue MDB.
•Schmeiß die Tabellen aus deiner Entwicklungs-MDB raus und verknüpfe diese als Frontend zu dem im vorigen Schritt erstellen Backend.
•Werden jetzt alle Daten erwartungsgemäß angezeigt?
-> Wenn ja, Problem gelöst. Wenn nein, hast du Fehler in deinen aktuellen Änderungen (Stichwort: Outer Join bei Abfragen)."
das hat nicht geklappt :-(
es fehlen noch immer einigen daten in den Formularen :-(
es werden nur die angezeigt, die in der mde eingetragen wurden; nicht aber die, die schon vorher drin waren
Zitat von: Radi1311 am Februar 25, 2020, 13:23:41
es werden nur die angezeigt, die in der mde eingetragen wurden; nicht aber die, die schon vorher drin waren
Sind die vermissten Daten denn überhaupt in der MDE-Datei drin?
Für mich scheint die Situation hier zu sein, dass es da eine Verwechslung bei der Backend-Datei gab und du nicht deine bestehenden Daten für die Benutzer bereitgestellt hast, sondern eine leere Kopie dieser Datei.
Daneben: Ob Daten vorhanden sind, erkennt man, wenn man direkt in die Tabelle(n) hineinsieht. Für Ansichten (was zu sehen ist) in Formularen und Berichten trägt der Entwickler Verantwortung.
@ebs17
ja, die daten sind alle da (in den Tabellen) die Verknüpfungen passen auch
heisst: der autowert (primärschlüssel) der übergeordneten Tabelle ist im dazugehörigen Feld der untergeordneten Tabelle vorhanden.
nur eben in den formularen und unterformularen werden nur die angezeigt, die in der mde im Netzwerk (mit front- & backend) eingetragen wurden; die schon vorher eingetragenen eben nicht mehr; obschon alle daten da sind.
ich verzweifle :'( :'( :'(
ich hab' auch schon in der mdb die formulare neu aufgesetzt. also im hf das uf neu eingesetzt und mit den entsprechenden schlüsseln verknüpft.
hat aber auch nix gebracht :-(
Hallo,
Zitatnur eben in den formularen und unterformularen werden nur die angezeigt, die in der mde im Netzwerk (mit front- & backend) eingetragen wurden; die schon vorher eingetragenen eben nicht mehr;
das hört sich doch so an, an gäbe es mehrere (2) Backends...
Wirf die mde weg, such die vermutlich existierenden 2 Backend-Dateien und lösch die falsche (oder wenn die Daten weiter benötigt werden, so füge sie mit Anfügeabfragen an die "richtigen" BE-Tabellen an).
Starte die Original-mdb-Datei, lösche die Tabellenverknüpfungen und verlinke die BE-Tabellen aus der "richtigen" BE-Datei.
Dann erst generiere eine neue mde-Datei..
(Alles nur Wiederholung aus vorangegangen Posts)
@DF6GL:
nein, es gibt nur eine backend.
das habe ich schon gemacht.
original mdb gestartet, importierte tabellen löschen, variante 1: import der tabellen aus backend mit den vorh. tabellenbeziehungen => nicht alle datensätze werden in den formularen angezeigt - variante 2:verknüpfung zur datenquelle erdstellen mit den vorh. tabellenbeziehungen => nicht alle datensätze weden in den formularen angezeigt.
"alte" mde mit verknüpfung zur datenquelle mit den vorh. tabellenbeziehungen => alle datensätze werden in den formularen angezeigt
Hallo,
Zitatnicht alle datensätze werden in den formularen "(in der mdb)" angezeigt
Vermutlich wird entweder mit der Filter-Eigenschaft des Forms gefiltert oder die Datenherkunft des Forms enthält eine filternde Abfrage.
Zitat von: Radi1311 am Februar 25, 2020, 22:14:26
variante 2:verknüpfung zur datenquelle erdstellen mit den vorh. tabellenbeziehungen => nicht alle datensätze weden in den formularen angezeigt.
"alte" mde mit verknüpfung zur datenquelle mit den vorh. tabellenbeziehungen => alle datensätze werden in den formularen angezeigt
Diesen Fall hatte ich bereits beschrieben. Dann liegt der Fehler in deinen Abfragen und/oder Formularen.
Wenn ich ein solches Problem habe, dann erstelle ich eine Kopie der problematischen Abfrage und baue sie Schritt
für Schritt zurück. D.h. ich entferne ein Kriterium oder eine verknüpfte Tabelle nach der anderen und lasse nach jedem Schritt die Abfrage laufen, bis die vermissten Datensätze auftauchen. So lässt sich das konkrete Kriterium oder der Join ermitteln, der dafür verantwortlich ist.
@PhilS & DF6GL
vermutlich liegt der fehler tatsächlich im hf und dem verknüpftem uf
filter sind nicht drauf; zumindest habe ich keine gefunden
zur Darstellung wird keine anfrage verwendet. ich habe das hf mit dem uf verknüpft (heisst: der autowert des hf's ist in einem Feld des uf's abgelegt. die werte sind auch in den Tabellen wiederzufinden.
das "D.h. ich entferne ein Kriterium oder eine verknüpfte Tabelle nach der anderen und lasse nach jedem Schritt die Abfrage laufen, bis die vermissten Datensätze auftauchen." werde ich heute abend probieren.
ich denke, das ist ein ganz einfacher fehler und ich finde den nicht
an dieser stelle vielen dank für eure unterstützung ;D ;D
ich hab das problem gestern abend behoben :)
ich hab einfach das be in eine "alte" mdb importiert (alle datensätze da) und dann Formular für Formular, bericht für bericht von der jüngsten da rein kopiert; fättisch
woran es nun wirklich gelegen hat weiß ich zwar nicht, aber es funktioniert wieder
Wie schon mal angedeutet: Den ganzen Krampf hättest Du Dir sparen können - aber der Mensch lernt durch Schmerz besonders gut.
Besser wäre es, von Beginn an eine Trennung in Frontend und Backend vorzunehmen. Als Entwickler arbeitest Du dann mit Kopien von FE und BE, wobei das BE dann nicht tagesaktuell sein muss, die Daten sollten nur repräsentativ sein, damit man seine Entwicklungen sofort testen kann.
Wenn dann das FE eine neue Entwicklungsstufe erreicht hat, ersetzt man die Arbeitsversion durch die neue Entwicklerversion. Tabellenverknüpfungen zum Arbeits-BE herstellen. Fertig. Mit den Daten im Arbeits-BE hat man dann nichts zu tun, also kann (auf diesem Wege) auch nichts verloren gehen.