Neuigkeiten:

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

Mobiles Hauptmenü

Access (nicht ganz) Newbie: Lieferschein aus SQL-DB und MDB

Begonnen von sysadmbonn, Dezember 05, 2011, 15:06:32

⏪ vorheriges - nächstes ⏩

sysadmbonn

Hallo,

erst mal ein ganz dickes Lob an Euch alle. Es gibt ja viele Seiten im Netz die Hilfe bei Access versprechen, aber sehr oft lande ich bei meinen Suchen hier bei Euch im Forum!

Die Hintergründe:

Wir haben eine Verwaltungssoftware die auf einer SQL-DB beruht und ich habe in meiner Funktion als IT Manager eine Inventar-Software die nach Access (MDB) exportieren kann.
Nun möchte ich "Leiferscheine" generieren. Leider kann meine Inventar-Software dies nicht ohne das ich alle die Daten aus der SQL dort importieren würde. Außerdem ist die SQL immer aktuell durch meiner Kollegen und ich möchte mir nicht ständig Dumbs aus der SQL dort importieren. Die Inventur-Software aktualisiere ich nur wenn es neue Geräte gibt und dann kann ich diese ein, gegen SQL winzige DB auch selber nach Access exportieren. Beziehungsweise verküpfen.

Mein Ansatz:

Ich erstelle eine Access DB und verknüpfe über ODBC die beiden Tables in denen die von mir gesuchten Informationen liegen. Das sind die Tables "EVENT" und "CONTACT" (die heissen nicht wirklich so, aber das ist ja hier egal). Dann erstelle ich eine Abfrage in der ich die beiden Tabellen kombiniere mit der Beziehung das es in jeden Datensatz von EVENT immer einen entsprechenden Datensatz in CONTACT gibt. Die anderen Datensätze in Contact interessieren mich nicht. Also habe ich eine Beziehung von EVENT : CONTACT mit N:1 (Es gibt viele Einträge in EVENT, aber jeder hat genau eine Verbindung zu einem in CONATCT und es gibt viele Einträge in CONTACT aber nicht hat auch einen korrespondierenden Eintrag in EVENT)(Ein EVENT = EIN CONTRACT, aber ein CONTRACT kann viele EVENT haben). Alles klar?
Schön, daraus kam dann eine Abfrage mit einem "!" Ausruffzeichen.
1. Problem: Anscheinend kann ich hierraus nur eine statische Tabelle erstellen. Wenn also neue Einträge in die SQL kommen wird meine Tabelle nicht aktualisiert.
Die Tabelle ALLE_EVENTS ist aber wunderbar. Es ist alles drin was ich brauche aus der SQL.
Dann habe ich mir eine Formular gebastelt. War auch schön ...
So jetzt habe ich ein Formular basierend auf der (statischen) Tabelle. Es berechnet mir auch schön die Dauer der EVENTS und zeigt mir die CONTACTS passend zu den EVENTS an.
Doof ist nur das ich jetzt jetzt durch ca. 5500 Einträge (aktuell) durch klicken muss bis ich den richtigen EVENT gefunden habe. Wenn ich über die FILTER funktion nach der eindeutigen und einmaligen (PRIMÄRSCHLÜSSEL) EVENT_ID suche kommt leider auch schon mal ne Postleitzahl dazwischen raus. Ist nicht so gut.
Also habe ich nach einer Funktion gesucht mit der ich in einem Formular nach der EVENT_ID (später dann auch gerne nach bestimmten TEXTFELDERN) suchen kann und diese mir dann in dem Formular angezeigt werden.
Diese QUERY habe ich auch gefunden. Leider öffnet er mir dann aber immer einen Tabbellenansicht von dem was er gefunden hat.
2. Problem: Es soll doch aber bitte in das Formular übertragen werden. Noch schöner in ein Unterformular.

3. Problem: Es soll nicht möglich sein irgendwelche anderen Daten zu wählen als die die in der SQL und MDB schon vorhanden sind und , um Gottes Willen!, darf es natürlich kein unbeabsichtigeten Änderungen in der SQL oder MDB.

Nun ja, so weit bin ich halt im Moment.
Wenn es fertig ist soll es halt die Möglichkeit geben durch Angabe einer EVENT_ID oder einer EVENT_BESCHREIBUNG sich eine Auswahl der gefundenen EVENTS anzeigen zu lassen und für den nächsten Schritt auswählen. Dadurch erscheint dann der dazugehörige CONTACT. Wenn ich die richtigen gefunden habe möchte ich dann wieder durch eine Auswahlstrategie mehrere Artikel aus der InventurDB auswählen und daraus einen BERICHT (Lieferschein) erstellen.

Da gibt es bestimmt noch viel zu tun und ich knobele und experimentiere gerne rum. Aber irgendwie stockt es doch im Moment.

Schön wäre es noch wenn ich nicht allzuviel mit VB machen muss. Das liegt mir nicht so sehr.

Vielen, vielen lieben Dank für Eure Hilfe ...

database

Hallo,

na dann...

Was du da beschreibst sind Standardfunktionen, die Access mitliefert - da brauchts keine großartigen Programmierereien.

ZitatAnscheinend kann ich hierraus nur eine statische Tabelle erstellen. Wenn also neue Einträge in die SQL kommen wird meine Tabelle nicht aktualisiert.
Die Tabellen werden via ODBC in Access eingebunden und dort in Beziehung gesetzt. Ihre augewählten Inhalte werden als Ergebnis einer Abfrage gezeigt.
Ein neuer Eintrag in den Originaltabellen KANN NICHT ohne neuerliche Ausführung der Abfrage angezeigt werden, die Daten stehen aber in den eingebundenen Tabellen sofort zur Verfügung.
Das ist keine statische Tabelle sondern ein Abfrageergebnis!

ZitatAlso habe ich nach einer Funktion gesucht mit der ich in einem Formular nach der EVENT_ID
Sollte mit einem formularbasierten Filter laufen - altenativ per Kombifeld

Zitateindeutigen und einmaligen (PRIMÄRSCHLÜSSEL) EVENT_ID suche kommt leider auch schon mal ne Postleitzahl dazwischen raus
also da raufen meine Haare um einen Stehplatz - das gibt es so nicht... wenn du in einem ID Feld nach einer bestimmten ID filterst kann keine PLZ erscheinen!  ;)

ZitatLeider öffnet er mir dann aber immer einen Tabbellenansicht von dem was er gefunden hat
ER wird das schon richtig machen - leider sehe ich da erhebliche Kenntnis-Mängel im Themengebiet Access-Formulargestaltung ... unter Anderem

Somit würde ich dir dringend anraten dich mal intensiv mit Access selbst zu beschäftigen und auf jeden Fall die Experimentiererei mit den Originaltabellen zu unterlassen.
Änderungen an den Datensätzen erfolgen sicher nicht nach vorheriger Rückfrage sondern GLEICH - also Vorsicht!


Es wird ingesamt schwer werden dir zu helfen wenn die Grundkenntnisse nicht vorhanden sind.