Forum: PC-Programmierung Hilfe! Datenbank Access!


von Burak G. (8chtacht)


Lesenswert?

Hallo Leute,

ich habe ein Problem. Ich muss an einer Access Datenbank weiterarbeiten, 
an der die zwei Vorgänger richtige Überflieger waren. Und da ich nicht 
so toll in Programmieren bin, steh ich vor einer schier unlösbaren 
Aufgabe.

Egal was ich anpacke, ich krieg Fehlermeldungen wie diese:

Microsoft Visual Basic
Laufzeitfehler '3122': Sie wollten eine Abfrage ausführen, die den 
angegebenen Ausdruck 'XY' nicht als Teil der Aggregatfunktion 
einschließt.


Oder wenn ich auf ein Button klicke, öffnet sich eine Tabelle, aber da 
stimmen irgendwie die Formatierungen nicht mehr, weil die 
Tabelleninhalte nur noch mit '#Name?' gezeigt werden.

Könnt ihr mir BITTE BITTE helfen?

Mfg

BG

von Prog R. (daniel_v)


Lesenswert?

Hm, relativ wenig Info.

Funktioniert gar nichts, oder gehen bestimmte Abfragen schief?
Wie sind diese implementiert? Wird da was über VBA erzeugt?
Wie sehen die konkreten Tabellen & Beziehungen für die Abfragen, die 
schief gehen, aus?
Wurden evtl. Teile oder Inhalte gelöscht?
Seit wann gehen bestimmte Sachen nicht mehr?

von Konstantin (Gast)


Lesenswert?

Burak G. schrieb:
> Könnt ihr mir BITTE BITTE helfen?

Jo.

von Burak G. (8chtacht)


Lesenswert?

Also es ist so, dass ich eine bereits bestehende, aber sich immer noch 
im Aufbau befindende Datenbank übernommen habe. Und diese Datenbank ist 
mit Front-/Backend aufgebaut. Es werden zB nach irgendwelchen 
Seriennummern abgefragt. Meine Aufgabe war, die Spaltennamen 
'Gestellnummer' umzuändern in 'Seriennummer'. Ich habe das sowohl in der 
Backend Datei gemacht, als auch in der Frontend Datei in der 
Entwickleransicht. So, und dann ging es trotzdem nicht. Ich bin in jede 
Tabelle rein und hab alles was 'Gestellnummer' hieß umbenannt in 
'Seriennummer', das gleiche auch bei allen Abfragen, Formularen, 
Berichten. Und seit ich sie umbenannt habe, fragt er gar nicht mehr nach 
der 'Gestellnummer'.

Ich weiß schon gar nicht mehr, wo ich anfangen soll zu fragen -.-'

von Mike (Gast)


Lesenswert?

Burak G. schrieb:
> Ich bin in jede
> Tabelle rein und hab alles was 'Gestellnummer' hieß umbenannt in
> 'Seriennummer', das gleiche auch bei allen Abfragen, Formularen,
> Berichten.

Vermutlich taucht 'Gestellnummer' auch noch im VBA und in irgenwelchen 
Verknüpfungen/SQL-Statements auf.

Dann nimm dir schon mal das Backup und fang noch mal an. Dem Nutzer kann 
es doch völlig egal sein, wie die Spalten heißen. Der sollte doch nur 
Formular- und Reporttexte zu sehen bekommen.

von Burak G. (8chtacht)


Lesenswert?

Ja, ich hab gestern gemerkt, dass die Verknüpfungen noch darunter 
leiden. Da bin ich jetzt dabei die zu ändern. Das Problem ist halt, ich 
hab eine rießen Datenbank. Und da alles umzustellen, auf alles zu 
achten, nichts zu vergessen etc. ist echt eine Sisyphus Arbeit.

Hat jemand eine Idee, wie ich die umständliche Arbeit verkürzen kann?
Mit STRG+F und dann Suchen nach+Ersetzen gehts, aber halt auch nicht 
alles auf einmal leider.

von Frank (Gast)


Lesenswert?

Ich finde auch, wie die Spalten innerhalb einer Datenbanktabelle oder 
Formeln heissen, ist doch völlig Banane. Es dürfte vollkommen genügen, 
sie in den angezeigen Ergebnis-Formularen oder Ausdrucken anders zu 
beschriften ...

von Burak G. (8chtacht)


Lesenswert?

Heisst das für mich als einen Laien, dass ich mir zu viel Arbeit gemacht 
hab für nichts und wieder nichts?

von Frank (Gast)


Lesenswert?

Burak G. schrieb:
> Heisst das für mich als einen Laien, dass ich mir zu viel Arbeit gemacht
> hab für nichts und wieder nichts?

Auch wenn ich jetzt nicht jedes Detail deiner Arbeitsaufgabe persönlich 
gemnau kenne, so ist die Wahrscheinlichkeit relativ hoch.

