Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Excel Sheet als Formular in Access einbinden

Begonnen von Naz, November 03, 2019, 05:10:07

⏪ vorheriges - nächstes ⏩

Naz

Hallo Community!
Mein Weg hat mich zu euch geführt, weil naja, sagen wir mal ich recht verzweifelt bin :D . Es ist schon einige Zeit her das ich mit Access gearbeitet habe und benötige eure Hilfe.
Es geht um folgendes, ich habe von meinem Chef eine Excel Datei bekommen, die ich in eine Datenbank einfügen muss, damit diese immer von denen abrufbar ist. Ich habe mir schon etliche basic Videos angeschaut, aber nicht das gefunden wonach ich gesucht habe. Alternativ habe ich das falsche Schlagwort benutzt. Um es mal zu verdeutlichen, es geht um ein Projekt, wo wir Messwerte eintragen müssen. Das würde wie folgt aussehen:

Mitarbeiter : Name o. ID 
Produkt : (Name des Produkts)
Raum : (z.b. Raum 1-5)
Datum : Zeit
Temperatur : (einzutragen in Celsius) <-- daneben gibts noch 2 Felder für Werte und ein Feld für einen Kommentar
Bodenfeuchtigkeit : (in Prozent)         <-- daneben gibts noch 2 Felder für Werte und ein Feld für einen Kommentar
Meilenstein: (1-5)

Da kommt halt noch viel mehr dazu, aber das sollte zum generellen Verständnis dienen. Es geht mir halt darum, ich trage in einer Tabelle alle Mitarbeiter ein, dann in einer anderen die ganzen Produkte und nun kommen wir zu dem was mich wahnsinnig macht:
Ich möchte ein Formular erstellen, wo ich den Mitarbeiter, der gerade dran ist, sich auswählen kann, den Raum auswählt und die relevanten Meßergebnisse einträgt (und sonstige relevanten Daten die anfallen).
Wie kriege ich das hin, das diese Daten abrufbar gespeichert werden die an diesem Datum erfasst wurden ? Ich möchte das ganze auch so haben, das ich die Tage ausdrucken kann die gemessen wurden oder zum Beispiel ich eine Grafik für den Temperaturverlauf habe. Jeder Meilenstein soll ein eigenständiges Formular haben (eine Auswahl).
Wie erstelle ich sowas am besten ? Gibts da ein Begriff für ? und wie verlinke ich die Tabellen am besten...soviele Fragen.
Ich weiss leider echt nicht mehr weiter, für Hilfe wäre ich extrem dankbar :)

MfG !

DF6GL

#1
Hallo und willkommen im Forum.




Da hast Du wohl die falschen Videao geschaut.  ;)  Der Tabellenaufbau ist als klassisch einzustufen.

Die Excel-Tabelle ist, wenn Du Access benutzen willst, lediglich als Datenimport-Medium anzusehen. Die Daten aus der Excel-Datei können

-- durch Transferspreadsheet in eine Access-Tabelle importiert werden.
-- durch Verknüpfung als "externes XLS-Sheet" daraus ausgelesen und weiter verarbeitet werden.
-- durch ein SQL-Statement in eine Access-Tabelle eingelesen werden.
-- durch Excel-Automation  importiert werden.


Als erstes schau Dir die Links 1, 1a und 1b in meiner Signatur an.

weiterhin:

benutze aussagekräftige und eindeutige Benamsung, dabei vermeide Sonder- und Leerzeichen in Namen und benutz keine reservierten Wörter (--> "Name" z. B.)

ZitatMitarbeiter : Name o. ID 

"Oder" gibt es nicht für ein bestimmtes definiertes Feld.  Entweder beinhaltet es den Namen des MAs, dann sollte es auch z. B. "MA_Name" heißen oder es beinhaltet die "ID"  (Personalnummer ?), dann hieße es "MA_PerNr" mit eindeutigen Index, bzw. hieße es "MAID", wenn es sich um den Primärschlüssel handelte.

Solche Benamsung gilt auch für die anderen Felder.

ZitatTemperatur : (einzutragen in Celsius) <-- daneben gibts noch 2 Felder für Werte und ein Feld für einen Kommentar

Wie ist das zu verstehen? Warum gibst Du diese Beschreibung bezüglich des Feldes "Temperatur" (bzw. "Bodenfeuchtigkeit") ?  Sind das evtl. Mehrwertfelder?

Wenn so,  entferne diese Mehrwertfelder aus der Tabelle.

Bevor Du an Formulare denkst, sollte (muss!) der Tabellenaufbau stimmig sein.  Du brauchst in diesem Fall (mindestens) 3 Tabellen:



tbl_Mitarbeiter

