Delphi-PRAXiS
Seite 1 von 2  1 2   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Betriebssysteme (https://www.delphipraxis.net/27-betriebssysteme/)
-   -   "Hängepartie" mit Access 2003 (https://www.delphipraxis.net/95357-haengepartie-mit-access-2003-a.html)

Meflin 5. Jul 2007 13:54


"Hängepartie" mit Access 2003
 
Moin,

ich sitze derzeit an einer Datenbankanwendung mit Access 2003 Pro (vom AG vorgegeben, ein Umgebungswechsel kommt also nicht in Frage.

Die DB besteht aus 20 Tabellen (+- 3) mit jeweils ca. 15 Feldern. Diese sind jeweils mit einer Tabelle über eine Seriennummer als Primärschlüssel via referentieller Integrität verbunden.

Problem: Auf einem Formular zur Datenneueingabe benötige ich alle Felder, logischerweise. Bis auf ca. 20 sind auch schon alle auf dem Formular, die fehlenden sind erst kürzlich dazugekommen. Versuche ich aber, diese Felder zur Datasource hinzuuzfügen, hängt sich Access auf.

Die SQL-Abfrage is auch ziemlich lang (3 DinA4-Seiten, über 10.000 Zeichen). Nichtsdestotrotz brauche ich aber diese Felder in der Datasource :(

Unterformulare will ich aufgrund der grottigen Access-GUI nicht verwenden (bekommt man dnak Mausrad nur Probleme...).

Auch auf einem Leistungsfähigeren Rechner verabschiedet sich Access bei dem Versuch.

Was kann ich noch machen?


shmia 5. Jul 2007 14:31

Re: "Hängepartie" mit Access 2003
 
Zitat:

Zitat von Meflin
Problem: Auf einem Formular zur Datenneueingabe benötige ich alle Felder, logischerweise.

Das ist für mich allerdings völlig unlogisch.
Mal angenommen, man schreibt eine DB-Anwendung für eine Bücherei.
Dann gibt es in der Datenbank mindestens folgende Tabellen: Verlage, Authoren, Buecher, Kunden, Ausleihungen, VerlagAuthoren, AuthorenBuecher.
Jede dieser Tabellen (Ausnahme: Ausleihungen, VerlagAuthoren, AuthorenBuecher) wird über ein eigenes Formular mit DBGrid gepflegt.
Man kann nicht einfach alle Tabellen zusammen verjoinen und dann dieses Dataset editieren.
Es ist ein grosser Unterschied, ob ich Daten (mit SELECT) anzeigen lasse oder ob Daten manipuliert werden sollen.
Datenmanipulation läuft immer auf die SQL-Befehle INSERT, UPDATE und DELETE hinaus.
Diese Befehle können nur auf eine einzige Tabelle arbeiten!!

Meflin 5. Jul 2007 18:09

Re: "Hängepartie" mit Access 2003
 
Ich hohle noch etwas weiter aus: Es handelt sich bei den Daten um Messergebnisse, die in verschiedenen Tabellen abgelegt werden. Die Ergebnisse liegen bereits vor und (auf Papier) und sollen digitalisiert werden.

Es wäre alles andere als praktisch wenn man beim abtippen auch noch ständig das Formular wechseln müsste.

Es wäre wirklich das praktischste, alle Daten auf einem Formular abgeben zu können! In welche Tabelle dann was eingetragen wird ist ja wirklich schnurzpiepe. Nur scheinbar verkraftet Access 150 Eingabefelder auf einem Formular nicht :wall:


shmia 5. Jul 2007 18:36

Re: "Hängepartie" mit Access 2003
 
Zitat:

Zitat von Meflin
Nur scheinbar verkraftet Access 150 Eingabefelder auf einem Formular nicht

a.) mit Delphi programmieren
b.) alle Daten als CSV-Datei abtippen (lassen) und dann einen Import schreiben

hoika 5. Jul 2007 18:37

Re: "Hängepartie" mit Access 2003
 
Hallo,

läuft denn die Query überhaupt ?
Zur Not kannst du ach ohne die datensensitiven Felder arbeiten,
und die Daten "von Hand" in die Tabellen packen.

Ist aber ein Heidenaufwand.

Noch viel schlimmer wird das übrigens,
wenn mehrere Nutzer was eintragen sollen.


Zum "ist vorgegeben".
Access2003 als Datenbank oder als Oberfläche.

Wenn nur die Oberfläche gefordert ist,
könntest du dem AG auch mit "Access Project" kommen.

Dabei wird Access als Formular-Designer benutzt,
die Daten selber liegen auf einem SQL-Server,
z.B. auch auf dem 2005 Express.

Per google "adp" (das ist die Endung bei access roject)
findet man auch ziemlichweit vorn ein paar Bilder,
wie das alles läuft.


Heiko
PS: Ich kenne das nur, weil ein Kunde ein damit entwickeltes Programm benutzt.

bttb930 5. Jul 2007 19:15

Re: "Hängepartie" mit Access 2003
 
Ich glaube in diesem Fall kann man Access nun wirklich nicht die Schuld geben. So wie du das beschreibst würde jede andere DB auch den Geist aufgeben. Vermutlich läuft tatsächlich die Query einfach nicht. Und wenn die 10.000 Zeichen lang ist... dann ist der Wurm auf jeden Fall im DB-Design.

Frag mal jemanden der sich mit sowas auskennt.

hoika 5. Jul 2007 19:49

Re: "Hängepartie" mit Access 2003
 
Hallo,

oooch, das kommt schon vor ...
und wenn es eine komplexe Query ist, wo noch nen komplexer View dranhängt.

Sicher kann das dauern aber unterschätze ne DB ist.

Naja: Access is ja keine DB ;)


Heiko

Meflin 11. Jul 2007 14:14

Re: "Hängepartie" mit Access 2003
 
Zitat:

Zitat von bttb930
Ich glaube in diesem Fall kann man Access nun wirklich nicht die Schuld geben. So wie du das beschreibst würde jede andere DB auch den Geist aufgeben.

Käse. Jede PHP/MySQL-Umgebung könnte spielend 200+ Felder aus 20 Tabellen abfragen :?

Zitat:

Vermutlich läuft tatsächlich die Query einfach nicht. Und wenn die 10.000 Zeichen lang ist... dann ist der Wurm auf jeden Fall im DB-Design.
Ich wüsste nicht, was man da noch groß umdesignen sollte. Das in noch mehr Tabellen aufzuteilen würde einfach keinen Sinn mehr ergeben - und ganz nebenbei die Feldanzahl, die in diesem Formular benötigt wird, kein bisschen verkleinern.

Zitat:

Naja: Access is ja keine DB
Ja, da hast du wohl Recht ;)