An welcher Stelle hat sich denn dein Chef an der falschen Bezeichnung 
gestossen? Doch sicher bei den Bildschirmausgaben und evtl. in 
Ausdrucken, oder? Er hat sich wohl kaum die interne DB-Struktur 
angesehen oder den Sourcecode durchgemustert ...

von Kollege (Gast)


Lesenswert?

Burak G. schrieb:
> Heisst das für mich als einen Laien, dass ich mir zu viel Arbeit
> gemacht hab für nichts und wieder nichts?

Naja, als Laie wirst du ja auch nicht wirklich bezahlt und musst keine 
Termine einhalten..

Wirklich wichtige Projekte gibt man nicht Laien, also entspanne dich und 
versuche etwas zu lernen dass dir in der Zukunft weiterhilft.

von Burak G. (8chtacht)


Lesenswert?

Kollege schrieb:
> Naja, als Laie wirst du ja auch nicht wirklich bezahlt und musst keine
> Termine einhalten..
>
> Wirklich wichtige Projekte gibt man nicht Laien, also entspanne dich und
> versuche etwas zu lernen dass dir in der Zukunft weiterhilft.


Also ich hab mich mal kurz mit meinem Vorgesetzten unterhalten. Der 
Grund für die Umänderung auch im Hintergrund ist dafür, weil die 
Datenbank mustergültig vorbereitet werden muss, damit sie 
kosteneinsparend in ein anderes Programm mit einbezogen werden kann.


Andere Frage Leute:
wieso kommt bei mir die Fehlermeldung "Laufzeitfehler 3122":

Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck "XY" 
nicht als Teil der Aggregatfunktion einschließt.

von Rene H. (Gast)


Lesenswert?

Erster Treffer bei google:

http://www.ms-office-forum.net/forum/showthread.php?t=108336

"solche Ausdrcke werden von Access vergeben, wenn Du innhalb einer SQL 
Abfrage z.b. 2x das gleiche Feld anzeigen willst ....
ergo Dein Fehler liegt in der Abfrage , d.h. Deine Frontends sind nicht 
identisch"

Gruss,
R.

von Burak G. (8chtacht)


Lesenswert?

Nunja, ich hab mir grad den Thread angeschaut und hab das gleiche 
Problem. Die Datenbank Frontends SIND identisch, weil ich ja die Datei 
vom Netzwerk runtergezogen habe. Das einzige was ich von meiner Seite 
aus noch hinzufügen kann ist, dass ich die Tabellen kopiert habe und 
umbenannt habe, damit ich die Originaltabelle mit meinen Kenntnissen 
nicht zerschieße. Aber auch dabei hab ich drauf geachtet, dass die 
Tabellennamen angepasst wurden; sprich:

Ursprünglich hieß die Tabelle "Gesamt", nachm Kopieren habe ich die 
kopierte Tabelle "Gesamt" und die Originaltabelle "Gesamt1" genannt.
Damit ich jede Veränderung an der DUMMYtabelle vornehme und nicht am 
Original.

von kopfkratzer (Gast)


Lesenswert?

Burak G. schrieb:
>
> Ursprünglich hieß die Tabelle "Gesamt", nachm Kopieren habe ich die
> kopierte Tabelle "Gesamt" und die Originaltabelle "Gesamt1" genannt.
> Damit ich jede Veränderung an der DUMMYtabelle vornehme und nicht am
> Original.

AUA
1. Du nimmst Dir einen Rechner der die gleiche ACCESS Version drauf hat
2. Du kopierst von der zu migrierenden DB die Tabellen auf diesen 
Rechner
3. Du änderst die Tabellen nach den Vorgaben via SQL-Statements
4. Du änderst den VB Anteil nach den Vorgaben via "ersetzen"
5, Du nimmst die vorgegebenen Formulare und checkst ob nun das 
gewünschte Ergebnis herauskommt

Wie schon erwähnt dürfte es allerdings reichen wenn die Formulare so 
angepaßt werden wie es aussehen soll.
Wenn nun im Hintergrund eine Zusammenlegung o.ä. der Daten stattfinden 
soll ist es sowieso besser man exportiert nur die Daten ohne 
Tabellenstruktur und pflegt die dann in das andere System ein.
Alles andere ist nur sinnfreies gefrickel !

von J. S. (engineer) Benutzerseite


Lesenswert?

Die Backend-DB muss auch mit anderen neueren Frontends laufen, habe ich 
auch mmer mal gehabt. Ich durchschaue das Problem von hieraus natürlich 
nicht, aber generell lässt sich sagen:

Dieser Fehler wird u.a. dann ausgelöst, wenn infolge einer unerwünschten 
->Gruppierung (im DDE-Fenster) etwas summmiert werden soll, was sich 
nicht summieren lässt (also Gruppierung ausschalten) oder im Fall einer 
beabsichtigen Gruppierung der -> Ausdruck (erste Zeile) einen falschen 
Befehl enthält.

Mehr kann man blind, ohne das SQL zu sehen nicht sagen.

Verwendest Du eigentlich DDE oder arbeitest Du direkt auf SQL?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.