MAID (Autowert, Primärschlüssel)
MA_PersNr (Text, evtl. Zahl bei reinen Ziffern ohne führende Null)
MA_Vorname  (Text)
MA_Nachname (Text)
...weitere Felder, die eine Person beschreiben


tbl_Produkte

ProdID (Autowert, Primärschlüssel)
Prod_Name (Text)
.... weitere Felder, die ein Produkt als solches vollumfänglich beschreiben.



tbl_Messungen

MessID (Autowert, Primärschlüssel)
Mess_MAID_f  (Long, Fremdschlüsselfeld für Primärschlüssel aus tbl_Mitarbeiter)
Mess_ProdID_f  (Long, Fremdschlüsselfeld für Primärschlüssel aus tbl_Produkte)
Mess_RaumNr (Long)
Mess_Datum (Datum/Uhrzeit)
Mess_Temperatur (Double)   ' hier ist "daneben gibts noch 2 Felder für Werte"  unklar, evtl. :
                                           Mess_Temperatur1 (Double)
                                           Mess_Temperatur2 (Double) ' falls es immer und ewig bei zwei Mess-Temperaturen bleibt. Sonst braucht es hier eine weitere Tabelle.

Mess_Bodenfeuchtigkeit  (Double)  ' hier gilt das Gleiche wie bei Mess_Temperatur
Mess_Meilenstein  (Long)


Beziehungen (über die Schlüsselfelder!):
tbl_Mitarbeiter-(MAID)     ---1:n---    (Mess_MAID_f)-tbl_Messungen-(Mess_ProdID_f)     ---n:1---      (ProdID)-tbl_Produkte


Erst wenn, wie gesagt, der Tabellenaufbau die Situation korrekt abbildet, kannst Du Dir  Gedanken über Formulare (nicht nur Datenzeige/pflege, auch über eine sinnvolle Ablaufsteuerung) und Auswertungen machen.

Naz

Hiho! Danke nochmal für die flotte Antwort. Ich habe mich vielleicht etwas dumm ausgedrückt, mir ging es im prinzip um folgendes:

ZitatMess_Temperatur (Double)   ' hier ist "daneben gibts noch 2 Felder für Werte"  unklar, evtl. :
                                           Mess_Temperatur1 (Double)
                                           Mess_Temperatur2 (Double) ' falls es immer und ewig bei zwei Mess-Temperaturen bleibt. Sonst braucht es hier eine weitere Tabelle.

Mess_Bodenfeuchtigkeit  (Double)  ' hier gilt das Gleiche wie bei Mess_Temperatur
Mess_Meilenstein  (Long)

Das sieht in Excel folgendermaßen aus (so will ich es ja auch in die DB einfügen, quasi komplett neu ohne import)

                       Morgens     Abends    Kommentar
Temperatur         24c            18c          alles ok

so möchte ich das eintragen können, nur es war mir nicht klar wie ich die Tabelle dafür Strukturieren muss. Das andere wird wie du schon richtig gezeigt hast, von oben nach unten einfach runtergerasselt.

Ich habe jetzt aber nur diese Unterpunkte wie "Temperatur, Bodenfeuchtigkeit" etc. mit diesen 3 reitern "Morgens, Abends, Kommentar". Und genau das ist es , was mir momentan Probleme macht und ich nicht weiss, wie man das macht. Oder muss ich 3 Tabellen machen , welche "Morgens, Abends, Kommentar" lauten und da nochmal alles einfügen ?

Vielen Dank nochmal für die Hilfe.

Gruß
Holger

DF6GL

Hallo,
Zitat
Das sieht in Excel folgendermaßen aus (so will ich es ja auch in die DB einfügen, quasi komplett neu ohne import)

                       Morgens     Abends    Kommentar
Temperatur         24c            18c          alles ok



vergiss das. Wir bewegen uns hier in Access und Excel ist damit nicht gefragt (außer wie gesagt für Datenimporte)

Wenn Du weiter  auf dieser Vorstellung beharrst, wird das nix...

Zitatso möchte ich das eintragen können, nur es war mir nicht klar wie ich die Tabelle dafür Strukturieren muss


Habe ich auch dargestellt:

ZitatMess_Temperatur (Double)   ' hier ist "daneben gibts noch 2 Felder für Werte"  unklar, evtl. :
                                           Mess_Temperatur1 (Double)
                                           Mess_Temperatur2 (Double)

etwas angepaßt an Deine Erklärung:


tbl_Messungen:
.
.
Mess_TempMorgen (Double)
Mess_TempAbend (Double)
Mess_TempNotiz  (Text, oder Langer Text/Memo, wenn viel Prosa geschrieben wird)
Mess_BodenfeuchteMorgen (Double)
Mess_BodenfeuchteAbend (Double)
Mess_BodenfeuchteNotiz (Text, oder Langer Text/Memo, wenn viel Prosa geschrieben wird)
.
.