collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 56
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13993
  • stats Beiträge insgesamt: 66723
  • stats Themen insgesamt: 8994
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Kontextmenü oder Schaltfläche  (Gelesen 398 mal)

Offline Tally

  • Access-User
  • *
  • Beiträge: 74
Kontextmenü oder Schaltfläche
« am: Juli 22, 2018, 16:33:05 »
Hallo zusammen
Ich arbeite mit Access 2013 und suche folgende Lösung:
In einem Endlosformular habe ich die Daten eines einzelnen Mitarbeiters gefiltert, nachdem ich die Daten vorgängig in eine Transfer-Datenbank angefügt habe. In dieser Transfer-Datenbank möchte ich nun den Mitarbeiter-Code ändern, damit ich anschliessend die Daten wieder in die Haupttabelle zurück transferieren kann. Wie kann den suchen/ersetzen Befehl an eine Schaltfläche anbinden? Oder gibt es sogar eine einfachere Lösung ohne Transfer, also Mitarbeiter suchen und direkt mittels Befehl die Datensätze kopieren und den Mitarbeiter-Code ändern? Mit Codes bin ich nur bedingt auf der Höhe, ich mache die meisten Befehle mit Makros, ich bin Euch also für eine "laiengerechte" Sprache dankbar.

Vielen Dank im Voraus für Eure Hilfe; Gruss René
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7311
Re: Kontextmenü oder Schaltfläche
« Antwort #1 am: Juli 22, 2018, 16:57:12 »
Hallo,
die Daten musst Du mit Sicherheit nicht übertragen.
Zitat
Oder gibt es sogar eine einfachere Lösung ohne Transfer, also Mitarbeiter suchen und direkt mittels Befehl die Datensätze kopieren und den Mitarbeiter-Code ändern?
Ja, eine einfache Aktualisierungsabfrage kann das kurz und schmerzlos. Ohne Suchen und Ersetzen und ohne VBA.
Warum willst Du überhaupt ganze Datensätze kopieren nur um ein Feld zu ändern ?
Was ist überhaupt der Mitarbeiter-Code?
Erzähle mal was zum Hintergrund des Vorhabens.
« Letzte Änderung: Juli 22, 2018, 17:06:11 von MzKlMu »
Gruß
Klaus
 

Offline Tally

  • Access-User
  • *
  • Beiträge: 74
Re: Kontextmenü oder Schaltfläche
« Antwort #2 am: Juli 22, 2018, 17:40:52 »
nun, der Mitarbeitercode setzt sich aus drei  Buchstaben Vor- und Nachname zusammen und gibt den eindeutigen Schlüssel ohne Kopie. Ich erfasse pro Mitarbeiter 9 verschiedene Ziele mit den dazu gehörenden Werten. Damit ich nicht für alle 12 Mitarbeiter alle 9 Ziele jeweils erfassen muss, möchte ich diese, einmal erfasst, auf so viele Mitarbeiter kopieren, welche dieselben Ziele haben. So müsste ich bei 4 verschiedenen Zielklassen alles maximal 4x statt 12 mal erfassen.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7311
Re: Kontextmenü oder Schaltfläche
« Antwort #3 am: Juli 22, 2018, 18:01:06 »
Hallo,
jeder Mitarbeiter wird grundsätzlich nur 1x erfasst.
Die Ziele müssen in einer extra Tabelle mit einem Fremdschlüssel zum Mitarbeiter.
Die Ziele sind in dieser extra Tabelle als je ein Datensatz zu erfassen.
Sind die 9 Ziele für alle Mitarbeiter gleich ?
Sind die Ziele als fester Text vorhanden, oder sind die Ziele Freitext?
Die Mitarbeiter haben doch über der Zeit (also z.B. nächstes Jahr) andere/neue Ziele,
wie werden die erfasst ?

Zeige mal ein Bild des Beziehungsfensters.
Gruß
Klaus
 

Offline Tally

  • Access-User
  • *
  • Beiträge: 74
Re: Kontextmenü oder Schaltfläche
« Antwort #4 am: Juli 22, 2018, 18:39:21 »
Hallo Klaus
Ich habe die Tabelle Mitarbeiter und die Tabelle Ziele, verbunden über den Mitarbeitercode. In der Tabelle Ziele ist neben dem MA-Code das Zieljahr, die Zielart, die Zielgrösse und dann Jan - Dez für die laufenden Ziele drinn. Die Zielart und -grösse muss ich einmal pro Jahr erfassen, über das Zieljahr steuere ich dann das Eingabeformular für die laufenden Monatszielerreichungen.
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7311
Re: Kontextmenü oder Schaltfläche
« Antwort #5 am: Juli 22, 2018, 18:47:51 »
Hallo,
den Aufbau verstehe ich nicht. Du hast doch gesagt Du hast 9 Ziele, wie wird das abgebildet ?