Zitat:

Zum "ist vorgegeben".
Access2003 als Datenbank oder als Oberfläche.
Beides :(



Naja, mir ist es mit viel Geduld mittlerweile gelungen weitere acht Felder zur Datasource des Formulars hinzuzufügen, jetzt fehlen noch 10.

Problem: Im Abfrage-Generator von Access kann ich kein Feld mehr angeben, weil einfach die Liste zu Ende ist :wall: Und manuell will ich in DER SQL-Query nicht mehr rumpfuschen...

Was kann man denn da jetzt noch machen?


Elvis 11. Jul 2007 14:21

Re: "Hängepartie" mit Access 2003
 
Zitat:

Zitat von Meflin
Problem: Im Abfrage-Generator von Access kann ich kein Feld mehr angeben, weil einfach die Liste zu Ende ist :wall: Und manuell will ich in DER SQL-Query nicht mehr rumpfuschen...

Auch wenn ich aus ethischen Gründen keinen Support für Access geben will, warum zum Geier nimmst du den Query designer auf einer eh schon komplett kranken Abfrage?

Meflin 11. Jul 2007 14:25

Re: "Hängepartie" mit Access 2003
 
Zitat:

Zitat von Elvis
Auch wenn ich aus ethischen Gründen keinen Support für Access geben will, warum zum Geier nimmst du den Query designer auf einer eh schon komplett kranken Abfrage?

Im Moment mangels besserer Alternativen. Was soll ich denn sonst machen :gruebel:



Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Seite 1 von 2  1 2   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz