Neuigkeiten:

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

Mobiles Hauptmenü

Konzeption einer Benutzerführung

Begonnen von pyjamafreak, Oktober 22, 2010, 12:39:50

⏪ vorheriges - nächstes ⏩

pyjamafreak

Hallo,

nachdem ich nun mein erstes Problem hier gelöst bekommen habe, war meine Datenbank ready to go, aber der Chef will, da er sich selber damit nicht auskennt eine Benutzerführung, die meines Wissens am Besten mit Formularen vonstatten geht.

Die Grundstruktur der DB sieht so aus: es gibt 3 Tabellen (Buch, Websites, Eintragungen), Buch besteht aus ID, Titel,..., die Tabelle Website aus ID und URL und in Eintragungen kommen beide IDs als Fremdschlüssel zusammen und werden vereinigt.
Wie würdet Ihr einen solchen Prozess abbilden:
Start => Wahl einer Aktion (Eintragung) => danach Wahl eines Titels aus der Tabelle Buch via Listenfeld => Abfrage der nicht bereits eingetragenen URLs, => Wählen einer Site => am besten hier gleich nach anklicken in die Tabelle Eintragungen übernehmen.

Ich bin noch ziemlich neu in der Access Anwendung und nicht so vertraut mit seinen Möglichkeiten. Braucht man hierzu große Kenntnisse in VBA oder ist das auch für Laien machbar? Für jeden Hinweis, Tipp usw. bin ich echt dankbar

DF6GL

Hallo,

:)

"eine Benutzerführung, die meines Wissens am Besten mit Formularen vonstatten geht. "

das ist uneingeschränkt richtig.


"Wie würdet Ihr einen solchen Prozess abbilden:"

genau so, wie der Chef arbeitet, also (in etwa) den Ablauf so, wie er auch ohne DB irgendwas suchen/bearbeiten  würde.



"Braucht man hierzu große Kenntnisse in VBA oder ist das auch für Laien machbar?"

kommt drauf an, was Du unter "groß" verstehst..  Einen gewissen Teil sollte man schon wenigstens nachvollziehen können.
Standardmäßig (d. h. ohne VBA) bietet Access keine große auswahl an Ablaufsteuerung.


".. mit seinen Möglichkeiten"

Access bietet , aber eben mittels VBA nahezu "unbegrenzte" (bißchen übertrieben  ;)  )  Möglichkeiten


Essenz:  Du mußt genau(!) wissen, was der Chef im Einzelnen will und wie er vorgeht( bzw. vorgehen will). Dann kann man über die Möglichkeiten zur Umsetzung reden.

pyjamafreak

Hallo,

danke für deine schnelle Antwort. Es stellt sich bei mir eh immer die Frage warum jemand eine DB haben will mit der er nicht umgehen kann, dicht gefolgt von der Frage warum er dann damit jemanden beauftragt, der ziemlich wenig von Access versteht.  ;)

Naja im Moment läuft das so über eine Excel Tabelle, da nimmt er sich eine Adresse raus und dokumentiert in ner anderen Excel mit Datum und Titel und Seite wann er was wo eingetragen hat. Die Umsetzung in ne Datenbank macht da schon zur Arbeits- und Dokumentationserleichterung etwas Sinn.

Also ich stelle mir das so vor:
1.) Start Formular ("Was wollen Sie tun?) Button Eintragen. 
2.) danach ein Formular das den Titel (Wählen Sie den Titel) in einer Liste anbietet. Beim Anklicken des Titels und weiter müsste also eine Tabelle erscheinen, in der noch nicht eingetragen ist (Abfrage hierzu habe ich dank Euch schon, allerdings brauche ich wahrscheinlich VBA Code (oder?), der den Titel aus der Liste ausliest und ihn als Parameter an die Abfrage gibt (Abfrage heißt Abfrage2, wie passend).
3.) aus der Tabelle nimmt er sich dann was raus und müsste jetzt  in die Eintragungen und dort eben Titel und ausgewählte Site eintragen=> hier versagen meine Vorstellung etwas, wie kann es hier weitergehen  ???


DF6GL

Hallo,

mhmm, nein, nicht so...


kannst Du die hier hochladen (vorher komprimiert/repariert und gezippt)?


M. E. solltest Du , wenn die Tabellenkonstruktion in Ordnung ist, 3 Formulare haben (Tabelle "Eintragungen" würde ich mal "tblWebsitebuch" benennen):





frmBuch  Einzelform mit Datenherkunft Tabelle Buch

frmWebsite  Einzelform mit Datenherkunft Tabelle Websites

frmWebsitebuch  Endlosform mit Datenherkunft zu Tabelle tblWebsitebuch


Je nachdem, was verwaltet werden soll,

-- Bücher, die auf Websites "liegen"
-- Websites, auf denen Bücher "liegen"

setzt Du im ersten Fall ein UFO-Steuerelement in frmBuch, das das Endlosform frmWebsitebuch anzeigt.  Die UFO-Eigenschaften "Verknüpfen von/nach" setzt Du auf die entspr. Schlüsselfelder.

Das Feld für den Fremdschlüssel aus tblWebsite führst Du als Kombi aus, das seine Daten eben aus tblWebsite bezieht (d. h. diese anzeigt) und bei Auswahl den entspr. Fremdschlüssel in in tblWebsitebuch speichert.


im zweiten Fall platzierst Du das UFO in frmWebsite



Beim Aufruf von frmBuch können dann alle Datenoperationen durchgeführt werden .

Eine Suchfunktion (hier nach einem Buch) kann leicht in das Form eingebaut werden, ebenso andere (logisch passende) Funktionalitäten.


Um beim Start der DB eine bestimmte Funktion (Buchpflege, Websitepflege) auswählen zu können, kannst Du Dich des Übersichts-Managers bedienen, der ein "Start-Übersichtsformular" erstellt, in welchen die Formulare per Buttonklick geöffnet werden können.




pyjamafreak

Hallo,

hat etwas gebraucht, musste Deinen Lösungsweg nachvollziehen und mir diese Unterformulargeschichte anschauen, da ich nicht genau etwas damit anzufangen wusste.

Zitatkannst Du die hier hochladen (vorher komprimiert/repariert und gezippt)?

Ich glaube nicht, dass es meinem Chef gefallen würde, wenn seine DB mit Logins etc. durchs Netz fliegen würde. Also eher nicht.

ZitatBücher, die auf Websites "liegen"

Das ist definitiv eher der Fall.

Zitatein UFO-Steuerelement in frmBuch, das das Endlosform frmWebsitebuch anzeigt.  Die UFO-Eigenschaften "Verknüpfen von/nach" setzt Du auf die entspr. Schlüsselfelder.

OK, das habe ich gemacht, allerdings weiß ich nicht, ob das so der richtige Weg ist. Vielleicht habe ich mich auch nicht richtig ausgedrückt, ich brauche hier irgendwie die Websites aus tblWebsite, in denen noch nicht eingetragen worden ist, damit man die nicht per Hand raussuchen muss. Von der Benutzerführung heißt das: Suche dir einen Titel aus tblBuch aus und nun schauen wir, wo du es noch eintragen kannst. Nach diesem Punkt beendet der Benutzer die Benutzung der DB, geht dann auf die entsprechende Website und trägt lustig ein.

Danach wieder zurück zur DB: er muss diese Website nehmen und nun protokollieren, dass darauf eingetragen ist. 

Soweit ich das überblicke gibt das von Dir vorgeschlagene UFO hier nur die Sachen aus, die schon eingetragen worden sind. Oder kommt durch den zweiten Teil noch eine Verfeinerung hinzu, die ich nicht beachtet habe???


DF6GL

Hallo,

die "Verfeinerung" kommt dann (jetzt) , wenn Du die Tabellen richtig aufgebaut hast und weißt. was Du machen willst..  ;)


1) Eine Anzeige aller noch nicht auf der/den Website(s) wird erzeugt mit einer Abfrage, deren prinzipiellen Aufbau Du hier findest:

www.donkarl.com/?FAQ3.16


2) d. h. auch, dass Du eine solche Abfrage auch für die Datensatzherkunft eines Kombis, das im Unterform die Auswahl eines Buches für eine Website (---> Hauptform "frmWebsite") erlaubt.  Das muß aber dann so aussehen:

Anzeige-Kombifeld ("BuchID"), das an den Fremdschlüssel gebunden ist die Daten aus aus tblBuch anzeigt. Diese Kombi sollte gesperrt sein.
Auswahl-Kombifeld ("cmbBuchID"), das ungebunden ist und die o. g. Abfrage erhält. Die Breite dieses Kombis kann auf die Breite des Aufklapppfeiles reduziert werden. Bei seinem Ereignis "Nach Aktualisierung" steht die Prozedur:


Sub cmbBuchID_Afterupdate()
Me!BuchID=Me!cmbBuchID
End Sub


pyjamafreak

Hallo,

vielen Dank für Deine Geduld und Deine Posts. Ich hoffe, sie halten an...

was ich noch nicht hinbekomme ist die Abfrage: hatte zumindest eine, die auf zwei Abfragen basiert: Die erste filtert aus Websitebuch die IDs der Seiten raus, für das bereits ein bestimmtes Buch eingetragen ist. Die zweite vergleicht dann diese IDs ( in der Linkmanier) mit den IDs aus Tabelle Website und gibt die raus, die nicht darin auftauchen.

Zwei Abfragen- zwei Probleme: in das Kombifeld kann ich ja nur die zweite Abfrage einbinden, die allerdings immer noch eine manuelle Eingabe des Keywords benötigt. Wie kriege ich es hin, dass der Wert ausgelesen wird ??? Oder habe ich einen Denkfehler in der Abfrageformulierung?

DF6GL

Hallo,

am Besten lädst Du die Datei mal hier hoch...(vorher komprimieren und zippen).


pyjamafreak

#8
Hallo,

ok, habe die abgespeckte Version hochgeladen.

Hoffe mal nur, dass ich das jetzt irgendwie nachvollziehen kann, was du meinst. :-[

DF6GL

#9
Hallo,

anbei...


Situation: Eine Website wird bearbeitet und ihr Bücher zugeordnet.

schau Dir an:

die Tabellen, die Felder und ihre Benamsungen , die Indizierung der Tabelle tblWebsiteBuch
die Tabellenbeziehungen
die Kombis in frmWebsitebuch
den Code hinter den Kombis-(Ereignissen)
die Abfragen (Datensatzherkunft) für die Kombis

[Anhang gelöscht durch Administrator]

pyjamafreak

Hallo,

ich danke erstmal für Deine Mühe. Muss jetzt noch nachvollziehen, wie genau die Sache funktioniert, damit ich sie auch die Bücher übertragen kann. Kann ich mich noch mal dann an Dich wenden, wenn ich etwas nicht nachvollziehen kann?

Vorab schon mal herzlichen Dank.

DF6GL

Hallo,

die klassische Haupt-/Unterform-Konstruktion an sich  bedarf, denke ich mal, keiner weiteren Erläuterung.

Im Unterform besteht der Trick, immer nur die noch nicht eingetragenen Bücher (auf einer Website) zur Auswahl anzubieten, in der Verwendung von zwei Kombifeldern.


Eines, mit breitem und sichtbaren KombiTextfeld-Teil, das den Buchtitel (nur) anzeigt und an das Tabellen-Fremdschlüsselfeld in tblWebsiteBuch gebunden und gesperrt ist. Die Datensatzherkunft bezieht ALLE Bücher aus tblBuch, so dass
gewährleistet ist, dass für jede gespeicherte BUCHID in tblWebsiteBuch der entspr. Titel angeziegt werden kann.

Ein zweites, dessen Breite auf die Breite des Aufklapppfeiles reduziert ist, im Vordergrund liegt  und über dem Pfeil des vorher genannten Kombis liegt. Dieses Kombi hat eine Abfrage (SQL-String) erhalten, das nur diejenigen Bücher (aus tblBuch) für seine  Liste geliefert erhält, die noch nicht für diese Website eingetragen sind.  Bei der Auswahl aus dieser Liste wird per VBA die BUCHID an das Anzeige-Kombi übergeben.


pyjamafreak

Hallo,

sorry kam leider etwas länger nicht mehr dazu an der DB zu tüfteln. Aber nun gute Nachricht: ich habe es umsetzen können! Zwar hat mein Kombifeld beim Ausklappen ein kleines Layoutproblem, aber es funktioniert. ;D

Was allerdings nicht funktioniert ist die Abfrage für, ich bleibe bei deiner DB, die Bücher im Unterformular, die bei einer anderen Seite bereits eingetragen worden sind (Bsp: winnetou auf zvab eingetragen, lässt sich bei abebooks nicht nochmal auswählen). Wie kann man das noch beheben?

Andere Frage: lässt sich das Unterformular so einstellen, dass es bei Aufruf gleich zum neuesten Eintrag springt, damit man sich bei einer vielen Unterforumulareinträgen nicht nach unten scrollen muss?


pyjamafreak

#14
Hi,

es ist auch schon bei deiner DB so, soweit ich das sehe. Wenn ich bei einer Website ein Buch hinterlege, kann ich es auf dem nachfolgenden Websitedatensatz nicht noch einmal verwenden.

Wie kann ich denn hier im Forum etwas hochladen? Das habe ich mich das letzte Mal auch schon gefragt, ich sehe nämlich keine derartige Option in der Leiste.


P.S. Ok, doch noch gefunden. Manchmal bin ich einfach blind 8) Das mit dem Listenfeld scheint sich erledigt zu haben...

[Anhang gelöscht durch Administrator]