Hast Du keine Beziehungen angelegt, weil Du kein Beziehungsbild zeigst ?
Gruß
Klaus
 

Offline Tally

  • Access-User
  • *
  • Beiträge: 74
Re: Kontextmenü oder Schaltfläche
« Antwort #6 am: Juli 22, 2018, 18:58:42 »
Anbei der Printscreen meiner Beziehung Mitarbeiter und Ziele, gibt dies den gewünschten Aufschluss?
Gruss René
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7311
Re: Kontextmenü oder Schaltfläche
« Antwort #7 am: Juli 22, 2018, 19:22:57 »
Hallo,
nicht ganz, wie erfasst Du jetzt die 9 Ziele, gibt das dann 9 Datensätze bei den Zielbuchungen ?
Und meine Frage von weiter oben:
Zitat
Sind die Ziele als fester Text vorhanden, oder sind die Ziele Freitext?

Das Datenmodell würde eigentlich einer gründlichen Überarbeitung bedürfen.

Warum nennt man eine Tabelle die die Mitarbeiterdaten enthält Adressen ?
Was machst Du wenn sich mal eine Adresse ändert ? Üblicherweise werden ja dann die alten Adressen noch benötigt ?
Das Feld "Zielerreichung in Prozent" gehört doch nicht zu den Adressen.
Die Monate sind in einer extra Tabelle als je ein Datensatz zu erfassen.
Leer und Sonderzeichen in Feldnamen machen nur Schereien und ein Haufen zusätzlicher Arbeit.
Wenn man schon einen Zähler hat, so macht man den zum PS und nicht den MA_Code. Texte sind als PS ohnehin nicht so geeignet. Ein Schlüsselfeld sollte eine Zahl sein. Bei einer Bezeihung stellt man grundsätzlich referentielle Integrität ein.
Da gäbe es bestimmt noch viel mehr zu kritisieren wenn man alle Zusammenhänge kennen würde.

Wenn das korrekt aufgebaut ist, so muss überhaupt nichts kopiert werden es sind nur die 12 Datensätze eines Jahres an die (fehlende) Tabelle für die Istwerte anzufügen mit einem Fremdschlüssel für die Buchungen (die dann alle Felder außer den Monaten enthält).
Gruß
Klaus
 

Offline Tally

  • Access-User
  • *
  • Beiträge: 74
Re: Kontextmenü oder Schaltfläche
« Antwort #8 am: Juli 22, 2018, 19:42:01 »
Dann versuch ich mal aufzuarbeiten:
Warum nennt man eine Tabelle die die Mitarbeiterdaten enthält Adressen ? Nun ich denke die Tabellenbezeichnung hat auf die Arbeitsweise keinen primären Einfluss; Ich brauche hier jeweils nur den Ist-Stand der Adressen, Historie ist für meinen Bereich nicht erforderlich.
Das Feld "Zielerreichung in Prozent" gehört doch nicht zu den Adressen. Ueblicherweise nicht, hier wird aber ein vertragliches Thema, welches unabhängig von den Zieltabellen ist, festgehalten.
Die Monate sind in einer extra Tabelle als je ein Datensatz zu erfassen. Das verstehe ich nicht; da ich die Ziele ja über das Buchungsjahr festlege. Ich geb mal ein kurzes Beispiel eines fertigen Datensatzes:

MA-Müller     2018       Rote Schachteln       50 Stk         Jan 3      Feb 7    März 8  etc

MA-Müller     2018     Blaue Schachteln      20 Stk         Jan 0      Feb 2    März 5  etc

Da gäbe es bestimmt noch viel mehr zu kritisieren wenn man alle Zusammenhänge kennen würde. Da hast Du sicher Recht, Ziel meiner Anfrage war jedoch nicht, möglichst viel Kritik an der für meine Verhältnisse funktionierendem Struktur zu erhalten, sondern eine Lösung für mein Problem, 9 Datensätze Müller mit möglichst wenig Aufwand zu kopieren und als neue 9 Datensätze Meier zu definieren.

Gruss René



 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7311
Re: Kontextmenü oder Schaltfläche
« Antwort #9 am: Juli 22, 2018, 20:07:21 »
Hallo,
Zitat
sondern eine Lösung für mein Problem, 9 Datensätze Müller mit möglichst wenig Aufwand zu kopieren und als neue 9 Datensätze Meier zu definieren.
kein Problem.
Eine Anfügeabfrage mit Müller als Kriterium und anschließend eine Aktualisierungsabfrage die in den 9 angefügten Datensätzen den Müller in Meier ändert. Über den Zähler kannst Du die 9 angefügten Datensätze erkennen.

Gruß
Klaus
 

Offline Tally

  • Access-User
  • *
  • Beiträge: 74
Re: Kontextmenü oder Schaltfläche
« Antwort #10 am: Juli 22, 2018, 20:20:32 »
Danke Dir, nur wie stelle ich es an, dass ich nur die 9 angefügten neuen Datensätze ändere und nicht alle 18 (die ersten 9 Müller und die zweiten 9 Müller), womit ich ja aktuell dann jedes Ziel von Müller doppelt habe? Hier nochmals mein Hinweis vom ersten Post: ich bin kein Access-Profi und brauch 2 - 3 ergänzende Worte mehr  :)
Danke
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7311
Re: Kontextmenü oder Schaltfläche
« Antwort #11 am: Juli 22, 2018, 23:53:24 »
Hallo,
Anfügeabfrage zum Kopieren:
INSERT INTO Zielbuchungen ( [MA-Code], Buchungsjahr, Zielart )
SELECT [MA-Code], Buchungsjahr, Zielart
FROM Zielbuchungen
WHERE [MA-Code]="Müller"

Anschließend mit Auswahlabfrage die neuesten 9 DS ermitteln.
Abfrage speichern als "qryNeue"
SELECT TOP 9 Zähler, [MA-Code]
FROM Zielbuchungen
ORDER BY Zähler DESC
Dies Abfrage ist Datenbasis für die Aktualisierungsabfrage.
UPDATE qryNeue SET [MA-Code] = "Meier"
Was ich von dem Vorhaben halte habe ich ja schon gesagt. Es ist nicht zu empfehlen und in einer korrekt normaliserten Datenbank wäre das in der Form ersatzlos überflüssig.

Zitat
Ziel meiner Anfrage war jedoch nicht, möglichst viel Kritik an der für meine Verhältnisse funktionierendem Struktur zu erhalten,
Ein Access Foum in dem ein falsches Datenmodell nicht kritisiert wird wäre ein schlechtes Forum. Du wirst Dich also daran gewöhnen müssen, dass die Hinweise immer wieder kommen (nicht nur von mir) wenn Du weitere Fragen hast.
Auch in Deinen anderen Themen war ja das Datenmodell schon Thema, aber da hast Du Dich ja auch nicht beeinflussen lassen. Du wirst auch immer wieder auf Probleme stoßen im weiteren Verlauf der Entwicklung der DB.
Aber egal, Du hast ja jetzt einen Vorschlag.
Gruß
Klaus
 

Offline Tally

  • Access-User
  • *
  • Beiträge: 74
Re: Kontextmenü oder Schaltfläche
« Antwort #12 am: Juli 23, 2018, 00:19:52 »
Hallo Klaus
Besten Dank für Unterstützung. Es ist mir klar, dass Ihr im Rahmen des Forums nur das Beste geben wollt und dies wird unter Profis und Semiprofis bestimmt erwartet und entsprechend geschätzt. Als Amateur sind die Erwartungen aber vermutlich meistens bescheidener, da reichen in der Regel einige Codezeilen, welche das geschilderte Problem lösen. Ich geh ja mal davon aus, dass es nicht Aufgabe eines Forums sein kann, strukturelle Aufbauhilfe zu leisten, da dies den Rahmen wohl sprengen würde. Und die Lösungen (ich spreche hier natürlich nur für mich) müssen nur im beschriebenen Bereich funktionieren und dies schaff ich nun doch auch schon seit rund 20 Jahren, obwohl ich Access nur als Amateur zu Rate ziehe. Also nochmals danke für Deine Hilfe und ich nehme gerne auch nächstes Mal Kritik entgegen, die mich weiterbringt.
Gruss René
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7311
Re: Kontextmenü oder Schaltfläche
« Antwort #13 am: Juli 23, 2018, 00:34:46 »
Hallo,
Zitat
Ich geh ja mal davon aus, dass es nicht Aufgabe eines Forums sein kann, strukturelle Aufbauhilfe zu leisten,
doch, davon kannst Du ausgehen. Und wenn Du Dir mal einige Themen ansiehst, wirst Du sehen, dass es in vielen Themen um die Struktur geht. Gerade die Struktur ist ja das A+O einer Datenbank.
Zitat
und ich nehme gerne auch nächstes Mal Kritik entgegen, die mich weiterbringt.
Du nimmst Sie ja nur entgegen und nimmst nichts an. Daher wird es Dich auch nicht wirklich weiter bringen.
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1805
Re: Kontextmenü oder Schaltfläche
« Antwort #14 am: Juli 23, 2018, 15:44:07 »
Hallo,
Sorry, aber ich muss leider auch noch mal in die Kerbe schlagen.
Zitat
da reichen in der Regel einige Codezeilen, welche das geschilderte Problem lösen
Welche mit einer durchdachten, datenbankkonformen Struktur meist
gar nicht auftauchen und somit auch keinen Code erfordern würden.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.